From ad423b7ccc0c42c2ed557d1bac7cdcf175d18dcf Mon Sep 17 00:00:00 2001 From: kddejong <36457093+kddejong@users.noreply.github.com> Date: Sat, 11 Jan 2025 16:03:28 +0000 Subject: [PATCH] CloudFormation Template Schema upgrade https://github.com/aws-cloudformation/cloudformation-template-schema/tree/main --- server/schema/resources.schema.json | 18997 +++++++++------- .../aws-accessanalyzer-analyzer.json | 79 +- .../schema/resources/aws-amazonmq-broker.json | 12 +- .../resources/aws-amazonmq-configuration.json | 3 +- .../aws-amplifyuibuilder-component.json | 6 +- .../resources/aws-amplifyuibuilder-form.json | 13 +- .../resources/aws-amplifyuibuilder-theme.json | 6 +- .../resources/aws-apigateway-account.json | 4 +- .../resources/aws-apigateway-apikey.json | 36 +- .../resources/aws-apigateway-authorizer.json | 40 +- .../aws-apigateway-basepathmapping.json | 16 +- .../aws-apigateway-basepathmappingv2.json | 95 + .../aws-apigateway-clientcertificate.json | 8 +- .../resources/aws-apigateway-deployment.json | 84 +- .../aws-apigateway-documentationpart.json | 32 +- .../aws-apigateway-documentationversion.json | 12 +- ...pigateway-domainnameaccessassociation.json | 116 + .../aws-apigateway-domainnamev2.json | 140 + .../aws-apigateway-gatewayresponse.json | 20 +- .../resources/aws-apigateway-method.json | 140 +- .../resources/aws-apigateway-model.json | 16 +- .../aws-apigateway-requestvalidator.json | 16 +- .../resources/aws-apigateway-resource.json | 12 +- .../resources/aws-apigateway-restapi.json | 44 +- .../resources/aws-apigateway-stage.json | 104 +- .../resources/aws-apigateway-usageplan.json | 60 +- .../aws-apigateway-usageplankey.json | 4 +- .../resources/aws-apigateway-vpclink.json | 12 +- .../aws-apigatewayv2-domainname.json | 8 +- .../resources/aws-appconfig-application.json | 9 +- .../aws-appconfig-configurationprofile.json | 60 +- .../resources/aws-appconfig-deployment.json | 219 +- .../aws-appconfig-deploymentstrategy.json | 135 +- .../resources/aws-appconfig-environment.json | 52 +- .../resources/aws-appconfig-extension.json | 19 +- .../aws-appconfig-extensionassociation.json | 19 +- ...-applicationautoscaling-scalingpolicy.json | 440 +- .../aws-applicationinsights-application.json | 8 + ...licationsignals-servicelevelobjective.json | 33 + server/schema/resources/aws-appsync-api.json | 363 + .../aws-appsync-channelnamespace.json | 204 + .../resources/aws-appsync-datasource.json | 225 +- .../resources/aws-appsync-graphqlapi.json | 268 +- server/schema/resources/aws-aps-scraper.json | 10 +- .../aws-autoscaling-autoscalinggroup.json | 802 +- .../aws-autoscaling-scalingpolicy.json | 12 + .../resources/aws-autoscaling-warmpool.json | 3 + .../schema/resources/aws-b2bi-capability.json | 291 +- .../resources/aws-b2bi-partnership.json | 169 +- server/schema/resources/aws-b2bi-profile.json | 7 +- .../resources/aws-b2bi-transformer.json | 447 +- .../resources/aws-backup-backupplan.json | 7 +- .../resources/aws-backup-backupselection.json | 3 +- .../resources/aws-backup-backupvault.json | 7 +- .../resources/aws-backup-framework.json | 7 +- ...-backup-logicallyairgappedbackupvault.json | 166 + .../resources/aws-backup-reportplan.json | 7 +- .../aws-backup-restoretestingplan.json | 7 +- .../aws-backup-restoretestingselection.json | 3 +- .../aws-batch-computeenvironment.json | 44 +- .../resources/aws-batch-jobdefinition.json | 1013 +- .../schema/resources/aws-batch-jobqueue.json | 6 +- .../schema/resources/aws-bedrock-agent.json | 19 +- ...s-bedrock-applicationinferenceprofile.json | 247 + .../resources/aws-bedrock-datasource.json | 64 +- server/schema/resources/aws-bedrock-flow.json | 59 +- .../resources/aws-bedrock-flowversion.json | 55 +- .../resources/aws-bedrock-knowledgebase.json | 106 +- .../schema/resources/aws-bedrock-prompt.json | 359 +- .../resources/aws-bedrock-promptversion.json | 26 +- .../resources/aws-cassandra-keyspace.json | 32 +- .../schema/resources/aws-cassandra-table.json | 13 + .../schema/resources/aws-cassandra-type.json | 135 + .../resources/aws-chatbot-customaction.json | 226 + ...ot-microsoftteamschannelconfiguration.json | 32 +- ...aws-chatbot-slackchannelconfiguration.json | 32 +- .../aws-cleanrooms-analysistemplate.json | 17 +- .../aws-cleanrooms-collaboration.json | 95 +- .../aws-cleanrooms-configuredtable.json | 179 +- ...cleanrooms-configuredtableassociation.json | 4 +- .../resources/aws-cleanrooms-membership.json | 48 + .../aws-cloudformation-customresource.json | 4 + .../aws-cloudformation-guardhook.json | 382 + .../aws-cloudformation-lambdahook.json | 349 + .../aws-cloudformation-publictypeversion.json | 5 +- .../aws-cloudformation-publisher.json | 5 +- .../aws-cloudformation-typeactivation.json | 2 +- .../aws-cloudfront-anycastiplist.json | 175 + .../resources/aws-cloudfront-cachepolicy.json | 78 +- ...dfront-cloudfrontoriginaccessidentity.json | 14 +- ...cloudfront-continuousdeploymentpolicy.json | 72 +- .../aws-cloudfront-distribution.json | 147 +- .../resources/aws-cloudfront-function.json | 45 +- .../resources/aws-cloudfront-keygroup.json | 20 +- .../aws-cloudfront-keyvaluestore.json | 24 +- ...aws-cloudfront-monitoringsubscription.json | 22 +- .../aws-cloudfront-originaccesscontrol.json | 25 +- .../aws-cloudfront-originrequestpolicy.json | 56 +- .../resources/aws-cloudfront-publickey.json | 23 +- .../aws-cloudfront-realtimelogconfig.json | 34 +- .../aws-cloudfront-responseheaderspolicy.json | 218 +- .../resources/aws-cloudtrail-dashboard.json | 269 + .../resources/aws-cloudtrail-trail.json | 588 +- .../resources/aws-cloudwatch-alarm.json | 7 +- .../aws-cloudwatch-compositealarm.json | 7 +- .../schema/resources/aws-codebuild-fleet.json | 140 +- .../resources/aws-codebuild-project.json | 4 + .../resources/aws-codedeploy-application.json | 6 +- .../aws-codeguruprofiler-profilinggroup.json | 17 +- .../resources/aws-codepipeline-pipeline.json | 57 +- .../aws-cognito-managedloginbranding.json | 178 + .../resources/aws-cognito-userpool.json | 42 +- .../resources/aws-cognito-userpooldomain.json | 4 + .../aws-cognito-userpoolidentityprovider.json | 103 +- .../aws-comprehend-documentclassifier.json | 6 +- .../resources/aws-config-storedquery.json | 7 +- .../resources/aws-connect-contactflow.json | 12 +- .../aws-connect-contactflowmodule.json | 7 +- .../resources/aws-connect-emailaddress.json | 155 + .../resources/aws-connect-evaluationform.json | 7 +- .../aws-connect-hoursofoperation.json | 378 +- .../schema/resources/aws-connect-queue.json | 326 +- server/schema/resources/aws-connect-rule.json | 200 +- .../resources/aws-connect-tasktemplate.json | 11 +- .../resources/aws-connect-viewversion.json | 3 +- .../aws-connectcampaignsv2-campaign.json | 858 + .../aws-controltower-enabledcontrol.json | 7 +- .../aws-controltower-landingzone.json | 5 + .../aws-customerprofiles-eventtrigger.json | 400 + .../aws-customerprofiles-integration.json | 14 + ...ws-customerprofiles-segmentdefinition.json | 617 + .../resources/aws-databrew-dataset.json | 33 +- server/schema/resources/aws-databrew-job.json | 13 +- .../resources/aws-databrew-project.json | 13 +- .../schema/resources/aws-databrew-recipe.json | 13 +- .../resources/aws-databrew-ruleset.json | 13 +- .../resources/aws-databrew-schedule.json | 13 +- .../resources/aws-datasync-storagesystem.json | 7 +- .../schema/resources/aws-datasync-task.json | 12 +- .../resources/aws-datazone-datasource.json | 49 +- .../schema/resources/aws-datazone-domain.json | 11 +- .../aws-datazone-projectmembership.json | 7 +- .../aws-datazone-subscriptiontarget.json | 3 +- .../schema/resources/aws-deadline-fleet.json | 50 + .../aws-devopsguru-notificationchannel.json | 3 + .../resources/aws-dms-datamigration.json | 240 + .../resources/aws-dms-dataprovider.json | 203 +- .../resources/aws-dms-instanceprofile.json | 9 +- .../resources/aws-dms-migrationproject.json | 9 +- .../aws-dms-replicationinstance.json | 4 + .../schema/resources/aws-docdb-dbcluster.json | 36 +- .../resources/aws-dynamodb-globaltable.json | 49 + .../schema/resources/aws-dynamodb-table.json | 70 +- .../aws-ec2-capacityreservation.json | 8 + .../resources/aws-ec2-carriergateway.json | 18 +- .../resources/aws-ec2-customergateway.json | 2 +- server/schema/resources/aws-ec2-ec2fleet.json | 1024 +- server/schema/resources/aws-ec2-eip.json | 18 +- ...-enclavecertificateiamroleassociation.json | 6 +- server/schema/resources/aws-ec2-flowlog.json | 6 +- .../resources/aws-ec2-launchtemplate.json | 216 +- .../schema/resources/aws-ec2-networkacl.json | 2 +- .../aws-ec2-networkinsightsaccessscope.json | 11 + .../aws-ec2-networkinsightspath.json | 11 + .../resources/aws-ec2-networkinterface.json | 408 +- .../aws-ec2-securitygroupvpcassociation.json | 93 + .../schema/resources/aws-ec2-spotfleet.json | 44 +- .../aws-ec2-transitgatewayroutetable.json | 19 +- .../aws-ec2-verifiedaccessendpoint.json | 25 +- .../aws-ec2-verifiedaccessgroup.json | 7 +- .../aws-ec2-verifiedaccessinstance.json | 7 +- .../aws-ec2-verifiedaccesstrustprovider.json | 7 +- server/schema/resources/aws-ec2-volume.json | 204 +- ...aws-ec2-vpcblockpublicaccessexclusion.json | 141 + .../aws-ec2-vpcblockpublicaccessoptions.json | 64 + .../resources/aws-ec2-vpccidrblock.json | 8 +- .../schema/resources/aws-ec2-vpcendpoint.json | 226 +- ...ec2-vpcendpointconnectionnotification.json | 104 +- .../resources/aws-ec2-vpcendpointservice.json | 60 +- ...aws-ec2-vpcendpointservicepermissions.json | 64 +- .../resources/aws-ec2-vpnconnection.json | 366 +- .../aws-ecr-repositorycreationtemplate.json | 9 +- .../resources/aws-ecs-capacityprovider.json | 78 +- server/schema/resources/aws-ecs-cluster.json | 11 +- ...s-clustercapacityproviderassociations.json | 3 +- server/schema/resources/aws-ecs-service.json | 98 +- .../resources/aws-ecs-taskdefinition.json | 81 +- server/schema/resources/aws-ecs-taskset.json | 305 +- .../schema/resources/aws-efs-accesspoint.json | 9 +- .../schema/resources/aws-efs-filesystem.json | 46 +- .../schema/resources/aws-eks-accessentry.json | 6 +- server/schema/resources/aws-eks-cluster.json | 811 +- .../schema/resources/aws-eks-nodegroup.json | 18 + ...ws-elasticache-globalreplicationgroup.json | 5 + .../aws-elasticache-replicationgroup.json | 7 +- .../aws-elasticache-serverlesscache.json | 12 +- .../resources/aws-elasticache-user.json | 10 +- .../aws-elasticbeanstalk-environment.json | 11 +- .../aws-elasticloadbalancingv2-listener.json | 17 +- ...s-elasticloadbalancingv2-listenerrule.json | 4 +- ...s-elasticloadbalancingv2-loadbalancer.json | 363 +- server/schema/resources/aws-emr-cluster.json | 81 +- .../aws-emr-instancefleetconfig.json | 78 +- server/schema/resources/aws-emr-studio.json | 8 +- .../aws-emr-studiosessionmapping.json | 27 +- .../resources/aws-emr-walworkspace.json | 7 +- .../aws-emrcontainers-virtualcluster.json | 14 +- .../aws-emrserverless-application.json | 34 +- ...ws-entityresolution-idmappingworkflow.json | 5 + .../aws-entityresolution-idnamespace.json | 7 +- ...aws-entityresolution-matchingworkflow.json | 7 +- .../aws-entityresolution-schemamapping.json | 7 +- .../resources/aws-events-apidestination.json | 13 +- .../schema/resources/aws-events-archive.json | 10 +- .../resources/aws-events-connection.json | 88 +- .../resources/aws-fis-experimenttemplate.json | 83 + .../schema/resources/aws-fsx-filesystem.json | 22 + .../schema/resources/aws-gamelift-alias.json | 2 +- .../aws-gamelift-containerfleet.json | 660 + ...aws-gamelift-containergroupdefinition.json | 737 +- .../schema/resources/aws-gamelift-fleet.json | 90 +- .../resources/aws-gamelift-location.json | 9 +- ...aws-gamelift-matchmakingconfiguration.json | 9 +- .../aws-gamelift-matchmakingruleset.json | 9 +- server/schema/resources/aws-glue-crawler.json | 238 +- .../schema/resources/aws-glue-registry.json | 15 +- server/schema/resources/aws-glue-schema.json | 18 +- .../resources/aws-groundstation-config.json | 12 + ...s-groundstation-dataflowendpointgroup.json | 19 + .../aws-groundstation-missionprofile.json | 12 + .../resources/aws-guardduty-detector.json | 15 +- .../schema/resources/aws-guardduty-ipset.json | 15 +- .../aws-guardduty-threatintelset.json | 14 +- .../aws-healthlake-fhirdatastore.json | 22 +- .../resources/aws-iam-managedpolicy.json | 1 - .../resources/aws-iam-oidcprovider.json | 8 +- server/schema/resources/aws-iam-policy.json | 2 +- .../resources/aws-iam-samlprovider.json | 8 +- .../resources/aws-iam-servercertificate.json | 8 +- .../resources/aws-imagebuilder-component.json | 11 +- .../aws-imagebuilder-containerrecipe.json | 3 +- .../resources/aws-imagebuilder-image.json | 418 +- ...gebuilder-infrastructureconfiguration.json | 38 + .../resources/aws-imagebuilder-workflow.json | 6 +- .../aws-inspectorv2-cisscanconfiguration.json | 5 +- .../aws-internetmonitor-monitor.json | 8 +- .../resources/aws-invoicing-invoiceunit.json | 177 + server/schema/resources/aws-iot-command.json | 283 + .../aws-iot-domainconfiguration.json | 56 +- .../aws-iot-softwarepackageversion.json | 9 +- .../schema/resources/aws-iot-thingtype.json | 48 +- .../schema/resources/aws-iot-topicrule.json | 7 +- .../resources/aws-iot1click-device.json | 35 - .../resources/aws-iot1click-placement.json | 43 - .../resources/aws-iot1click-project.json | 58 - ...-iotcoredeviceadvisor-suitedefinition.json | 16 +- .../resources/aws-iotevents-alarmmodel.json | 316 +- .../aws-iotevents-detectormodel.json | 348 +- .../schema/resources/aws-iotevents-input.json | 47 +- .../resources/aws-iotfleetwise-campaign.json | 210 +- .../aws-iotfleetwise-decodermanifest.json | 752 +- .../aws-iotfleetwise-statetemplate.json | 184 + .../aws-iotsitewise-accesspolicy.json | 8 +- .../resources/aws-iotsitewise-dashboard.json | 16 +- .../resources/aws-iotsitewise-gateway.json | 320 +- .../resources/aws-iotsitewise-portal.json | 68 +- .../resources/aws-iotsitewise-project.json | 16 +- .../aws-iottwinmaker-componenttype.json | 7 +- .../resources/aws-iottwinmaker-entity.json | 7 +- .../resources/aws-iottwinmaker-scene.json | 7 +- .../resources/aws-iottwinmaker-syncjob.json | 7 +- .../resources/aws-iottwinmaker-workspace.json | 7 +- .../aws-iotwireless-destination.json | 19 +- .../aws-iotwireless-deviceprofile.json | 29 +- .../resources/aws-iotwireless-fuotatask.json | 17 +- .../aws-iotwireless-multicastgroup.json | 19 +- ...wireless-networkanalyzerconfiguration.json | 22 +- .../aws-iotwireless-partneraccount.json | 22 +- .../aws-iotwireless-serviceprofile.json | 29 +- .../aws-iotwireless-taskdefinition.json | 28 +- .../aws-iotwireless-wirelessdevice.json | 23 +- ...-iotwireless-wirelessdeviceimporttask.json | 40 +- .../aws-iotwireless-wirelessgateway.json | 23 +- .../aws-ivs-encoderconfiguration.json | 12 +- .../aws-ivs-ingestconfiguration.json | 178 + .../resources/aws-kafkaconnect-connector.json | 13 +- .../aws-kafkaconnect-customplugin.json | 7 +- .../aws-kafkaconnect-workerconfiguration.json | 7 +- server/schema/resources/aws-kendra-index.json | 5 +- .../resources/aws-kinesis-resourcepolicy.json | 73 + .../schema/resources/aws-kinesis-stream.json | 6 + .../aws-kinesisfirehose-deliverystream.json | 211 +- .../aws-lambda-eventinvokeconfig.json | 6 +- .../aws-lambda-eventsourcemapping.json | 75 +- .../schema/resources/aws-lambda-function.json | 38 +- .../resources/aws-lambda-permission.json | 4 +- .../schema/resources/aws-lambda-version.json | 19 - server/schema/resources/aws-lex-bot.json | 57 +- .../schema/resources/aws-location-apikey.json | 32 +- .../resources/aws-location-placeindex.json | 6 +- .../resources/aws-logs-accountpolicy.json | 20 +- .../schema/resources/aws-logs-delivery.json | 34 + .../aws-logs-deliverydestination.json | 8 + .../resources/aws-logs-integration.json | 175 + .../schema/resources/aws-logs-loggroup.json | 31 +- .../resources/aws-logs-metricfilter.json | 5 + .../resources/aws-logs-querydefinition.json | 11 + .../aws-logs-subscriptionfilter.json | 5 + .../resources/aws-logs-transformer.json | 726 + .../schema/resources/aws-m2-application.json | 1 - .../schema/resources/aws-m2-deployment.json | 135 + .../schema/resources/aws-m2-environment.json | 21 +- .../schema/resources/aws-macie-allowlist.json | 6 +- .../aws-macie-customdataidentifier.json | 9 +- .../resources/aws-macie-findingsfilter.json | 6 +- .../resources/aws-mediaconnect-bridge.json | 18 + .../aws-mediaconnect-bridgesource.json | 18 + .../resources/aws-mediaconvert-queue.json | 4 + .../resources/aws-medialive-channel.json | 305 +- .../aws-medialive-channelplacementgroup.json | 13 +- .../resources/aws-medialive-cluster.json | 12 +- .../schema/resources/aws-medialive-input.json | 71 +- .../resources/aws-medialive-network.json | 10 +- .../resources/aws-medialive-sdisource.json | 10 +- .../aws-mediapackage-originendpoint.json | 12 +- .../aws-mediapackagev2-originendpoint.json | 33 + .../resources/aws-memorydb-cluster.json | 31 +- .../aws-memorydb-multiregioncluster.json | 184 + server/schema/resources/aws-msk-cluster.json | 7 +- .../schema/resources/aws-msk-replicator.json | 7 +- .../resources/aws-msk-vpcconnection.json | 7 +- .../resources/aws-mwaa-environment.json | 4 +- .../aws-networkfirewall-firewallpolicy.json | 13 + ...anager-directconnectgatewayattachment.json | 270 + ...-networkmanager-transitgatewaypeering.json | 3 +- .../aws-nimblestudio-launchprofile.json | 438 +- .../aws-nimblestudio-streamingimage.json | 211 +- .../resources/aws-nimblestudio-studio.json | 192 +- .../aws-nimblestudio-studiocomponent.json | 501 +- server/schema/resources/aws-oam-link.json | 16 +- server/schema/resources/aws-oam-sink.json | 18 +- .../resources/aws-omics-annotationstore.json | 8 +- .../resources/aws-omics-referencestore.json | 7 +- .../schema/resources/aws-omics-rungroup.json | 8 +- .../resources/aws-omics-sequencestore.json | 7 +- .../resources/aws-omics-variantstore.json | 8 +- .../schema/resources/aws-omics-workflow.json | 8 +- ...s-opensearchserverless-securityconfig.json | 82 +- .../aws-opensearchservice-application.json | 232 + .../aws-opensearchservice-domain.json | 107 +- .../resources/aws-organizations-account.json | 7 +- .../aws-organizations-organizationalunit.json | 7 +- .../resources/aws-organizations-policy.json | 16 +- .../aws-organizations-resourcepolicy.json | 7 +- .../aws-pcaconnectorad-connector.json | 21 +- ...-pcaconnectorad-directoryregistration.json | 27 +- .../aws-pcaconnectorad-template.json | 19 +- server/schema/resources/aws-pcs-cluster.json | 371 + .../resources/aws-pcs-computenodegroup.json | 368 + server/schema/resources/aws-pcs-queue.json | 193 + .../resources/aws-pinpoint-inapptemplate.json | 16 +- server/schema/resources/aws-pipes-pipe.json | 38 +- ...s-proton-environmentaccountconnection.json | 7 +- .../aws-proton-environmenttemplate.json | 166 +- .../resources/aws-proton-servicetemplate.json | 155 +- .../resources/aws-qbusiness-application.json | 88 +- .../resources/aws-qbusiness-dataaccessor.json | 346 + .../resources/aws-qbusiness-datasource.json | 34 + .../resources/aws-qbusiness-permission.json | 93 + .../resources/aws-qbusiness-plugin.json | 46 +- .../aws-qbusiness-webexperience.json | 50 + server/schema/resources/aws-qldb-stream.json | 13 +- .../resources/aws-quicksight-analysis.json | 1383 +- .../aws-quicksight-custompermissions.json | 189 + .../resources/aws-quicksight-dashboard.json | 1373 +- .../resources/aws-quicksight-dataset.json | 56 +- .../resources/aws-quicksight-datasource.json | 1603 +- .../resources/aws-quicksight-template.json | 1190 +- .../resources/aws-ram-resourceshare.json | 160 +- server/schema/resources/aws-rbin-rule.json | 293 + .../aws-rds-customdbengineversion.json | 74 +- .../schema/resources/aws-rds-dbcluster.json | 65 +- .../schema/resources/aws-rds-dbinstance.json | 35 +- .../resources/aws-rds-dbshardgroup.json | 169 + .../resources/aws-rds-dbsubnetgroup.json | 15 +- .../resources/aws-rds-globalcluster.json | 26 + .../resources/aws-redshift-integration.json | 185 + .../aws-redshiftserverless-namespace.json | 26 +- .../aws-redshiftserverless-workgroup.json | 68 +- .../aws-refactorspaces-application.json | 12 +- .../aws-refactorspaces-environment.json | 26 +- .../resources/aws-refactorspaces-route.json | 16 +- .../resources/aws-refactorspaces-service.json | 2 +- .../resources/aws-resiliencehub-app.json | 37 +- .../aws-resiliencehub-resiliencypolicy.json | 7 +- .../aws-resourcegroups-tagsynctask.json | 123 + .../resources/aws-rolesanywhere-crl.json | 7 +- .../resources/aws-rolesanywhere-profile.json | 15 +- .../aws-rolesanywhere-trustanchor.json | 7 +- .../resources/aws-route53-hostedzone.json | 3 +- ...ws-route53profiles-profileassociation.json | 1 + ...53profiles-profileresourceassociation.json | 1 + .../aws-route53recoverycontrol-cluster.json | 10 +- ...s-route53recoverycontrol-controlpanel.json | 10 +- ...aws-route53recoverycontrol-safetyrule.json | 10 +- .../aws-route53recoveryreadiness-cell.json | 13 +- ...ute53recoveryreadiness-readinesscheck.json | 13 +- ...oute53recoveryreadiness-recoverygroup.json | 13 +- ...-route53recoveryreadiness-resourceset.json | 13 +- ...aws-route53resolver-firewallrulegroup.json | 32 +- .../aws-route53resolver-outpostresolver.json | 9 +- .../aws-route53resolver-resolverrule.json | 18 +- .../schema/resources/aws-s3-accessgrant.json | 17 +- .../aws-s3-accessgrantsinstance.json | 14 +- .../aws-s3-accessgrantslocation.json | 15 +- .../schema/resources/aws-s3-accesspoint.json | 3 + server/schema/resources/aws-s3-bucket.json | 3017 +-- .../aws-s3express-directorybucket.json | 297 +- .../resources/aws-s3tables-tablebucket.json | 115 + .../aws-s3tables-tablebucketpolicy.json | 80 + .../resources/aws-sagemaker-cluster.json | 578 +- ...ws-sagemaker-dataqualityjobdefinition.json | 11 + .../resources/aws-sagemaker-domain.json | 52 +- .../resources/aws-sagemaker-endpoint.json | 276 +- .../aws-sagemaker-endpointconfig.json | 4 - .../resources/aws-sagemaker-imageversion.json | 7 +- .../aws-sagemaker-inferencecomponent.json | 16 +- .../aws-sagemaker-modelbiasjobdefinition.json | 11 + .../resources/aws-sagemaker-modelcard.json | 7 +- ...aker-modelexplainabilityjobdefinition.json | 11 + .../resources/aws-sagemaker-modelpackage.json | 9 +- .../aws-sagemaker-modelpackagegroup.json | 12 + ...s-sagemaker-modelqualityjobdefinition.json | 11 + .../resources/aws-sagemaker-partnerapp.json | 262 + .../resources/aws-sagemaker-project.json | 12 + .../schema/resources/aws-sagemaker-space.json | 47 +- .../aws-sagemaker-studiolifecycleconfig.json | 8 +- .../resources/aws-sagemaker-userprofile.json | 34 +- .../resources/aws-scheduler-schedule.json | 8 +- .../aws-scheduler-schedulegroup.json | 2 +- .../aws-secretsmanager-rotationschedule.json | 174 +- .../resources/aws-secretsmanager-secret.json | 1 + ...secretsmanager-secrettargetattachment.json | 52 +- .../aws-securityhub-automationrule.json | 16 +- .../aws-securityhub-configurationpolicy.json | 2 +- .../aws-securityhub-findingaggregator.json | 4 +- .../resources/aws-securitylake-datalake.json | 9 +- .../aws-securitylake-subscriber.json | 8 +- .../aws-servicediscovery-service.json | 4 + .../resources/aws-ses-configurationset.json | 12 + .../resources/aws-ses-mailmanagerruleset.json | 46 + .../schema/resources/aws-ses-receiptrule.json | 22 + server/schema/resources/aws-sns-topic.json | 34 - server/schema/resources/aws-sqs-queue.json | 22 +- .../schema/resources/aws-sqs-queuepolicy.json | 14 - .../resources/aws-ssm-resourcepolicy.json | 2 + ...ws-ssmquicksetup-configurationmanager.json | 4 +- ...aws-stepfunctions-statemachineversion.json | 5 +- .../resources/aws-synthetics-canary.json | 25 +- .../schema/resources/aws-transfer-server.json | 606 +- .../schema/resources/aws-transfer-user.json | 306 +- .../schema/resources/aws-voiceid-domain.json | 11 +- .../aws-vpclattice-accesslogsubscription.json | 16 +- .../aws-vpclattice-resourceconfiguration.json | 272 + .../aws-vpclattice-resourcegateway.json | 195 + .../aws-vpclattice-servicenetwork.json | 17 + ...ice-servicenetworkresourceassociation.json | 135 + server/schema/resources/aws-wafv2-ipset.json | 13 +- .../resources/aws-wafv2-regexpatternset.json | 13 +- .../schema/resources/aws-wafv2-rulegroup.json | 13 +- server/schema/resources/aws-wafv2-webacl.json | 15 +- .../schema/resources/aws-wisdom-aiagent.json | 443 + .../resources/aws-wisdom-aiagentversion.json | 114 + .../resources/aws-wisdom-aiguardrail.json | 540 + .../aws-wisdom-aiguardrailversion.json | 114 + .../schema/resources/aws-wisdom-aiprompt.json | 219 + .../resources/aws-wisdom-aipromptversion.json | 114 + .../resources/aws-wisdom-knowledgebase.json | 317 +- .../resources/aws-wisdom-messagetemplate.json | 871 + .../aws-wisdom-messagetemplateversion.json | 89 + .../aws-workspaces-workspacespool.json | 7 +- .../aws-workspacesthinclient-environment.json | 9 +- ...-workspacesweb-dataprotectionsettings.json | 336 + .../resources/aws-workspacesweb-portal.json | 41 +- 484 files changed, 50048 insertions(+), 19625 deletions(-) create mode 100644 server/schema/resources/aws-apigateway-basepathmappingv2.json create mode 100644 server/schema/resources/aws-apigateway-domainnameaccessassociation.json create mode 100644 server/schema/resources/aws-apigateway-domainnamev2.json create mode 100644 server/schema/resources/aws-appsync-api.json create mode 100644 server/schema/resources/aws-appsync-channelnamespace.json create mode 100644 server/schema/resources/aws-backup-logicallyairgappedbackupvault.json create mode 100644 server/schema/resources/aws-bedrock-applicationinferenceprofile.json create mode 100644 server/schema/resources/aws-cassandra-type.json create mode 100644 server/schema/resources/aws-chatbot-customaction.json create mode 100644 server/schema/resources/aws-cloudformation-guardhook.json create mode 100644 server/schema/resources/aws-cloudformation-lambdahook.json create mode 100644 server/schema/resources/aws-cloudfront-anycastiplist.json create mode 100644 server/schema/resources/aws-cloudtrail-dashboard.json create mode 100644 server/schema/resources/aws-cognito-managedloginbranding.json create mode 100644 server/schema/resources/aws-connect-emailaddress.json create mode 100644 server/schema/resources/aws-connectcampaignsv2-campaign.json create mode 100644 server/schema/resources/aws-customerprofiles-eventtrigger.json create mode 100644 server/schema/resources/aws-customerprofiles-segmentdefinition.json create mode 100644 server/schema/resources/aws-dms-datamigration.json create mode 100644 server/schema/resources/aws-ec2-securitygroupvpcassociation.json create mode 100644 server/schema/resources/aws-ec2-vpcblockpublicaccessexclusion.json create mode 100644 server/schema/resources/aws-ec2-vpcblockpublicaccessoptions.json create mode 100644 server/schema/resources/aws-gamelift-containerfleet.json create mode 100644 server/schema/resources/aws-invoicing-invoiceunit.json create mode 100644 server/schema/resources/aws-iot-command.json delete mode 100644 server/schema/resources/aws-iot1click-device.json delete mode 100644 server/schema/resources/aws-iot1click-placement.json delete mode 100644 server/schema/resources/aws-iot1click-project.json create mode 100644 server/schema/resources/aws-iotfleetwise-statetemplate.json create mode 100644 server/schema/resources/aws-ivs-ingestconfiguration.json create mode 100644 server/schema/resources/aws-kinesis-resourcepolicy.json create mode 100644 server/schema/resources/aws-logs-integration.json create mode 100644 server/schema/resources/aws-logs-transformer.json create mode 100644 server/schema/resources/aws-m2-deployment.json create mode 100644 server/schema/resources/aws-memorydb-multiregioncluster.json create mode 100644 server/schema/resources/aws-networkmanager-directconnectgatewayattachment.json create mode 100644 server/schema/resources/aws-opensearchservice-application.json create mode 100644 server/schema/resources/aws-pcs-cluster.json create mode 100644 server/schema/resources/aws-pcs-computenodegroup.json create mode 100644 server/schema/resources/aws-pcs-queue.json create mode 100644 server/schema/resources/aws-qbusiness-dataaccessor.json create mode 100644 server/schema/resources/aws-qbusiness-permission.json create mode 100644 server/schema/resources/aws-quicksight-custompermissions.json create mode 100644 server/schema/resources/aws-rbin-rule.json create mode 100644 server/schema/resources/aws-rds-dbshardgroup.json create mode 100644 server/schema/resources/aws-redshift-integration.json create mode 100644 server/schema/resources/aws-resourcegroups-tagsynctask.json create mode 100644 server/schema/resources/aws-s3tables-tablebucket.json create mode 100644 server/schema/resources/aws-s3tables-tablebucketpolicy.json create mode 100644 server/schema/resources/aws-sagemaker-partnerapp.json create mode 100644 server/schema/resources/aws-vpclattice-resourceconfiguration.json create mode 100644 server/schema/resources/aws-vpclattice-resourcegateway.json create mode 100644 server/schema/resources/aws-vpclattice-servicenetworkresourceassociation.json create mode 100644 server/schema/resources/aws-wisdom-aiagent.json create mode 100644 server/schema/resources/aws-wisdom-aiagentversion.json create mode 100644 server/schema/resources/aws-wisdom-aiguardrail.json create mode 100644 server/schema/resources/aws-wisdom-aiguardrailversion.json create mode 100644 server/schema/resources/aws-wisdom-aiprompt.json create mode 100644 server/schema/resources/aws-wisdom-aipromptversion.json create mode 100644 server/schema/resources/aws-wisdom-messagetemplate.json create mode 100644 server/schema/resources/aws-wisdom-messagetemplateversion.json create mode 100644 server/schema/resources/aws-workspacesweb-dataprotectionsettings.json diff --git a/server/schema/resources.schema.json b/server/schema/resources.schema.json index 99b268e1..38ecc21e 100644 --- a/server/schema/resources.schema.json +++ b/server/schema/resources.schema.json @@ -32,9 +32,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_LaunchNotificationConstraint": { + "AWS_NetworkManager_TransitGatewayPeering": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::LaunchNotificationConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchnotificationconstraint.html)", + "markdownDescription": "AWS::NetworkManager::TransitGatewayPeering Resoruce Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewaypeering.html)", "allOf": [ { "type": "object", @@ -42,14 +42,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::LaunchNotificationConstraint" + "AWS::NetworkManager::TransitGatewayPeering" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::LaunchNotificationConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchnotificationconstraint.html)" + "AWS::NetworkManager::TransitGatewayPeering Resoruce Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewaypeering.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-launchnotificationconstraint.json" + "$ref": "resources/aws-networkmanager-transitgatewaypeering.json" } }, "required": [ @@ -63,9 +63,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_Template": { + "AWS_XRay_Group": { "type": "object", - "markdownDescription": "Definition of the AWS::QuickSight::Template Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html)", + "markdownDescription": "This schema provides construct and validation rules for AWS-XRay Group resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-group.html)", "allOf": [ { "type": "object", @@ -73,14 +73,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::Template" + "AWS::XRay::Group" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::Template Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html)" + "This schema provides construct and validation rules for AWS-XRay Group resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-group.html)" ] }, "Properties": { - "$ref": "resources/aws-quicksight-template.json" + "$ref": "resources/aws-xray-group.json" } }, "required": [ @@ -94,9 +94,9 @@ ], "additionalProperties": false }, - "AWS_AppMesh_Mesh": { + "AWS_MediaLive_EventBridgeRuleTemplateGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppMesh::Mesh \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html)", + "markdownDescription": "Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-eventbridgeruletemplategroup.html)", "allOf": [ { "type": "object", @@ -104,18 +104,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AppMesh::Mesh" + "AWS::MediaLive::EventBridgeRuleTemplateGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppMesh::Mesh \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html)" + "Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-eventbridgeruletemplategroup.html)" ] }, "Properties": { - "$ref": "resources/aws-appmesh-mesh.json" + "$ref": "resources/aws-medialive-eventbridgeruletemplategroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -124,9 +125,9 @@ ], "additionalProperties": false }, - "AWS_AppFlow_Flow": { + "AWS_Greengrass_LoggerDefinitionVersion": { "type": "object", - "markdownDescription": "Resource schema for AWS::AppFlow::Flow. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-flow.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::LoggerDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html)", "allOf": [ { "type": "object", @@ -134,14 +135,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppFlow::Flow" + "AWS::Greengrass::LoggerDefinitionVersion" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::AppFlow::Flow. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-flow.html)" + "Resource Type definition for AWS::Greengrass::LoggerDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html)" ] }, "Properties": { - "$ref": "resources/aws-appflow-flow.json" + "$ref": "resources/aws-greengrass-loggerdefinitionversion.json" } }, "required": [ @@ -155,9 +156,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_DeviceDefinitionVersion": { + "AWS_EC2_VerifiedAccessTrustProvider": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::DeviceDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html)", + "markdownDescription": "The AWS::EC2::VerifiedAccessTrustProvider type describes a verified access trust provider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccesstrustprovider.html)", "allOf": [ { "type": "object", @@ -165,14 +166,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::DeviceDefinitionVersion" + "AWS::EC2::VerifiedAccessTrustProvider" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::DeviceDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html)" + "The AWS::EC2::VerifiedAccessTrustProvider type describes a verified access trust provider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccesstrustprovider.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-devicedefinitionversion.json" + "$ref": "resources/aws-ec2-verifiedaccesstrustprovider.json" } }, "required": [ @@ -186,9 +187,9 @@ ], "additionalProperties": false }, - "AWS_EC2_LocalGatewayRouteTableVPCAssociation": { + "AWS_RDS_DBInstance": { "type": "object", - "markdownDescription": "Describes an association between a local gateway route table and a VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevpcassociation.html)", + "markdownDescription": "The ``AWS::RDS::DBInstance`` resource creates an Amazon DB instance. The new DB instance can be an RDS DB instance, or it can be a DB instance in an Aurora DB cluster.\n For more information about creating an RDS DB instance, see [Creating an Amazon RDS DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html) in the *Amazon RDS User Guide*.\n For more information about creating a DB instance in an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide*.\n If you import an existing DB instance, and the template configuration doesn't match the actual configuration of the DB instance, AWS CloudFormation applies the changes in the template during the import operation.\n If a DB instance is deleted or replaced during an update, AWS CloudFormation deletes all automated snapshots. However, it retains manual DB snapshots. During an update that requires replacement, you can apply a stack policy to prevent DB instances from being replaced. For more information, see [Prevent Updates to Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html).\n *Updating DB instances* \n When properties labeled \"*Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)\" are updated, AWS CloudFormation first creates a replacement DB instance, then changes references from other dependent resources to point to the replacement DB instance, and finally deletes the old DB instance.\n We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB instance. To preserve your data, perform the following procedure:\n 1. Deactivate any applications that are using the DB instance so that there's no activity on the DB instance.\n 1. Create a snapshot of the DB instance. For more information, see [Creating a DB Snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html).\n 1. If you want to restore your instance using a DB snapshot, modify the updated template with your DB instance changes and add the ``DBSnapshotIdentifier`` property with the ID of the DB snapshot that you want to use.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you can delete the ``DBSnapshotIdentifier`` property. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n 1. Update the stack.\n \n For more information about updating other properties of this resource, see ``ModifyDBInstance``. For more information about updating stacks, see [CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html).\n *Deleting DB instances* \n For DB instances that are part of an Aurora DB cluster, you can set a deletion policy for your DB instance to control how AWS CloudFormation handles the DB instance when the stack is deleted. For Amazon RDS DB instances, you can choose to *retain* the DB instance, to *delete* the DB instance, or to *create a snapshot* of the DB instance. The default AWS CloudFormation behavior depends on the ``DBClusterIdentifier`` property:\n 1. For ``AWS::RDS::DBInstance`` resources that don't specify the ``DBClusterIdentifier`` property, AWS CloudFormation saves a snapshot of the DB instance.\n 1. For ``AWS::RDS::DBInstance`` resources that do specify the ``DBClusterIdentifier`` property, AWS CloudFormation deletes the DB instance.\n \n For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html)", "allOf": [ { "type": "object", @@ -196,19 +197,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::LocalGatewayRouteTableVPCAssociation" + "AWS::RDS::DBInstance" ], "markdownEnumDescriptions": [ - "Describes an association between a local gateway route table and a VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevpcassociation.html)" + "The ``AWS::RDS::DBInstance`` resource creates an Amazon DB instance. The new DB instance can be an RDS DB instance, or it can be a DB instance in an Aurora DB cluster.\n For more information about creating an RDS DB instance, see [Creating an Amazon RDS DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html) in the *Amazon RDS User Guide*.\n For more information about creating a DB instance in an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide*.\n If you import an existing DB instance, and the template configuration doesn't match the actual configuration of the DB instance, AWS CloudFormation applies the changes in the template during the import operation.\n If a DB instance is deleted or replaced during an update, AWS CloudFormation deletes all automated snapshots. However, it retains manual DB snapshots. During an update that requires replacement, you can apply a stack policy to prevent DB instances from being replaced. For more information, see [Prevent Updates to Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html).\n *Updating DB instances* \n When properties labeled \"*Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)\" are updated, AWS CloudFormation first creates a replacement DB instance, then changes references from other dependent resources to point to the replacement DB instance, and finally deletes the old DB instance.\n We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB instance. To preserve your data, perform the following procedure:\n 1. Deactivate any applications that are using the DB instance so that there's no activity on the DB instance.\n 1. Create a snapshot of the DB instance. For more information, see [Creating a DB Snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html).\n 1. If you want to restore your instance using a DB snapshot, modify the updated template with your DB instance changes and add the ``DBSnapshotIdentifier`` property with the ID of the DB snapshot that you want to use.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you can delete the ``DBSnapshotIdentifier`` property. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n 1. Update the stack.\n \n For more information about updating other properties of this resource, see ``ModifyDBInstance``. For more information about updating stacks, see [CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html).\n *Deleting DB instances* \n For DB instances that are part of an Aurora DB cluster, you can set a deletion policy for your DB instance to control how AWS CloudFormation handles the DB instance when the stack is deleted. For Amazon RDS DB instances, you can choose to *retain* the DB instance, to *delete* the DB instance, or to *create a snapshot* of the DB instance. The default AWS CloudFormation behavior depends on the ``DBClusterIdentifier`` property:\n 1. For ``AWS::RDS::DBInstance`` resources that don't specify the ``DBClusterIdentifier`` property, AWS CloudFormation saves a snapshot of the DB instance.\n 1. For ``AWS::RDS::DBInstance`` resources that do specify the ``DBClusterIdentifier`` property, AWS CloudFormation deletes the DB instance.\n \n For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-localgatewayroutetablevpcassociation.json" + "$ref": "resources/aws-rds-dbinstance.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -217,9 +217,9 @@ ], "additionalProperties": false }, - "AWS_EC2_ClientVpnRoute": { + "AWS_FraudDetector_EventType": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::ClientVpnRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnroute.html)", + "markdownDescription": "A resource schema for an EventType in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-eventtype.html)", "allOf": [ { "type": "object", @@ -227,14 +227,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::ClientVpnRoute" + "AWS::FraudDetector::EventType" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::ClientVpnRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnroute.html)" + "A resource schema for an EventType in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-eventtype.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-clientvpnroute.json" + "$ref": "resources/aws-frauddetector-eventtype.json" } }, "required": [ @@ -248,9 +248,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_ClusterSubnetGroup": { + "AWS_MediaConnect_Bridge": { "type": "object", - "markdownDescription": "Specifies an Amazon Redshift subnet group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersubnetgroup.html)", + "markdownDescription": "Resource schema for AWS::MediaConnect::Bridge \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridge.html)", "allOf": [ { "type": "object", @@ -258,14 +258,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::ClusterSubnetGroup" + "AWS::MediaConnect::Bridge" ], "markdownEnumDescriptions": [ - "Specifies an Amazon Redshift subnet group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersubnetgroup.html)" + "Resource schema for AWS::MediaConnect::Bridge \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridge.html)" ] }, "Properties": { - "$ref": "resources/aws-redshift-clustersubnetgroup.json" + "$ref": "resources/aws-mediaconnect-bridge.json" } }, "required": [ @@ -279,9 +279,9 @@ ], "additionalProperties": false }, - "AWS_KinesisAnalyticsV2_ApplicationCloudWatchLoggingOption": { + "AWS_Wisdom_AIAgent": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption.html)", + "markdownDescription": "Definition of AWS::Wisdom::AIAgent Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-aiagent.html)", "allOf": [ { "type": "object", @@ -289,14 +289,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" + "AWS::Wisdom::AIAgent" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption.html)" + "Definition of AWS::Wisdom::AIAgent Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-aiagent.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisanalyticsv2-applicationcloudwatchloggingoption.json" + "$ref": "resources/aws-wisdom-aiagent.json" } }, "required": [ @@ -310,9 +310,9 @@ ], "additionalProperties": false }, - "AWS_Connect_UserHierarchyStructure": { + "AWS_Batch_SchedulingPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::UserHierarchyStructure \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-userhierarchystructure.html)", + "markdownDescription": "Resource Type schema for AWS::Batch::SchedulingPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-schedulingpolicy.html)", "allOf": [ { "type": "object", @@ -320,19 +320,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::UserHierarchyStructure" + "AWS::Batch::SchedulingPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::UserHierarchyStructure \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-userhierarchystructure.html)" + "Resource Type schema for AWS::Batch::SchedulingPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-schedulingpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-userhierarchystructure.json" + "$ref": "resources/aws-batch-schedulingpolicy.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -341,9 +340,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationFSxONTAP": { + "AWS_SecurityHub_PolicyAssociation": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationFSxONTAP. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxontap.html)", + "markdownDescription": "The AWS::SecurityHub::PolicyAssociation resource represents the AWS Security Hub Central Configuration Policy associations in your Target. Only the AWS Security Hub delegated administrator can create the resouce from the home region. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-policyassociation.html)", "allOf": [ { "type": "object", @@ -351,14 +350,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationFSxONTAP" + "AWS::SecurityHub::PolicyAssociation" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationFSxONTAP. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxontap.html)" + "The AWS::SecurityHub::PolicyAssociation resource represents the AWS Security Hub Central Configuration Policy associations in your Target. Only the AWS Security Hub delegated administrator can create the resouce from the home region. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-policyassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationfsxontap.json" + "$ref": "resources/aws-securityhub-policyassociation.json" } }, "required": [ @@ -372,9 +371,9 @@ ], "additionalProperties": false }, - "AWS_Glue_SchemaVersionMetadata": { + "AWS_AppMesh_VirtualNode": { "type": "object", - "markdownDescription": "This resource adds Key-Value metadata to a Schema version of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html)", + "markdownDescription": "Resource Type definition for AWS::AppMesh::VirtualNode \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html)", "allOf": [ { "type": "object", @@ -382,14 +381,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::SchemaVersionMetadata" + "AWS::AppMesh::VirtualNode" ], "markdownEnumDescriptions": [ - "This resource adds Key-Value metadata to a Schema version of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html)" + "Resource Type definition for AWS::AppMesh::VirtualNode \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-schemaversionmetadata.json" + "$ref": "resources/aws-appmesh-virtualnode.json" } }, "required": [ @@ -403,9 +402,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_ResolverRuleAssociation": { + "AWS_FMS_ResourceSet": { "type": "object", - "markdownDescription": "In the response to an [AssociateResolverRule](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html), [DisassociateResolverRule](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverRule.html), or [ListResolverRuleAssociations](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html) request, provides information about an association between a resolver rule and a VPC. The association determines which DNS queries that originate in the VPC are forwarded to your network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverruleassociation.html)", + "markdownDescription": "Creates an AWS Firewall Manager resource set. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-resourceset.html)", "allOf": [ { "type": "object", @@ -413,14 +412,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::ResolverRuleAssociation" + "AWS::FMS::ResourceSet" ], "markdownEnumDescriptions": [ - "In the response to an [AssociateResolverRule](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html), [DisassociateResolverRule](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverRule.html), or [ListResolverRuleAssociations](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html) request, provides information about an association between a resolver rule and a VPC. The association determines which DNS queries that originate in the VPC are forwarded to your network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverruleassociation.html)" + "Creates an AWS Firewall Manager resource set. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-resourceset.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-resolverruleassociation.json" + "$ref": "resources/aws-fms-resourceset.json" } }, "required": [ @@ -434,9 +433,9 @@ ], "additionalProperties": false }, - "AWS_Logs_DeliverySource": { + "AWS_Config_DeliveryChannel": { "type": "object", - "markdownDescription": " A delivery source is an AWS resource that sends logs to an AWS destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.\n\nOnly some AWS services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at [Enabling logging from AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverysource.html)", + "markdownDescription": "Resource Type definition for AWS::Config::DeliveryChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html)", "allOf": [ { "type": "object", @@ -444,14 +443,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::DeliverySource" + "AWS::Config::DeliveryChannel" ], "markdownEnumDescriptions": [ - " A delivery source is an AWS resource that sends logs to an AWS destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.\n\nOnly some AWS services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at [Enabling logging from AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverysource.html)" + "Resource Type definition for AWS::Config::DeliveryChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-deliverysource.json" + "$ref": "resources/aws-config-deliverychannel.json" } }, "required": [ @@ -465,9 +464,9 @@ ], "additionalProperties": false }, - "AWS_Rekognition_Project": { + "AWS_ElasticLoadBalancingV2_TrustStoreRevocation": { "type": "object", - "markdownDescription": "The AWS::Rekognition::Project type creates an Amazon Rekognition CustomLabels Project. A project is a grouping of the resources needed to create and manage Dataset and ProjectVersions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-project.html)", + "markdownDescription": "Resource Type definition for AWS::ElasticLoadBalancingV2::TrustStoreRevocation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststorerevocation.html)", "allOf": [ { "type": "object", @@ -475,19 +474,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Rekognition::Project" + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation" ], "markdownEnumDescriptions": [ - "The AWS::Rekognition::Project type creates an Amazon Rekognition CustomLabels Project. A project is a grouping of the resources needed to create and manage Dataset and ProjectVersions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-project.html)" + "Resource Type definition for AWS::ElasticLoadBalancingV2::TrustStoreRevocation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststorerevocation.html)" ] }, "Properties": { - "$ref": "resources/aws-rekognition-project.json" + "$ref": "resources/aws-elasticloadbalancingv2-truststorerevocation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -496,9 +494,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationFSxOpenZFS": { + "AWS_EKS_AccessEntry": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationFSxOpenZFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxopenzfs.html)", + "markdownDescription": "An object representing an Amazon EKS AccessEntry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-accessentry.html)", "allOf": [ { "type": "object", @@ -506,14 +504,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationFSxOpenZFS" + "AWS::EKS::AccessEntry" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationFSxOpenZFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxopenzfs.html)" + "An object representing an Amazon EKS AccessEntry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-accessentry.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationfsxopenzfs.json" + "$ref": "resources/aws-eks-accessentry.json" } }, "required": [ @@ -527,9 +525,9 @@ ], "additionalProperties": false }, - "AWS_SSM_MaintenanceWindow": { + "AWS_ResourceGroups_TagSyncTask": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SSM::MaintenanceWindow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html)", + "markdownDescription": "Schema for ResourceGroups::TagSyncTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-tagsynctask.html)", "allOf": [ { "type": "object", @@ -537,14 +535,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::MaintenanceWindow" + "AWS::ResourceGroups::TagSyncTask" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSM::MaintenanceWindow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html)" + "Schema for ResourceGroups::TagSyncTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-tagsynctask.html)" ] }, "Properties": { - "$ref": "resources/aws-ssm-maintenancewindow.json" + "$ref": "resources/aws-resourcegroups-tagsynctask.json" } }, "required": [ @@ -558,9 +556,9 @@ ], "additionalProperties": false }, - "AWS_ResourceExplorer2_View": { + "AWS_ServiceDiscovery_Instance": { "type": "object", - "markdownDescription": "Definition of AWS::ResourceExplorer2::View Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-view.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceDiscovery::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-instance.html)", "allOf": [ { "type": "object", @@ -568,14 +566,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ResourceExplorer2::View" + "AWS::ServiceDiscovery::Instance" ], "markdownEnumDescriptions": [ - "Definition of AWS::ResourceExplorer2::View Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-view.html)" + "Resource Type definition for AWS::ServiceDiscovery::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-instance.html)" ] }, "Properties": { - "$ref": "resources/aws-resourceexplorer2-view.json" + "$ref": "resources/aws-servicediscovery-instance.json" } }, "required": [ @@ -589,9 +587,9 @@ ], "additionalProperties": false }, - "AWS_CustomerProfiles_ObjectType": { + "AWS_CodeBuild_SourceCredential": { "type": "object", - "markdownDescription": "An ObjectType resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-objecttype.html)", + "markdownDescription": "Resource Type definition for AWS::CodeBuild::SourceCredential \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html)", "allOf": [ { "type": "object", @@ -599,14 +597,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CustomerProfiles::ObjectType" + "AWS::CodeBuild::SourceCredential" ], "markdownEnumDescriptions": [ - "An ObjectType resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-objecttype.html)" + "Resource Type definition for AWS::CodeBuild::SourceCredential \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html)" ] }, "Properties": { - "$ref": "resources/aws-customerprofiles-objecttype.json" + "$ref": "resources/aws-codebuild-sourcecredential.json" } }, "required": [ @@ -620,9 +618,9 @@ ], "additionalProperties": false }, - "AWS_EC2_PrefixList": { + "AWS_Logs_ResourcePolicy": { "type": "object", - "markdownDescription": "Resource schema of AWS::EC2::PrefixList Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html)", + "markdownDescription": "The resource schema for AWSLogs ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-resourcepolicy.html)", "allOf": [ { "type": "object", @@ -630,14 +628,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::PrefixList" + "AWS::Logs::ResourcePolicy" ], "markdownEnumDescriptions": [ - "Resource schema of AWS::EC2::PrefixList Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html)" + "The resource schema for AWSLogs ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-resourcepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-prefixlist.json" + "$ref": "resources/aws-logs-resourcepolicy.json" } }, "required": [ @@ -651,9 +649,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_DeviceFleet": { + "AWS_FraudDetector_Variable": { "type": "object", - "markdownDescription": "Resource schema for AWS::SageMaker::DeviceFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-devicefleet.html)", + "markdownDescription": "A resource schema for a Variable in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-variable.html)", "allOf": [ { "type": "object", @@ -661,14 +659,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::DeviceFleet" + "AWS::FraudDetector::Variable" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::SageMaker::DeviceFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-devicefleet.html)" + "A resource schema for a Variable in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-variable.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-devicefleet.json" + "$ref": "resources/aws-frauddetector-variable.json" } }, "required": [ @@ -682,9 +680,9 @@ ], "additionalProperties": false }, - "AWS_BillingConductor_PricingPlan": { + "AWS_IAM_User": { "type": "object", - "markdownDescription": "Pricing Plan enables you to customize your billing details consistent with the usage that accrues in each of your billing groups. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingplan.html)", + "markdownDescription": "Creates a new IAM user for your AWS-account.\n For information about quotas for the number of IAM users you can create, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-user.html)", "allOf": [ { "type": "object", @@ -692,19 +690,18 @@ "Type": { "type": "string", "enum": [ - "AWS::BillingConductor::PricingPlan" + "AWS::IAM::User" ], "markdownEnumDescriptions": [ - "Pricing Plan enables you to customize your billing details consistent with the usage that accrues in each of your billing groups. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingplan.html)" + "Creates a new IAM user for your AWS-account.\n For information about quotas for the number of IAM users you can create, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-user.html)" ] }, "Properties": { - "$ref": "resources/aws-billingconductor-pricingplan.json" + "$ref": "resources/aws-iam-user.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -713,9 +710,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolUser": { + "AWS_CloudFormation_Stack": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolUser \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html)", + "markdownDescription": "The AWS::CloudFormation::Stack resource nests a stack as a resource in a top-level template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stack.html)", "allOf": [ { "type": "object", @@ -723,14 +720,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolUser" + "AWS::CloudFormation::Stack" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolUser \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html)" + "The AWS::CloudFormation::Stack resource nests a stack as a resource in a top-level template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stack.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-userpooluser.json" + "$ref": "resources/aws-cloudformation-stack.json" } }, "required": [ @@ -744,9 +741,9 @@ ], "additionalProperties": false }, - "AWS_Organizations_ResourcePolicy": { + "AWS_SQS_Queue": { "type": "object", - "markdownDescription": "You can use AWS::Organizations::ResourcePolicy to delegate policy management for AWS Organizations to specified member accounts to perform policy actions that are by default available only to the management account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-resourcepolicy.html)", + "markdownDescription": "The ``AWS::SQS::Queue`` resource creates an SQS standard or FIFO queue.\n Keep the following caveats in mind:\n + If you don't specify the ``FifoQueue`` property, SQS creates a standard queue.\n You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see [Moving from a standard queue to a FIFO queue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-moving.html) in the *Developer Guide*. \n + If you don't provide a value for a property, the queue is created with the default value for the property.\n + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.\n + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues.\n \n For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/create-queue-cloudformation.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queue.html)", "allOf": [ { "type": "object", @@ -754,19 +751,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Organizations::ResourcePolicy" + "AWS::SQS::Queue" ], "markdownEnumDescriptions": [ - "You can use AWS::Organizations::ResourcePolicy to delegate policy management for AWS Organizations to specified member accounts to perform policy actions that are by default available only to the management account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-resourcepolicy.html)" + "The ``AWS::SQS::Queue`` resource creates an SQS standard or FIFO queue.\n Keep the following caveats in mind:\n + If you don't specify the ``FifoQueue`` property, SQS creates a standard queue.\n You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see [Moving from a standard queue to a FIFO queue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-moving.html) in the *Developer Guide*. \n + If you don't provide a value for a property, the queue is created with the default value for the property.\n + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.\n + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues.\n \n For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/create-queue-cloudformation.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queue.html)" ] }, "Properties": { - "$ref": "resources/aws-organizations-resourcepolicy.json" + "$ref": "resources/aws-sqs-queue.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -775,9 +771,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_FindingAggregator": { + "AWS_CloudFormation_CustomResource": { "type": "object", - "markdownDescription": "The ``AWS::SecurityHub::FindingAggregator`` resource enables cross-Region aggregation. When cross-Region aggregation is enabled, you can aggregate findings, finding updates, insights, control compliance statuses, and security scores from one or more linked Regions to a single aggregation Region. You can then view and manage all of this data from the aggregation Region. For more details about cross-Region aggregation, see [Cross-Region aggregation](https://docs.aws.amazon.com/securityhub/latest/userguide/finding-aggregation.html) in the *User Guide* \n This resource must be created in the Region that you want to designate as your aggregation Region.\n Cross-Region aggregation is also a prerequisite for using [central configuration](https://docs.aws.amazon.com/securityhub/latest/userguide/central-configuration-intro.html) in ASH. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-findingaggregator.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFormation::CustomResource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-customresource.html)", "allOf": [ { "type": "object", @@ -785,14 +781,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::FindingAggregator" + "AWS::CloudFormation::CustomResource" ], "markdownEnumDescriptions": [ - "The ``AWS::SecurityHub::FindingAggregator`` resource enables cross-Region aggregation. When cross-Region aggregation is enabled, you can aggregate findings, finding updates, insights, control compliance statuses, and security scores from one or more linked Regions to a single aggregation Region. You can then view and manage all of this data from the aggregation Region. For more details about cross-Region aggregation, see [Cross-Region aggregation](https://docs.aws.amazon.com/securityhub/latest/userguide/finding-aggregation.html) in the *User Guide* \n This resource must be created in the Region that you want to designate as your aggregation Region.\n Cross-Region aggregation is also a prerequisite for using [central configuration](https://docs.aws.amazon.com/securityhub/latest/userguide/central-configuration-intro.html) in ASH. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-findingaggregator.html)" + "Resource Type definition for AWS::CloudFormation::CustomResource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-customresource.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-findingaggregator.json" + "$ref": "resources/aws-cloudformation-customresource.json" } }, "required": [ @@ -806,9 +802,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_APNSVoipSandboxChannel": { + "AWS_MediaLive_Input": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::APNSVoipSandboxChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html)", + "markdownDescription": "Resource Type definition for AWS::MediaLive::Input \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html)", "allOf": [ { "type": "object", @@ -816,19 +812,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::APNSVoipSandboxChannel" + "AWS::MediaLive::Input" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::APNSVoipSandboxChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html)" + "Resource Type definition for AWS::MediaLive::Input \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-apnsvoipsandboxchannel.json" + "$ref": "resources/aws-medialive-input.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -837,9 +832,9 @@ ], "additionalProperties": false }, - "AWS_KafkaConnect_CustomPlugin": { + "AWS_Logs_Destination": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-customplugin.html)", + "markdownDescription": "The AWS::Logs::Destination resource specifies a CloudWatch Logs destination. A destination encapsulates a physical resource (such as an Amazon Kinesis data stream) and enables you to subscribe that resource to a stream of log events. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html)", "allOf": [ { "type": "object", @@ -847,14 +842,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KafkaConnect::CustomPlugin" + "AWS::Logs::Destination" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-customplugin.html)" + "The AWS::Logs::Destination resource specifies a CloudWatch Logs destination. A destination encapsulates a physical resource (such as an Amazon Kinesis data stream) and enables you to subscribe that resource to a stream of log events. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html)" ] }, "Properties": { - "$ref": "resources/aws-kafkaconnect-customplugin.json" + "$ref": "resources/aws-logs-destination.json" } }, "required": [ @@ -868,9 +863,9 @@ ], "additionalProperties": false }, - "AWS_IoT_TopicRule": { + "AWS_SecurityHub_ConfigurationPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT::TopicRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html)", + "markdownDescription": "The AWS::SecurityHub::ConfigurationPolicy resource represents the Central Configuration Policy in your account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-configurationpolicy.html)", "allOf": [ { "type": "object", @@ -878,14 +873,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::TopicRule" + "AWS::SecurityHub::ConfigurationPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::TopicRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html)" + "The AWS::SecurityHub::ConfigurationPolicy resource represents the Central Configuration Policy in your account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-configurationpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-topicrule.json" + "$ref": "resources/aws-securityhub-configurationpolicy.json" } }, "required": [ @@ -899,9 +894,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolIdentityProvider": { + "AWS_AppRunner_AutoScalingConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolIdentityProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html)", + "markdownDescription": "Describes an AWS App Runner automatic configuration resource that enables automatic scaling of instances used to process web requests. You can share an auto scaling configuration across multiple services. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-autoscalingconfiguration.html)", "allOf": [ { "type": "object", @@ -909,19 +904,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolIdentityProvider" + "AWS::AppRunner::AutoScalingConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolIdentityProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html)" + "Describes an AWS App Runner automatic configuration resource that enables automatic scaling of instances used to process web requests. You can share an auto scaling configuration across multiple services. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-autoscalingconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-userpoolidentityprovider.json" + "$ref": "resources/aws-apprunner-autoscalingconfiguration.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -930,9 +924,9 @@ ], "additionalProperties": false }, - "AWS_DataBrew_Recipe": { + "AWS_Greengrass_ResourceDefinitionVersion": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataBrew::Recipe. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-recipe.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::ResourceDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html)", "allOf": [ { "type": "object", @@ -940,14 +934,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataBrew::Recipe" + "AWS::Greengrass::ResourceDefinitionVersion" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataBrew::Recipe. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-recipe.html)" + "Resource Type definition for AWS::Greengrass::ResourceDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html)" ] }, "Properties": { - "$ref": "resources/aws-databrew-recipe.json" + "$ref": "resources/aws-greengrass-resourcedefinitionversion.json" } }, "required": [ @@ -961,9 +955,9 @@ ], "additionalProperties": false }, - "AWS_Detective_MemberInvitation": { + "AWS_PCAConnectorAD_Connector": { "type": "object", - "markdownDescription": "Resource schema for AWS::Detective::MemberInvitation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html)", + "markdownDescription": "Definition of AWS::PCAConnectorAD::Connector Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-connector.html)", "allOf": [ { "type": "object", @@ -971,14 +965,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Detective::MemberInvitation" + "AWS::PCAConnectorAD::Connector" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Detective::MemberInvitation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html)" + "Definition of AWS::PCAConnectorAD::Connector Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-connector.html)" ] }, "Properties": { - "$ref": "resources/aws-detective-memberinvitation.json" + "$ref": "resources/aws-pcaconnectorad-connector.json" } }, "required": [ @@ -992,9 +986,9 @@ ], "additionalProperties": false }, - "AWS_Logs_SubscriptionFilter": { + "AWS_QuickSight_Analysis": { "type": "object", - "markdownDescription": "The ``AWS::Logs::SubscriptionFilter`` resource specifies a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events and have them delivered to a specific destination. Currently, the supported destinations are:\n + An Amazon Kinesis data stream belonging to the same account as the subscription filter, for same-account delivery.\n + A logical destination that belongs to a different account, for cross-account delivery.\n + An Amazon Kinesis Firehose delivery stream that belongs to the same account as the subscription filter, for same-account delivery.\n + An LAMlong function that belongs to the same account as the subscription filter, for same-account delivery.\n \n There can be as many as two subscription filters associated with a log group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html)", + "markdownDescription": "Definition of the AWS::QuickSight::Analysis Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html)", "allOf": [ { "type": "object", @@ -1002,14 +996,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::SubscriptionFilter" + "AWS::QuickSight::Analysis" ], "markdownEnumDescriptions": [ - "The ``AWS::Logs::SubscriptionFilter`` resource specifies a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events and have them delivered to a specific destination. Currently, the supported destinations are:\n + An Amazon Kinesis data stream belonging to the same account as the subscription filter, for same-account delivery.\n + A logical destination that belongs to a different account, for cross-account delivery.\n + An Amazon Kinesis Firehose delivery stream that belongs to the same account as the subscription filter, for same-account delivery.\n + An LAMlong function that belongs to the same account as the subscription filter, for same-account delivery.\n \n There can be as many as two subscription filters associated with a log group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html)" + "Definition of the AWS::QuickSight::Analysis Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-subscriptionfilter.json" + "$ref": "resources/aws-quicksight-analysis.json" } }, "required": [ @@ -1023,9 +1017,9 @@ ], "additionalProperties": false }, - "AWS_AccessAnalyzer_Analyzer": { + "AWS_KMS_ReplicaKey": { "type": "object", - "markdownDescription": "The AWS::AccessAnalyzer::Analyzer type specifies an analyzer of the user's account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html)", + "markdownDescription": "The AWS::KMS::ReplicaKey resource specifies a multi-region replica AWS KMS key in AWS Key Management Service (AWS KMS). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-replicakey.html)", "allOf": [ { "type": "object", @@ -1033,14 +1027,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AccessAnalyzer::Analyzer" + "AWS::KMS::ReplicaKey" ], "markdownEnumDescriptions": [ - "The AWS::AccessAnalyzer::Analyzer type specifies an analyzer of the user's account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html)" + "The AWS::KMS::ReplicaKey resource specifies a multi-region replica AWS KMS key in AWS Key Management Service (AWS KMS). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-replicakey.html)" ] }, "Properties": { - "$ref": "resources/aws-accessanalyzer-analyzer.json" + "$ref": "resources/aws-kms-replicakey.json" } }, "required": [ @@ -1054,9 +1048,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkInterfaceAttachment": { + "AWS_ElastiCache_CacheCluster": { "type": "object", - "markdownDescription": "Attaches an elastic network interface (ENI) to an Amazon EC2 instance. You can use this resource type to attach additional network interfaces to an instance without interruption. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfaceattachment.html)", + "markdownDescription": "Resource Type definition for AWS::ElastiCache::CacheCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-cachecluster.html)", "allOf": [ { "type": "object", @@ -1064,14 +1058,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkInterfaceAttachment" + "AWS::ElastiCache::CacheCluster" ], "markdownEnumDescriptions": [ - "Attaches an elastic network interface (ENI) to an Amazon EC2 instance. You can use this resource type to attach additional network interfaces to an instance without interruption. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfaceattachment.html)" + "Resource Type definition for AWS::ElastiCache::CacheCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-cachecluster.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkinterfaceattachment.json" + "$ref": "resources/aws-elasticache-cachecluster.json" } }, "required": [ @@ -1085,9 +1079,9 @@ ], "additionalProperties": false }, - "AWS_OpenSearchServerless_AccessPolicy": { + "AWS_DirectoryService_MicrosoftAD": { "type": "object", - "markdownDescription": "Amazon OpenSearchServerless access policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-accesspolicy.html)", + "markdownDescription": "Resource Type definition for AWS::DirectoryService::MicrosoftAD \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html)", "allOf": [ { "type": "object", @@ -1095,14 +1089,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpenSearchServerless::AccessPolicy" + "AWS::DirectoryService::MicrosoftAD" ], "markdownEnumDescriptions": [ - "Amazon OpenSearchServerless access policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-accesspolicy.html)" + "Resource Type definition for AWS::DirectoryService::MicrosoftAD \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html)" ] }, "Properties": { - "$ref": "resources/aws-opensearchserverless-accesspolicy.json" + "$ref": "resources/aws-directoryservice-microsoftad.json" } }, "required": [ @@ -1116,9 +1110,9 @@ ], "additionalProperties": false }, - "AWS_SecurityLake_SubscriberNotification": { + "AWS_ApiGatewayV2_Stage": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SecurityLake::SubscriberNotification \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscribernotification.html)", + "markdownDescription": "Resource Type definition for AWS::ApiGatewayV2::Stage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html)", "allOf": [ { "type": "object", @@ -1126,14 +1120,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityLake::SubscriberNotification" + "AWS::ApiGatewayV2::Stage" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SecurityLake::SubscriberNotification \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscribernotification.html)" + "Resource Type definition for AWS::ApiGatewayV2::Stage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html)" ] }, "Properties": { - "$ref": "resources/aws-securitylake-subscribernotification.json" + "$ref": "resources/aws-apigatewayv2-stage.json" } }, "required": [ @@ -1147,9 +1141,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_IdMappingTable": { + "AWS_Glue_UsageProfile": { "type": "object", - "markdownDescription": "Represents an association between an ID mapping workflow and a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idmappingtable.html)", + "markdownDescription": "This creates a Resource of UsageProfile type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-usageprofile.html)", "allOf": [ { "type": "object", @@ -1157,14 +1151,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::IdMappingTable" + "AWS::Glue::UsageProfile" ], "markdownEnumDescriptions": [ - "Represents an association between an ID mapping workflow and a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idmappingtable.html)" + "This creates a Resource of UsageProfile type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-usageprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-cleanrooms-idmappingtable.json" + "$ref": "resources/aws-glue-usageprofile.json" } }, "required": [ @@ -1178,9 +1172,9 @@ ], "additionalProperties": false }, - "AWS_IoT_ResourceSpecificLogging": { + "AWS_WAFv2_IPSet": { "type": "object", - "markdownDescription": "Resource-specific logging allows you to specify a logging level for a specific thing group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-resourcespecificlogging.html)", + "markdownDescription": "Contains a list of IP addresses. This can be either IPV4 or IPV6. The list will be mutually \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-ipset.html)", "allOf": [ { "type": "object", @@ -1188,14 +1182,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::ResourceSpecificLogging" + "AWS::WAFv2::IPSet" ], "markdownEnumDescriptions": [ - "Resource-specific logging allows you to specify a logging level for a specific thing group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-resourcespecificlogging.html)" + "Contains a list of IP addresses. This can be either IPV4 or IPV6. The list will be mutually \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-ipset.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-resourcespecificlogging.json" + "$ref": "resources/aws-wafv2-ipset.json" } }, "required": [ @@ -1209,9 +1203,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_Model": { + "AWS_AppSync_ChannelNamespace": { "type": "object", - "markdownDescription": "The ``AWS::ApiGatewayV2::Model`` resource updates data model for a WebSocket API. For more information, see [Model Selection Expressions](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-model-selection-expressions) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html)", + "markdownDescription": "Resource schema for AppSync ChannelNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html)", "allOf": [ { "type": "object", @@ -1219,14 +1213,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::Model" + "AWS::AppSync::ChannelNamespace" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGatewayV2::Model`` resource updates data model for a WebSocket API. For more information, see [Model Selection Expressions](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-model-selection-expressions) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html)" + "Resource schema for AppSync ChannelNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-model.json" + "$ref": "resources/aws-appsync-channelnamespace.json" } }, "required": [ @@ -1240,9 +1234,9 @@ ], "additionalProperties": false }, - "AWS_Amplify_Domain": { + "AWS_APS_Workspace": { "type": "object", - "markdownDescription": "The AWS::Amplify::Domain resource allows you to connect a custom domain to your app. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html)", + "markdownDescription": "Resource Type definition for AWS::APS::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-workspace.html)", "allOf": [ { "type": "object", @@ -1250,19 +1244,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Amplify::Domain" + "AWS::APS::Workspace" ], "markdownEnumDescriptions": [ - "The AWS::Amplify::Domain resource allows you to connect a custom domain to your app. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html)" + "Resource Type definition for AWS::APS::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-workspace.html)" ] }, "Properties": { - "$ref": "resources/aws-amplify-domain.json" + "$ref": "resources/aws-aps-workspace.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -1271,9 +1264,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCDHCPOptionsAssociation": { + "AWS_FSx_FileSystem": { "type": "object", - "markdownDescription": "Associates a set of DHCP options with a VPC, or associates no DHCP options with the VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcdhcpoptionsassociation.html)", + "markdownDescription": "Resource Type definition for AWS::FSx::FileSystem \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html)", "allOf": [ { "type": "object", @@ -1281,14 +1274,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCDHCPOptionsAssociation" + "AWS::FSx::FileSystem" ], "markdownEnumDescriptions": [ - "Associates a set of DHCP options with a VPC, or associates no DHCP options with the VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcdhcpoptionsassociation.html)" + "Resource Type definition for AWS::FSx::FileSystem \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpcdhcpoptionsassociation.json" + "$ref": "resources/aws-fsx-filesystem.json" } }, "required": [ @@ -1302,9 +1295,9 @@ ], "additionalProperties": false }, - "AWS_NetworkFirewall_Firewall": { + "AWS_PCS_Queue": { "type": "object", - "markdownDescription": "Resource type definition for AWS::NetworkFirewall::Firewall \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html)", + "markdownDescription": "AWS::PCS::Queue resource creates an AWS PCS queue. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-queue.html)", "allOf": [ { "type": "object", @@ -1312,14 +1305,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkFirewall::Firewall" + "AWS::PCS::Queue" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::NetworkFirewall::Firewall \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html)" + "AWS::PCS::Queue resource creates an AWS PCS queue. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-queue.html)" ] }, "Properties": { - "$ref": "resources/aws-networkfirewall-firewall.json" + "$ref": "resources/aws-pcs-queue.json" } }, "required": [ @@ -1333,9 +1326,9 @@ ], "additionalProperties": false }, - "AWS_DMS_MigrationProject": { + "AWS_EC2_NetworkInterfaceAttachment": { "type": "object", - "markdownDescription": "Resource schema for AWS::DMS::MigrationProject \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-migrationproject.html)", + "markdownDescription": "Attaches an elastic network interface (ENI) to an Amazon EC2 instance. You can use this resource type to attach additional network interfaces to an instance without interruption. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfaceattachment.html)", "allOf": [ { "type": "object", @@ -1343,18 +1336,19 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::MigrationProject" + "AWS::EC2::NetworkInterfaceAttachment" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DMS::MigrationProject \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-migrationproject.html)" + "Attaches an elastic network interface (ENI) to an Amazon EC2 instance. You can use this resource type to attach additional network interfaces to an instance without interruption. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfaceattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-dms-migrationproject.json" + "$ref": "resources/aws-ec2-networkinterfaceattachment.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -1363,9 +1357,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_FeatureGroup": { + "AWS_CloudWatch_AnomalyDetector": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::FeatureGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.html)", + "markdownDescription": "Resource Type definition for AWS::CloudWatch::AnomalyDetector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html)", "allOf": [ { "type": "object", @@ -1373,19 +1367,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::FeatureGroup" + "AWS::CloudWatch::AnomalyDetector" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::FeatureGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.html)" + "Resource Type definition for AWS::CloudWatch::AnomalyDetector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-featuregroup.json" + "$ref": "resources/aws-cloudwatch-anomalydetector.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -1394,9 +1387,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_Stage": { + "AWS_Connect_UserHierarchyGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ApiGatewayV2::Stage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::UserHierarchyGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-userhierarchygroup.html)", "allOf": [ { "type": "object", @@ -1404,14 +1397,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::Stage" + "AWS::Connect::UserHierarchyGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ApiGatewayV2::Stage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html)" + "Resource Type definition for AWS::Connect::UserHierarchyGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-userhierarchygroup.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-stage.json" + "$ref": "resources/aws-connect-userhierarchygroup.json" } }, "required": [ @@ -1425,9 +1418,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_SmsTemplate": { + "AWS_EventSchemas_Schema": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::SmsTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html)", + "markdownDescription": "Resource Type definition for AWS::EventSchemas::Schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html)", "allOf": [ { "type": "object", @@ -1435,14 +1428,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::SmsTemplate" + "AWS::EventSchemas::Schema" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::SmsTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html)" + "Resource Type definition for AWS::EventSchemas::Schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-smstemplate.json" + "$ref": "resources/aws-eventschemas-schema.json" } }, "required": [ @@ -1456,9 +1449,9 @@ ], "additionalProperties": false }, - "AWS_IoTFleetWise_SignalCatalog": { + "AWS_ImageBuilder_DistributionConfiguration": { "type": "object", - "markdownDescription": "Definition of AWS::IoTFleetWise::SignalCatalog Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-signalcatalog.html)", + "markdownDescription": "Resource schema for AWS::ImageBuilder::DistributionConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html)", "allOf": [ { "type": "object", @@ -1466,18 +1459,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTFleetWise::SignalCatalog" + "AWS::ImageBuilder::DistributionConfiguration" ], "markdownEnumDescriptions": [ - "Definition of AWS::IoTFleetWise::SignalCatalog Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-signalcatalog.html)" + "Resource schema for AWS::ImageBuilder::DistributionConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-iotfleetwise-signalcatalog.json" + "$ref": "resources/aws-imagebuilder-distributionconfiguration.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -1486,9 +1480,9 @@ ], "additionalProperties": false }, - "AWS_Personalize_Schema": { + "AWS_CodeBuild_Project": { "type": "object", - "markdownDescription": "Resource schema for AWS::Personalize::Schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-schema.html)", + "markdownDescription": "Resource Type definition for AWS::CodeBuild::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html)", "allOf": [ { "type": "object", @@ -1496,14 +1490,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Personalize::Schema" + "AWS::CodeBuild::Project" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Personalize::Schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-schema.html)" + "Resource Type definition for AWS::CodeBuild::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html)" ] }, "Properties": { - "$ref": "resources/aws-personalize-schema.json" + "$ref": "resources/aws-codebuild-project.json" } }, "required": [ @@ -1517,9 +1511,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SecurityGroupIngress": { + "AWS_IdentityStore_GroupMembership": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::SecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html)", + "markdownDescription": "Resource Type Definition for AWS:IdentityStore::GroupMembership \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-groupmembership.html)", "allOf": [ { "type": "object", @@ -1527,14 +1521,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SecurityGroupIngress" + "AWS::IdentityStore::GroupMembership" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::SecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html)" + "Resource Type Definition for AWS:IdentityStore::GroupMembership \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-groupmembership.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-securitygroupingress.json" + "$ref": "resources/aws-identitystore-groupmembership.json" } }, "required": [ @@ -1548,9 +1542,9 @@ ], "additionalProperties": false }, - "AWS_FSx_Volume": { + "AWS_IAM_InstanceProfile": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::FSx::Volume \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-volume.html)", + "markdownDescription": "Creates a new instance profile. For information about instance profiles, see [Using instance profiles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html).\n For information about the number of instance profiles you can create, see [object quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html)", "allOf": [ { "type": "object", @@ -1558,14 +1552,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FSx::Volume" + "AWS::IAM::InstanceProfile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::FSx::Volume \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-volume.html)" + "Creates a new instance profile. For information about instance profiles, see [Using instance profiles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html).\n For information about the number of instance profiles you can create, see [object quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-fsx-volume.json" + "$ref": "resources/aws-iam-instanceprofile.json" } }, "required": [ @@ -1579,9 +1573,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_APNSVoipChannel": { + "AWS_CloudFormation_LambdaHook": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::APNSVoipChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html)", + "markdownDescription": "This is a CloudFormation resource for the first-party AWS::Hooks::LambdaHook. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html)", "allOf": [ { "type": "object", @@ -1589,14 +1583,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::APNSVoipChannel" + "AWS::CloudFormation::LambdaHook" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::APNSVoipChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html)" + "This is a CloudFormation resource for the first-party AWS::Hooks::LambdaHook. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-apnsvoipchannel.json" + "$ref": "resources/aws-cloudformation-lambdahook.json" } }, "required": [ @@ -1610,9 +1604,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_SubnetGroup": { + "AWS_Oam_Sink": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElastiCache::SubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-subnetgroup.html)", + "markdownDescription": "Resource Type definition for AWS::Oam::Sink \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-sink.html)", "allOf": [ { "type": "object", @@ -1620,14 +1614,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::SubnetGroup" + "AWS::Oam::Sink" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElastiCache::SubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-subnetgroup.html)" + "Resource Type definition for AWS::Oam::Sink \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-sink.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-subnetgroup.json" + "$ref": "resources/aws-oam-sink.json" } }, "required": [ @@ -1641,9 +1635,9 @@ ], "additionalProperties": false }, - "AWS_Evidently_Experiment": { + "AWS_EKS_Nodegroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Evidently::Experiment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-experiment.html)", + "markdownDescription": "Resource schema for AWS::EKS::Nodegroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html)", "allOf": [ { "type": "object", @@ -1651,14 +1645,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Evidently::Experiment" + "AWS::EKS::Nodegroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Evidently::Experiment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-experiment.html)" + "Resource schema for AWS::EKS::Nodegroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html)" ] }, "Properties": { - "$ref": "resources/aws-evidently-experiment.json" + "$ref": "resources/aws-eks-nodegroup.json" } }, "required": [ @@ -1672,9 +1666,9 @@ ], "additionalProperties": false }, - "AWS_Transfer_Agreement": { + "AWS_EC2_RouteTable": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Transfer::Agreement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html)", + "markdownDescription": "Specifies a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.\n For more information, see [Route tables](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html)", "allOf": [ { "type": "object", @@ -1682,14 +1676,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Transfer::Agreement" + "AWS::EC2::RouteTable" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Transfer::Agreement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html)" + "Specifies a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.\n For more information, see [Route tables](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html)" ] }, "Properties": { - "$ref": "resources/aws-transfer-agreement.json" + "$ref": "resources/aws-ec2-routetable.json" } }, "required": [ @@ -1703,9 +1697,9 @@ ], "additionalProperties": false }, - "AWS_AppIntegrations_EventIntegration": { + "AWS_ImageBuilder_Image": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppIntegrations::EventIntegration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-eventintegration.html)", + "markdownDescription": "Resource schema for AWS::ImageBuilder::Image \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html)", "allOf": [ { "type": "object", @@ -1713,19 +1707,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AppIntegrations::EventIntegration" + "AWS::ImageBuilder::Image" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppIntegrations::EventIntegration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-eventintegration.html)" + "Resource schema for AWS::ImageBuilder::Image \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html)" ] }, "Properties": { - "$ref": "resources/aws-appintegrations-eventintegration.json" + "$ref": "resources/aws-imagebuilder-image.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -1734,9 +1727,9 @@ ], "additionalProperties": false }, - "AWS_Kinesis_StreamConsumer": { + "AWS_MediaPackageV2_ChannelGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Kinesis::StreamConsumer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-streamconsumer.html)", + "markdownDescription": "

Represents a channel group that facilitates the grouping of multiple channels.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channelgroup.html)", "allOf": [ { "type": "object", @@ -1744,14 +1737,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Kinesis::StreamConsumer" + "AWS::MediaPackageV2::ChannelGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Kinesis::StreamConsumer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-streamconsumer.html)" + "

Represents a channel group that facilitates the grouping of multiple channels.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channelgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesis-streamconsumer.json" + "$ref": "resources/aws-mediapackagev2-channelgroup.json" } }, "required": [ @@ -1765,9 +1758,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_Project": { + "AWS_Redshift_ClusterSecurityGroup": { "type": "object", - "markdownDescription": "Amazon DataZone projects are business use case\u2013based groupings of people, assets (data), and tools used to simplify access to the AWS analytics. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-project.html)", + "markdownDescription": "Resource Type definition for AWS::Redshift::ClusterSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroup.html)", "allOf": [ { "type": "object", @@ -1775,14 +1768,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::Project" + "AWS::Redshift::ClusterSecurityGroup" ], "markdownEnumDescriptions": [ - "Amazon DataZone projects are business use case\u2013based groupings of people, assets (data), and tools used to simplify access to the AWS analytics. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-project.html)" + "Resource Type definition for AWS::Redshift::ClusterSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroup.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-project.json" + "$ref": "resources/aws-redshift-clustersecuritygroup.json" } }, "required": [ @@ -1796,9 +1789,9 @@ ], "additionalProperties": false }, - "AWS_Athena_WorkGroup": { + "AWS_Macie_CustomDataIdentifier": { "type": "object", - "markdownDescription": "Resource schema for AWS::Athena::WorkGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html)", + "markdownDescription": "Macie CustomDataIdentifier resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html)", "allOf": [ { "type": "object", @@ -1806,14 +1799,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Athena::WorkGroup" + "AWS::Macie::CustomDataIdentifier" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Athena::WorkGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html)" + "Macie CustomDataIdentifier resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html)" ] }, "Properties": { - "$ref": "resources/aws-athena-workgroup.json" + "$ref": "resources/aws-macie-customdataidentifier.json" } }, "required": [ @@ -1827,9 +1820,9 @@ ], "additionalProperties": false }, - "AWS_Signer_SigningProfile": { + "AWS_ApiGateway_Model": { "type": "object", - "markdownDescription": "A signing profile is a signing template that can be used to carry out a pre-defined signing job. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-signingprofile.html)", + "markdownDescription": "The ``AWS::ApiGateway::Model`` resource defines the structure of a request or response payload for an API method. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html)", "allOf": [ { "type": "object", @@ -1837,14 +1830,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Signer::SigningProfile" + "AWS::ApiGateway::Model" ], "markdownEnumDescriptions": [ - "A signing profile is a signing template that can be used to carry out a pre-defined signing job. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-signingprofile.html)" + "The ``AWS::ApiGateway::Model`` resource defines the structure of a request or response payload for an API method. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html)" ] }, "Properties": { - "$ref": "resources/aws-signer-signingprofile.json" + "$ref": "resources/aws-apigateway-model.json" } }, "required": [ @@ -1858,9 +1851,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_CoreNetwork": { + "AWS_EC2_Volume": { "type": "object", - "markdownDescription": "AWS::NetworkManager::CoreNetwork Resource Type Definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-corenetwork.html)", + "markdownDescription": "Specifies an Amazon Elastic Block Store (Amazon EBS) volume.\n When you use CFNlong to update an Amazon EBS volume that modifies ``Iops``, ``Size``, or ``VolumeType``, there is a cooldown period before another operation can occur. This can cause your stack to report being in ``UPDATE_IN_PROGRESS`` or ``UPDATE_ROLLBACK_IN_PROGRESS`` for long periods of time.\n Amazon EBS does not support sizing down an Amazon EBS volume. CFNlong does not attempt to modify an Amazon EBS volume to a smaller size on rollback.\n Some common scenarios when you might encounter a cooldown period for Amazon EBS include:\n + You successfully update an Amazon EBS volume and the update succeeds. When you attempt another update within the cooldown window, that update will be subject to a cooldown period.\n + You successfully update an Amazon EBS volume and the update succeeds but another change in your ``update-stack`` call fails. The rollback will be subject to a cooldown period.\n \n For more information, see [Requirements for EBS volume modifications](https://docs.aws.amazon.com/ebs/latest/userguide/modify-volume-requirements.html).\n *DeletionPolicy attribute* \n To control how CFNlong handles the volume when the stack is deleted, set a deletion policy for your volume. You can choose to retain the volume, to delete the volume, or to create a snapshot of the volume. For more information, see [DeletionPolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).\n If you set a deletion policy that creates a snapshot, all tags on the volume are included in the snapshot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html)", "allOf": [ { "type": "object", @@ -1868,14 +1861,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::CoreNetwork" + "AWS::EC2::Volume" ], "markdownEnumDescriptions": [ - "AWS::NetworkManager::CoreNetwork Resource Type Definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-corenetwork.html)" + "Specifies an Amazon Elastic Block Store (Amazon EBS) volume.\n When you use CFNlong to update an Amazon EBS volume that modifies ``Iops``, ``Size``, or ``VolumeType``, there is a cooldown period before another operation can occur. This can cause your stack to report being in ``UPDATE_IN_PROGRESS`` or ``UPDATE_ROLLBACK_IN_PROGRESS`` for long periods of time.\n Amazon EBS does not support sizing down an Amazon EBS volume. CFNlong does not attempt to modify an Amazon EBS volume to a smaller size on rollback.\n Some common scenarios when you might encounter a cooldown period for Amazon EBS include:\n + You successfully update an Amazon EBS volume and the update succeeds. When you attempt another update within the cooldown window, that update will be subject to a cooldown period.\n + You successfully update an Amazon EBS volume and the update succeeds but another change in your ``update-stack`` call fails. The rollback will be subject to a cooldown period.\n \n For more information, see [Requirements for EBS volume modifications](https://docs.aws.amazon.com/ebs/latest/userguide/modify-volume-requirements.html).\n *DeletionPolicy attribute* \n To control how CFNlong handles the volume when the stack is deleted, set a deletion policy for your volume. You can choose to retain the volume, to delete the volume, or to create a snapshot of the volume. For more information, see [DeletionPolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).\n If you set a deletion policy that creates a snapshot, all tags on the volume are included in the snapshot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-corenetwork.json" + "$ref": "resources/aws-ec2-volume.json" } }, "required": [ @@ -1889,9 +1882,9 @@ ], "additionalProperties": false }, - "AWS_Logs_LogAnomalyDetector": { + "AWS_ElasticBeanstalk_ConfigurationTemplate": { "type": "object", - "markdownDescription": "The AWS::Logs::LogAnomalyDetector resource specifies a CloudWatch Logs LogAnomalyDetector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loganomalydetector.html)", + "markdownDescription": "Resource Type definition for AWS::ElasticBeanstalk::ConfigurationTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html)", "allOf": [ { "type": "object", @@ -1899,18 +1892,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::LogAnomalyDetector" + "AWS::ElasticBeanstalk::ConfigurationTemplate" ], "markdownEnumDescriptions": [ - "The AWS::Logs::LogAnomalyDetector resource specifies a CloudWatch Logs LogAnomalyDetector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loganomalydetector.html)" + "Resource Type definition for AWS::ElasticBeanstalk::ConfigurationTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-loganomalydetector.json" + "$ref": "resources/aws-elasticbeanstalk-configurationtemplate.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -1919,9 +1913,9 @@ ], "additionalProperties": false }, - "AWS_Omics_SequenceStore": { + "AWS_Deadline_Monitor": { "type": "object", - "markdownDescription": "Definition of AWS::Omics::SequenceStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-sequencestore.html)", + "markdownDescription": "Definition of AWS::Deadline::Monitor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-monitor.html)", "allOf": [ { "type": "object", @@ -1929,14 +1923,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Omics::SequenceStore" + "AWS::Deadline::Monitor" ], "markdownEnumDescriptions": [ - "Definition of AWS::Omics::SequenceStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-sequencestore.html)" + "Definition of AWS::Deadline::Monitor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-monitor.html)" ] }, "Properties": { - "$ref": "resources/aws-omics-sequencestore.json" + "$ref": "resources/aws-deadline-monitor.json" } }, "required": [ @@ -1950,9 +1944,9 @@ ], "additionalProperties": false }, - "AWS_SES_ConfigurationSetEventDestination": { + "AWS_Budgets_Budget": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SES::ConfigurationSetEventDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationseteventdestination.html)", + "markdownDescription": "Resource Type definition for AWS::Budgets::Budget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html)", "allOf": [ { "type": "object", @@ -1960,14 +1954,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::ConfigurationSetEventDestination" + "AWS::Budgets::Budget" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SES::ConfigurationSetEventDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationseteventdestination.html)" + "Resource Type definition for AWS::Budgets::Budget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-configurationseteventdestination.json" + "$ref": "resources/aws-budgets-budget.json" } }, "required": [ @@ -1981,9 +1975,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationHDFS": { + "AWS_B2BI_Capability": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationHDFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationhdfs.html)", + "markdownDescription": "Definition of AWS::B2BI::Capability Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-capability.html)", "allOf": [ { "type": "object", @@ -1991,14 +1985,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationHDFS" + "AWS::B2BI::Capability" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationHDFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationhdfs.html)" + "Definition of AWS::B2BI::Capability Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-capability.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationhdfs.json" + "$ref": "resources/aws-b2bi-capability.json" } }, "required": [ @@ -2012,9 +2006,9 @@ ], "additionalProperties": false }, - "AWS_SSO_PermissionSet": { + "AWS_QuickSight_DataSet": { "type": "object", - "markdownDescription": "Resource Type definition for SSO PermissionSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html)", + "markdownDescription": "Definition of the AWS::QuickSight::DataSet Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dataset.html)", "allOf": [ { "type": "object", @@ -2022,19 +2016,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SSO::PermissionSet" + "AWS::QuickSight::DataSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for SSO PermissionSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html)" + "Definition of the AWS::QuickSight::DataSet Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dataset.html)" ] }, "Properties": { - "$ref": "resources/aws-sso-permissionset.json" + "$ref": "resources/aws-quicksight-dataset.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -2043,9 +2036,9 @@ ], "additionalProperties": false }, - "AWS_CodeStar_GitHubRepository": { + "AWS_CodeConnections_Connection": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CodeStar::GitHubRepository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html)", + "markdownDescription": "Schema for AWS::CodeConnections::Connection resource which can be used to connect external source providers with other AWS services (i.e. AWS CodePipeline) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeconnections-connection.html)", "allOf": [ { "type": "object", @@ -2053,14 +2046,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeStar::GitHubRepository" + "AWS::CodeConnections::Connection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeStar::GitHubRepository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html)" + "Schema for AWS::CodeConnections::Connection resource which can be used to connect external source providers with other AWS services (i.e. AWS CodePipeline) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeconnections-connection.html)" ] }, "Properties": { - "$ref": "resources/aws-codestar-githubrepository.json" + "$ref": "resources/aws-codeconnections-connection.json" } }, "required": [ @@ -2074,9 +2067,9 @@ ], "additionalProperties": false }, - "AWS_NetworkFirewall_RuleGroup": { + "AWS_S3Express_BucketPolicy": { "type": "object", - "markdownDescription": "Resource type definition for AWS::NetworkFirewall::RuleGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-rulegroup.html)", + "markdownDescription": "Resource Type definition for AWS::S3Express::BucketPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-bucketpolicy.html)", "allOf": [ { "type": "object", @@ -2084,14 +2077,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkFirewall::RuleGroup" + "AWS::S3Express::BucketPolicy" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::NetworkFirewall::RuleGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-rulegroup.html)" + "Resource Type definition for AWS::S3Express::BucketPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-bucketpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-networkfirewall-rulegroup.json" + "$ref": "resources/aws-s3express-bucketpolicy.json" } }, "required": [ @@ -2105,9 +2098,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_BaiduChannel": { + "AWS_ApiGateway_UsagePlanKey": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::BaiduChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-baiduchannel.html)", + "markdownDescription": "The ``AWS::ApiGateway::UsagePlanKey`` resource associates an API key with a usage plan. This association determines which users the usage plan is applied to. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html)", "allOf": [ { "type": "object", @@ -2115,14 +2108,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::BaiduChannel" + "AWS::ApiGateway::UsagePlanKey" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::BaiduChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-baiduchannel.html)" + "The ``AWS::ApiGateway::UsagePlanKey`` resource associates an API key with a usage plan. This association determines which users the usage plan is applied to. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-baiduchannel.json" + "$ref": "resources/aws-apigateway-usageplankey.json" } }, "required": [ @@ -2136,9 +2129,9 @@ ], "additionalProperties": false }, - "AWS_IoT_ThingType": { + "AWS_IoT_BillingGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT::ThingType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingtype.html)", + "markdownDescription": "Resource Type definition for AWS::IoT::BillingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-billinggroup.html)", "allOf": [ { "type": "object", @@ -2146,14 +2139,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::ThingType" + "AWS::IoT::BillingGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::ThingType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingtype.html)" + "Resource Type definition for AWS::IoT::BillingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-billinggroup.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-thingtype.json" + "$ref": "resources/aws-iot-billinggroup.json" } }, "required": [ @@ -2166,9 +2159,9 @@ ], "additionalProperties": false }, - "AWS_B2BI_Profile": { + "AWS_DataSync_LocationFSxONTAP": { "type": "object", - "markdownDescription": "Definition of AWS::B2BI::Profile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-profile.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationFSxONTAP. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxontap.html)", "allOf": [ { "type": "object", @@ -2176,14 +2169,14 @@ "Type": { "type": "string", "enum": [ - "AWS::B2BI::Profile" + "AWS::DataSync::LocationFSxONTAP" ], "markdownEnumDescriptions": [ - "Definition of AWS::B2BI::Profile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-profile.html)" + "Resource schema for AWS::DataSync::LocationFSxONTAP. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxontap.html)" ] }, "Properties": { - "$ref": "resources/aws-b2bi-profile.json" + "$ref": "resources/aws-datasync-locationfsxontap.json" } }, "required": [ @@ -2197,9 +2190,9 @@ ], "additionalProperties": false }, - "AWS_Oam_Sink": { + "AWS_Shield_DRTAccess": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Oam::Sink \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-sink.html)", + "markdownDescription": "Config the role and list of Amazon S3 log buckets used by the Shield Response Team (SRT) to access your AWS account while assisting with attack mitigation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-drtaccess.html)", "allOf": [ { "type": "object", @@ -2207,14 +2200,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Oam::Sink" + "AWS::Shield::DRTAccess" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Oam::Sink \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-sink.html)" + "Config the role and list of Amazon S3 log buckets used by the Shield Response Team (SRT) to access your AWS account while assisting with attack mitigation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-drtaccess.html)" ] }, "Properties": { - "$ref": "resources/aws-oam-sink.json" + "$ref": "resources/aws-shield-drtaccess.json" } }, "required": [ @@ -2228,9 +2221,9 @@ ], "additionalProperties": false }, - "AWS_GuardDuty_ThreatIntelSet": { + "AWS_GameLift_ContainerFleet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GuardDuty::ThreatIntelSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html)", + "markdownDescription": "The AWS::GameLift::ContainerFleet resource creates an Amazon GameLift (GameLift) container fleet to host game servers. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containerfleet.html)", "allOf": [ { "type": "object", @@ -2238,14 +2231,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GuardDuty::ThreatIntelSet" + "AWS::GameLift::ContainerFleet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GuardDuty::ThreatIntelSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html)" + "The AWS::GameLift::ContainerFleet resource creates an Amazon GameLift (GameLift) container fleet to host game servers. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containerfleet.html)" ] }, "Properties": { - "$ref": "resources/aws-guardduty-threatintelset.json" + "$ref": "resources/aws-gamelift-containerfleet.json" } }, "required": [ @@ -2259,9 +2252,9 @@ ], "additionalProperties": false }, - "AWS_SES_DedicatedIpPool": { + "AWS_RolesAnywhere_Profile": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SES::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-dedicatedippool.html)", + "markdownDescription": "Definition of AWS::RolesAnywhere::Profile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html)", "allOf": [ { "type": "object", @@ -2269,18 +2262,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::DedicatedIpPool" + "AWS::RolesAnywhere::Profile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SES::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-dedicatedippool.html)" + "Definition of AWS::RolesAnywhere::Profile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-dedicatedippool.json" + "$ref": "resources/aws-rolesanywhere-profile.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -2289,9 +2283,9 @@ ], "additionalProperties": false }, - "AWS_Timestream_Database": { + "AWS_ApiGateway_Authorizer": { "type": "object", - "markdownDescription": "The AWS::Timestream::Database resource creates a Timestream database. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-database.html)", + "markdownDescription": "The ``AWS::ApiGateway::Authorizer`` resource creates an authorization layer that API Gateway activates for methods that have authorization enabled. API Gateway activates the authorizer when a client calls those methods. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html)", "allOf": [ { "type": "object", @@ -2299,18 +2293,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Timestream::Database" + "AWS::ApiGateway::Authorizer" ], "markdownEnumDescriptions": [ - "The AWS::Timestream::Database resource creates a Timestream database. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-database.html)" + "The ``AWS::ApiGateway::Authorizer`` resource creates an authorization layer that API Gateway activates for methods that have authorization enabled. API Gateway activates the authorizer when a client calls those methods. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html)" ] }, "Properties": { - "$ref": "resources/aws-timestream-database.json" + "$ref": "resources/aws-apigateway-authorizer.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -2319,9 +2314,9 @@ ], "additionalProperties": false }, - "AWS_IoTSiteWise_Project": { + "AWS_KMS_Alias": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTSiteWise::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.html)", + "markdownDescription": "The ``AWS::KMS::Alias`` resource specifies a display name for a [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys). You can use an alias to identify a KMS key in the KMS console, in the [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) operation, and in [cryptographic operations](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations), such as [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) and [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html).\n Adding, deleting, or updating an alias can allow or deny permission to the KMS key. For details, see [ABAC for](https://docs.aws.amazon.com/kms/latest/developerguide/abac.html) in the *Developer Guide*.\n Using an alias to refer to a KMS key can help you simplify key management. For example, an alias in your code can be associated with different KMS keys in different AWS-Regions. For more information, see [Using aliases](https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html) in the *Developer Guide*.\n When specifying an alias, observe the following rules.\n + Each alias is associated with one KMS key, but multiple aliases can be associated with the same KMS key.\n + The alias and its associated KMS key must be in the same AWS-account and Region.\n + The alias name must be unique in the AWS-account and Region. However, you can create aliases with the same name in different AWS-Regions. For example, you can have an ``alias/projectKey`` in multiple Regions, each of which is associated with a KMS key in its Region.\n + Each alias name must begin with ``alias/`` followed by a name, such as ``alias/exampleKey``. The alias name can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). Alias names cannot begin with ``alias/aws/``. That alias name prefix is reserved for [](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk).\n \n *Regions* \n KMS CloudFormation resources are available in all AWS-Regions in which KMS and CFN are supported. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html)", "allOf": [ { "type": "object", @@ -2329,14 +2324,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTSiteWise::Project" + "AWS::KMS::Alias" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTSiteWise::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.html)" + "The ``AWS::KMS::Alias`` resource specifies a display name for a [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys). You can use an alias to identify a KMS key in the KMS console, in the [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) operation, and in [cryptographic operations](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations), such as [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) and [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html).\n Adding, deleting, or updating an alias can allow or deny permission to the KMS key. For details, see [ABAC for](https://docs.aws.amazon.com/kms/latest/developerguide/abac.html) in the *Developer Guide*.\n Using an alias to refer to a KMS key can help you simplify key management. For example, an alias in your code can be associated with different KMS keys in different AWS-Regions. For more information, see [Using aliases](https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html) in the *Developer Guide*.\n When specifying an alias, observe the following rules.\n + Each alias is associated with one KMS key, but multiple aliases can be associated with the same KMS key.\n + The alias and its associated KMS key must be in the same AWS-account and Region.\n + The alias name must be unique in the AWS-account and Region. However, you can create aliases with the same name in different AWS-Regions. For example, you can have an ``alias/projectKey`` in multiple Regions, each of which is associated with a KMS key in its Region.\n + Each alias name must begin with ``alias/`` followed by a name, such as ``alias/exampleKey``. The alias name can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). Alias names cannot begin with ``alias/aws/``. That alias name prefix is reserved for [](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk).\n \n *Regions* \n KMS CloudFormation resources are available in all AWS-Regions in which KMS and CFN are supported. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html)" ] }, "Properties": { - "$ref": "resources/aws-iotsitewise-project.json" + "$ref": "resources/aws-kms-alias.json" } }, "required": [ @@ -2350,9 +2345,9 @@ ], "additionalProperties": false }, - "AWS_SSMContacts_Rotation": { + "AWS_RedshiftServerless_Namespace": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SSMContacts::Rotation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-rotation.html)", + "markdownDescription": "Definition of AWS::RedshiftServerless::Namespace Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html)", "allOf": [ { "type": "object", @@ -2360,14 +2355,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSMContacts::Rotation" + "AWS::RedshiftServerless::Namespace" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSMContacts::Rotation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-rotation.html)" + "Definition of AWS::RedshiftServerless::Namespace Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html)" ] }, "Properties": { - "$ref": "resources/aws-ssmcontacts-rotation.json" + "$ref": "resources/aws-redshiftserverless-namespace.json" } }, "required": [ @@ -2381,9 +2376,9 @@ ], "additionalProperties": false }, - "AWS_IoTCoreDeviceAdvisor_SuiteDefinition": { + "AWS_CloudFormation_ModuleDefaultVersion": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotcoredeviceadvisor-suitedefinition.html)", + "markdownDescription": "A module that has been registered in the CloudFormation registry as the default version \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduledefaultversion.html)", "allOf": [ { "type": "object", @@ -2391,19 +2386,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" + "AWS::CloudFormation::ModuleDefaultVersion" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotcoredeviceadvisor-suitedefinition.html)" + "A module that has been registered in the CloudFormation registry as the default version \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduledefaultversion.html)" ] }, "Properties": { - "$ref": "resources/aws-iotcoredeviceadvisor-suitedefinition.json" + "$ref": "resources/aws-cloudformation-moduledefaultversion.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -2412,9 +2406,9 @@ ], "additionalProperties": false }, - "AWS_PinpointEmail_ConfigurationSetEventDestination": { + "AWS_ServiceCatalog_PortfolioPrincipalAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::PinpointEmail::ConfigurationSetEventDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationseteventdestination.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::PortfolioPrincipalAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html)", "allOf": [ { "type": "object", @@ -2422,14 +2416,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PinpointEmail::ConfigurationSetEventDestination" + "AWS::ServiceCatalog::PortfolioPrincipalAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::PinpointEmail::ConfigurationSetEventDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationseteventdestination.html)" + "Resource Type definition for AWS::ServiceCatalog::PortfolioPrincipalAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpointemail-configurationseteventdestination.json" + "$ref": "resources/aws-servicecatalog-portfolioprincipalassociation.json" } }, "required": [ @@ -2443,9 +2437,9 @@ ], "additionalProperties": false }, - "AWS_B2BI_Partnership": { + "AWS_EventSchemas_Registry": { "type": "object", - "markdownDescription": "Definition of AWS::B2BI::Partnership Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-partnership.html)", + "markdownDescription": "Resource Type definition for AWS::EventSchemas::Registry \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html)", "allOf": [ { "type": "object", @@ -2453,19 +2447,18 @@ "Type": { "type": "string", "enum": [ - "AWS::B2BI::Partnership" + "AWS::EventSchemas::Registry" ], "markdownEnumDescriptions": [ - "Definition of AWS::B2BI::Partnership Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-partnership.html)" + "Resource Type definition for AWS::EventSchemas::Registry \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html)" ] }, "Properties": { - "$ref": "resources/aws-b2bi-partnership.json" + "$ref": "resources/aws-eventschemas-registry.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -2474,9 +2467,9 @@ ], "additionalProperties": false }, - "AWS_SES_ReceiptFilter": { + "AWS_ECS_CapacityProvider": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SES::ReceiptFilter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptfilter.html)", + "markdownDescription": "Resource Type definition for AWS::ECS::CapacityProvider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html)", "allOf": [ { "type": "object", @@ -2484,19 +2477,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::ReceiptFilter" + "AWS::ECS::CapacityProvider" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SES::ReceiptFilter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptfilter.html)" + "Resource Type definition for AWS::ECS::CapacityProvider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-receiptfilter.json" + "$ref": "resources/aws-ecs-capacityprovider.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -2505,9 +2497,9 @@ ], "additionalProperties": false }, - "AWS_EKS_AccessEntry": { + "AWS_Kinesis_Stream": { "type": "object", - "markdownDescription": "An object representing an Amazon EKS AccessEntry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-accessentry.html)", + "markdownDescription": "Resource Type definition for AWS::Kinesis::Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html)", "allOf": [ { "type": "object", @@ -2515,19 +2507,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EKS::AccessEntry" + "AWS::Kinesis::Stream" ], "markdownEnumDescriptions": [ - "An object representing an Amazon EKS AccessEntry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-accessentry.html)" + "Resource Type definition for AWS::Kinesis::Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html)" ] }, "Properties": { - "$ref": "resources/aws-eks-accessentry.json" + "$ref": "resources/aws-kinesis-stream.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -2536,9 +2527,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_EmailChannel": { + "AWS_Glue_Job": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::EmailChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailchannel.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::Job \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html)", "allOf": [ { "type": "object", @@ -2546,14 +2537,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::EmailChannel" + "AWS::Glue::Job" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::EmailChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailchannel.html)" + "Resource Type definition for AWS::Glue::Job \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-emailchannel.json" + "$ref": "resources/aws-glue-job.json" } }, "required": [ @@ -2567,9 +2558,9 @@ ], "additionalProperties": false }, - "AWS_IoTEvents_AlarmModel": { + "AWS_EC2_VPCEndpointServicePermissions": { "type": "object", - "markdownDescription": "The AWS::IoTEvents::AlarmModel resource creates a alarm model. AWS IoT Events alarms help you monitor your data for changes. The data can be metrics that you measure for your equipment and processes. You can create alarms that send notifications when a threshold is breached. Alarms help you detect issues, streamline maintenance, and optimize performance of your equipment and processes.\n\nAlarms are instances of alarm models. The alarm model specifies what to detect, when to send notifications, who gets notified, and more. You can also specify one or more supported actions that occur when the alarm state changes. AWS IoT Events routes input attributes derived from your data to the appropriate alarms. If the data that you're monitoring is outside the specified range, the alarm is invoked. You can also acknowledge the alarms or set them to the snooze mode. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-alarmmodel.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::VPCEndpointServicePermissions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservicepermissions.html)", "allOf": [ { "type": "object", @@ -2577,14 +2568,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTEvents::AlarmModel" + "AWS::EC2::VPCEndpointServicePermissions" ], "markdownEnumDescriptions": [ - "The AWS::IoTEvents::AlarmModel resource creates a alarm model. AWS IoT Events alarms help you monitor your data for changes. The data can be metrics that you measure for your equipment and processes. You can create alarms that send notifications when a threshold is breached. Alarms help you detect issues, streamline maintenance, and optimize performance of your equipment and processes.\n\nAlarms are instances of alarm models. The alarm model specifies what to detect, when to send notifications, who gets notified, and more. You can also specify one or more supported actions that occur when the alarm state changes. AWS IoT Events routes input attributes derived from your data to the appropriate alarms. If the data that you're monitoring is outside the specified range, the alarm is invoked. You can also acknowledge the alarms or set them to the snooze mode. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-alarmmodel.html)" + "Resource Type definition for AWS::EC2::VPCEndpointServicePermissions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservicepermissions.html)" ] }, "Properties": { - "$ref": "resources/aws-iotevents-alarmmodel.json" + "$ref": "resources/aws-ec2-vpcendpointservicepermissions.json" } }, "required": [ @@ -2598,9 +2589,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_TransitGatewayRouteTableAttachment": { + "AWS_Panorama_PackageVersion": { "type": "object", - "markdownDescription": "AWS::NetworkManager::TransitGatewayRouteTableAttachment Resource Type definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html)", + "markdownDescription": "Registers a package version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-packageversion.html)", "allOf": [ { "type": "object", @@ -2608,14 +2599,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::TransitGatewayRouteTableAttachment" + "AWS::Panorama::PackageVersion" ], "markdownEnumDescriptions": [ - "AWS::NetworkManager::TransitGatewayRouteTableAttachment Resource Type definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html)" + "Registers a package version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-packageversion.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-transitgatewayroutetableattachment.json" + "$ref": "resources/aws-panorama-packageversion.json" } }, "required": [ @@ -2629,9 +2620,9 @@ ], "additionalProperties": false }, - "AWS_EC2_ClientVpnAuthorizationRule": { + "AWS_Glue_SchemaVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::ClientVpnAuthorizationRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html)", + "markdownDescription": "This resource represents an individual schema version of a schema defined in Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversion.html)", "allOf": [ { "type": "object", @@ -2639,14 +2630,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::ClientVpnAuthorizationRule" + "AWS::Glue::SchemaVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::ClientVpnAuthorizationRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html)" + "This resource represents an individual schema version of a schema defined in Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversion.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-clientvpnauthorizationrule.json" + "$ref": "resources/aws-glue-schemaversion.json" } }, "required": [ @@ -2660,9 +2651,9 @@ ], "additionalProperties": false }, - "AWS_Events_ApiDestination": { + "AWS_DAX_Cluster": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Events::ApiDestination. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html)", + "markdownDescription": "Resource Type definition for AWS::DAX::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html)", "allOf": [ { "type": "object", @@ -2670,14 +2661,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Events::ApiDestination" + "AWS::DAX::Cluster" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Events::ApiDestination. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html)" + "Resource Type definition for AWS::DAX::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-events-apidestination.json" + "$ref": "resources/aws-dax-cluster.json" } }, "required": [ @@ -2691,9 +2682,9 @@ ], "additionalProperties": false }, - "AWS_MSK_Replicator": { + "AWS_GameLift_Fleet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MSK::Replicator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-replicator.html)", + "markdownDescription": "The AWS::GameLift::Fleet resource creates an Amazon GameLift (GameLift) fleet to host game servers. A fleet is a set of EC2 or Anywhere instances, each of which can host multiple game sessions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html)", "allOf": [ { "type": "object", @@ -2701,14 +2692,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MSK::Replicator" + "AWS::GameLift::Fleet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MSK::Replicator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-replicator.html)" + "The AWS::GameLift::Fleet resource creates an Amazon GameLift (GameLift) fleet to host game servers. A fleet is a set of EC2 or Anywhere instances, each of which can host multiple game sessions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html)" ] }, "Properties": { - "$ref": "resources/aws-msk-replicator.json" + "$ref": "resources/aws-gamelift-fleet.json" } }, "required": [ @@ -2722,9 +2713,9 @@ ], "additionalProperties": false }, - "AWS_FIS_TargetAccountConfiguration": { + "AWS_MediaLive_ChannelPlacementGroup": { "type": "object", - "markdownDescription": "Resource schema for AWS::FIS::TargetAccountConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-targetaccountconfiguration.html)", + "markdownDescription": "Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channelplacementgroup.html)", "allOf": [ { "type": "object", @@ -2732,19 +2723,18 @@ "Type": { "type": "string", "enum": [ - "AWS::FIS::TargetAccountConfiguration" + "AWS::MediaLive::ChannelPlacementGroup" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::FIS::TargetAccountConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-targetaccountconfiguration.html)" + "Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channelplacementgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-fis-targetaccountconfiguration.json" + "$ref": "resources/aws-medialive-channelplacementgroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -2753,9 +2743,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackageV2_ChannelGroup": { + "AWS_Glue_DataCatalogEncryptionSettings": { "type": "object", - "markdownDescription": "

Represents a channel group that facilitates the grouping of multiple channels.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channelgroup.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::DataCatalogEncryptionSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-datacatalogencryptionsettings.html)", "allOf": [ { "type": "object", @@ -2763,14 +2753,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackageV2::ChannelGroup" + "AWS::Glue::DataCatalogEncryptionSettings" ], "markdownEnumDescriptions": [ - "

Represents a channel group that facilitates the grouping of multiple channels.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channelgroup.html)" + "Resource Type definition for AWS::Glue::DataCatalogEncryptionSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-datacatalogencryptionsettings.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackagev2-channelgroup.json" + "$ref": "resources/aws-glue-datacatalogencryptionsettings.json" } }, "required": [ @@ -2784,9 +2774,9 @@ ], "additionalProperties": false }, - "AWS_CloudWatch_AnomalyDetector": { + "AWS_Logs_Delivery": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudWatch::AnomalyDetector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html)", + "markdownDescription": "This structure contains information about one delivery in your account.\n\nA delivery is a connection between a logical delivery source and a logical delivery destination.\n\nFor more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-delivery.html)", "allOf": [ { "type": "object", @@ -2794,18 +2784,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudWatch::AnomalyDetector" + "AWS::Logs::Delivery" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudWatch::AnomalyDetector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html)" + "This structure contains information about one delivery in your account.\n\nA delivery is a connection between a logical delivery source and a logical delivery destination.\n\nFor more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-delivery.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudwatch-anomalydetector.json" + "$ref": "resources/aws-logs-delivery.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -2814,9 +2805,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_DocumentationPart": { + "AWS_CleanRooms_Collaboration": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::DocumentationPart`` resource creates a documentation part for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html)", + "markdownDescription": "Represents a collaboration between AWS accounts that allows for secure data collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-collaboration.html)", "allOf": [ { "type": "object", @@ -2824,14 +2815,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::DocumentationPart" + "AWS::CleanRooms::Collaboration" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::DocumentationPart`` resource creates a documentation part for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html)" + "Represents a collaboration between AWS accounts that allows for secure data collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-collaboration.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-documentationpart.json" + "$ref": "resources/aws-cleanrooms-collaboration.json" } }, "required": [ @@ -2845,9 +2836,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_QueueEnvironment": { + "AWS_Greengrass_DeviceDefinitionVersion": { "type": "object", - "markdownDescription": "Definition of AWS::Deadline::QueueEnvironment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queueenvironment.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::DeviceDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html)", "allOf": [ { "type": "object", @@ -2855,14 +2846,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::QueueEnvironment" + "AWS::Greengrass::DeviceDefinitionVersion" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::QueueEnvironment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queueenvironment.html)" + "Resource Type definition for AWS::Greengrass::DeviceDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html)" ] }, "Properties": { - "$ref": "resources/aws-deadline-queueenvironment.json" + "$ref": "resources/aws-greengrass-devicedefinitionversion.json" } }, "required": [ @@ -2876,9 +2867,9 @@ ], "additionalProperties": false }, - "AWS_EC2_CustomerGateway": { + "AWS_VerifiedPermissions_PolicyStore": { "type": "object", - "markdownDescription": "Specifies a customer gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customergateway.html)", + "markdownDescription": "Represents a policy store that you can place schema, policies, and policy templates in to validate authorization requests \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policystore.html)", "allOf": [ { "type": "object", @@ -2886,14 +2877,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::CustomerGateway" + "AWS::VerifiedPermissions::PolicyStore" ], "markdownEnumDescriptions": [ - "Specifies a customer gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customergateway.html)" + "Represents a policy store that you can place schema, policies, and policy templates in to validate authorization requests \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policystore.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-customergateway.json" + "$ref": "resources/aws-verifiedpermissions-policystore.json" } }, "required": [ @@ -2907,9 +2898,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_IdentityPoolPrincipalTag": { + "AWS_MediaTailor_PlaybackConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::IdentityPoolPrincipalTag \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolprincipaltag.html)", + "markdownDescription": "Resource schema for AWS::MediaTailor::PlaybackConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html)", "allOf": [ { "type": "object", @@ -2917,14 +2908,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::IdentityPoolPrincipalTag" + "AWS::MediaTailor::PlaybackConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::IdentityPoolPrincipalTag \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolprincipaltag.html)" + "Resource schema for AWS::MediaTailor::PlaybackConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-identitypoolprincipaltag.json" + "$ref": "resources/aws-mediatailor-playbackconfiguration.json" } }, "required": [ @@ -2938,9 +2929,9 @@ ], "additionalProperties": false }, - "AWS_Chatbot_SlackChannelConfiguration": { + "AWS_EC2_TransitGatewayMulticastDomain": { "type": "object", - "markdownDescription": "Resource schema for AWS::Chatbot::SlackChannelConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html)", + "markdownDescription": "The AWS::EC2::TransitGatewayMulticastDomain type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomain.html)", "allOf": [ { "type": "object", @@ -2948,14 +2939,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Chatbot::SlackChannelConfiguration" + "AWS::EC2::TransitGatewayMulticastDomain" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Chatbot::SlackChannelConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html)" + "The AWS::EC2::TransitGatewayMulticastDomain type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomain.html)" ] }, "Properties": { - "$ref": "resources/aws-chatbot-slackchannelconfiguration.json" + "$ref": "resources/aws-ec2-transitgatewaymulticastdomain.json" } }, "required": [ @@ -2969,9 +2960,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_Account": { + "AWS_WorkSpacesThinClient_Environment": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::Account`` resource specifies the IAM role that Amazon API Gateway uses to write API logs to Amazon CloudWatch Logs. To avoid overwriting other roles, you should only have one ``AWS::ApiGateway::Account`` resource per region per account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html)", + "markdownDescription": "Resource type definition for AWS::WorkSpacesThinClient::Environment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesthinclient-environment.html)", "allOf": [ { "type": "object", @@ -2979,18 +2970,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::Account" + "AWS::WorkSpacesThinClient::Environment" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::Account`` resource specifies the IAM role that Amazon API Gateway uses to write API logs to Amazon CloudWatch Logs. To avoid overwriting other roles, you should only have one ``AWS::ApiGateway::Account`` resource per region per account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html)" + "Resource type definition for AWS::WorkSpacesThinClient::Environment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesthinclient-environment.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-account.json" + "$ref": "resources/aws-workspacesthinclient-environment.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -2999,9 +2991,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_ImagePipeline": { + "AWS_Pinpoint_EmailTemplate": { "type": "object", - "markdownDescription": "Resource schema for AWS::ImageBuilder::ImagePipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::EmailTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html)", "allOf": [ { "type": "object", @@ -3009,18 +3001,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::ImagePipeline" + "AWS::Pinpoint::EmailTemplate" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::ImagePipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html)" + "Resource Type definition for AWS::Pinpoint::EmailTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-imagebuilder-imagepipeline.json" + "$ref": "resources/aws-pinpoint-emailtemplate.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -3029,9 +3022,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_ConfiguredTableAssociation": { + "AWS_Bedrock_AgentAlias": { "type": "object", - "markdownDescription": "Represents a table that can be queried within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html)", + "markdownDescription": "Definition of AWS::Bedrock::AgentAlias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html)", "allOf": [ { "type": "object", @@ -3039,14 +3032,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::ConfiguredTableAssociation" + "AWS::Bedrock::AgentAlias" ], "markdownEnumDescriptions": [ - "Represents a table that can be queried within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html)" + "Definition of AWS::Bedrock::AgentAlias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html)" ] }, "Properties": { - "$ref": "resources/aws-cleanrooms-configuredtableassociation.json" + "$ref": "resources/aws-bedrock-agentalias.json" } }, "required": [ @@ -3060,9 +3053,9 @@ ], "additionalProperties": false }, - "AWS_CleanRoomsML_TrainingDataset": { + "AWS_EC2_IPAMPoolCidr": { "type": "object", - "markdownDescription": "Definition of AWS::CleanRoomsML::TrainingDataset Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanroomsml-trainingdataset.html)", + "markdownDescription": "Resource Schema of AWS::EC2::IPAMPoolCidr Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampoolcidr.html)", "allOf": [ { "type": "object", @@ -3070,14 +3063,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRoomsML::TrainingDataset" + "AWS::EC2::IPAMPoolCidr" ], "markdownEnumDescriptions": [ - "Definition of AWS::CleanRoomsML::TrainingDataset Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanroomsml-trainingdataset.html)" + "Resource Schema of AWS::EC2::IPAMPoolCidr Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampoolcidr.html)" ] }, "Properties": { - "$ref": "resources/aws-cleanroomsml-trainingdataset.json" + "$ref": "resources/aws-ec2-ipampoolcidr.json" } }, "required": [ @@ -3091,9 +3084,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationAzureBlob": { + "AWS_SupportApp_SlackWorkspaceConfiguration": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationAzureBlob. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html)", + "markdownDescription": "An AWS Support App resource that creates, updates, lists, and deletes Slack workspace configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackworkspaceconfiguration.html)", "allOf": [ { "type": "object", @@ -3101,14 +3094,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationAzureBlob" + "AWS::SupportApp::SlackWorkspaceConfiguration" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationAzureBlob. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html)" + "An AWS Support App resource that creates, updates, lists, and deletes Slack workspace configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackworkspaceconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationazureblob.json" + "$ref": "resources/aws-supportapp-slackworkspaceconfiguration.json" } }, "required": [ @@ -3122,9 +3115,9 @@ ], "additionalProperties": false }, - "AWS_Budgets_BudgetsAction": { + "AWS_Deadline_LicenseEndpoint": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budgetsaction.html)", + "markdownDescription": "Definition of AWS::Deadline::LicenseEndpoint Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-licenseendpoint.html)", "allOf": [ { "type": "object", @@ -3132,14 +3125,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Budgets::BudgetsAction" + "AWS::Deadline::LicenseEndpoint" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budgetsaction.html)" + "Definition of AWS::Deadline::LicenseEndpoint Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-licenseendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-budgets-budgetsaction.json" + "$ref": "resources/aws-deadline-licenseendpoint.json" } }, "required": [ @@ -3153,9 +3146,9 @@ ], "additionalProperties": false }, - "AWS_GroundStation_Config": { + "AWS_Organizations_Organization": { "type": "object", - "markdownDescription": "AWS Ground Station config resource type for CloudFormation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-config.html)", + "markdownDescription": "Resource schema for AWS::Organizations::Organization \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-organization.html)", "allOf": [ { "type": "object", @@ -3163,19 +3156,18 @@ "Type": { "type": "string", "enum": [ - "AWS::GroundStation::Config" + "AWS::Organizations::Organization" ], "markdownEnumDescriptions": [ - "AWS Ground Station config resource type for CloudFormation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-config.html)" + "Resource schema for AWS::Organizations::Organization \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-organization.html)" ] }, "Properties": { - "$ref": "resources/aws-groundstation-config.json" + "$ref": "resources/aws-organizations-organization.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -3184,9 +3176,9 @@ ], "additionalProperties": false }, - "AWS_IoTSiteWise_Portal": { + "AWS_NetworkFirewall_FirewallPolicy": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTSiteWise::Portal \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-portal.html)", + "markdownDescription": "Resource type definition for AWS::NetworkFirewall::FirewallPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewallpolicy.html)", "allOf": [ { "type": "object", @@ -3194,14 +3186,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTSiteWise::Portal" + "AWS::NetworkFirewall::FirewallPolicy" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTSiteWise::Portal \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-portal.html)" + "Resource type definition for AWS::NetworkFirewall::FirewallPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewallpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-iotsitewise-portal.json" + "$ref": "resources/aws-networkfirewall-firewallpolicy.json" } }, "required": [ @@ -3215,9 +3207,9 @@ ], "additionalProperties": false }, - "AWS_IVSChat_LoggingConfiguration": { + "AWS_EKS_Addon": { "type": "object", - "markdownDescription": "Resource type definition for AWS::IVSChat::LoggingConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-loggingconfiguration.html)", + "markdownDescription": "Resource Schema for AWS::EKS::Addon \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html)", "allOf": [ { "type": "object", @@ -3225,14 +3217,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IVSChat::LoggingConfiguration" + "AWS::EKS::Addon" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::IVSChat::LoggingConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-loggingconfiguration.html)" + "Resource Schema for AWS::EKS::Addon \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html)" ] }, "Properties": { - "$ref": "resources/aws-ivschat-loggingconfiguration.json" + "$ref": "resources/aws-eks-addon.json" } }, "required": [ @@ -3246,9 +3238,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_ModelPackage": { + "AWS_Glue_Crawler": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelPackage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackage.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::Crawler \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html)", "allOf": [ { "type": "object", @@ -3256,18 +3248,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::ModelPackage" + "AWS::Glue::Crawler" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::ModelPackage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackage.html)" + "Resource Type definition for AWS::Glue::Crawler \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-modelpackage.json" + "$ref": "resources/aws-glue-crawler.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -3276,9 +3269,9 @@ ], "additionalProperties": false }, - "AWS_EC2_FlowLog": { + "AWS_Redshift_EndpointAuthorization": { "type": "object", - "markdownDescription": "Specifies a VPC flow log, which enables you to capture IP traffic for a specific network interface, subnet, or VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html)", + "markdownDescription": "Describes an endpoint authorization for authorizing Redshift-managed VPC endpoint access to a cluster across AWS accounts. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-endpointauthorization.html)", "allOf": [ { "type": "object", @@ -3286,14 +3279,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::FlowLog" + "AWS::Redshift::EndpointAuthorization" ], "markdownEnumDescriptions": [ - "Specifies a VPC flow log, which enables you to capture IP traffic for a specific network interface, subnet, or VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html)" + "Describes an endpoint authorization for authorizing Redshift-managed VPC endpoint access to a cluster across AWS accounts. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-endpointauthorization.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-flowlog.json" + "$ref": "resources/aws-redshift-endpointauthorization.json" } }, "required": [ @@ -3307,9 +3300,9 @@ ], "additionalProperties": false }, - "AWS_CE_CostCategory": { + "AWS_ECR_Repository": { "type": "object", - "markdownDescription": "Cost Category enables you to map your cost and usage into meaningful categories. You can use Cost Category to organize your costs using a rule-based engine. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html)", + "markdownDescription": "The ``AWS::ECR::Repository`` resource specifies an Amazon Elastic Container Registry (Amazon ECR) repository, where users can push and pull Docker images, Open Container Initiative (OCI) images, and OCI compatible artifacts. For more information, see [Amazon ECR private repositories](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html) in the *Amazon ECR User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html)", "allOf": [ { "type": "object", @@ -3317,19 +3310,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CE::CostCategory" + "AWS::ECR::Repository" ], "markdownEnumDescriptions": [ - "Cost Category enables you to map your cost and usage into meaningful categories. You can use Cost Category to organize your costs using a rule-based engine. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html)" + "The ``AWS::ECR::Repository`` resource specifies an Amazon Elastic Container Registry (Amazon ECR) repository, where users can push and pull Docker images, Open Container Initiative (OCI) images, and OCI compatible artifacts. For more information, see [Amazon ECR private repositories](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html) in the *Amazon ECR User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html)" ] }, "Properties": { - "$ref": "resources/aws-ce-costcategory.json" + "$ref": "resources/aws-ecr-repository.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -3338,9 +3330,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_PortfolioProductAssociation": { + "AWS_Connect_TaskTemplate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::PortfolioProductAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioproductassociation.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::TaskTemplate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-tasktemplate.html)", "allOf": [ { "type": "object", @@ -3348,14 +3340,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::PortfolioProductAssociation" + "AWS::Connect::TaskTemplate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::PortfolioProductAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioproductassociation.html)" + "Resource Type definition for AWS::Connect::TaskTemplate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-tasktemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-portfolioproductassociation.json" + "$ref": "resources/aws-connect-tasktemplate.json" } }, "required": [ @@ -3369,9 +3361,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_FlowAlias": { + "AWS_AppConfig_ConfigurationProfile": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::FlowAlias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html)", "allOf": [ { "type": "object", @@ -3379,14 +3371,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::FlowAlias" + "AWS::AppConfig::ConfigurationProfile" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::FlowAlias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-flowalias.json" + "$ref": "resources/aws-appconfig-configurationprofile.json" } }, "required": [ @@ -3400,9 +3392,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_EventStream": { + "AWS_Greengrass_SubscriptionDefinitionVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::EventStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-eventstream.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::SubscriptionDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html)", "allOf": [ { "type": "object", @@ -3410,14 +3402,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::EventStream" + "AWS::Greengrass::SubscriptionDefinitionVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::EventStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-eventstream.html)" + "Resource Type definition for AWS::Greengrass::SubscriptionDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-eventstream.json" + "$ref": "resources/aws-greengrass-subscriptiondefinitionversion.json" } }, "required": [ @@ -3431,9 +3423,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_ConfigurationPolicy": { + "AWS_IAM_SAMLProvider": { "type": "object", - "markdownDescription": "The AWS::SecurityHub::ConfigurationPolicy resource represents the Central Configuration Policy in your account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-configurationpolicy.html)", + "markdownDescription": "Resource Type definition for AWS::IAM::SAMLProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-samlprovider.html)", "allOf": [ { "type": "object", @@ -3441,14 +3433,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::ConfigurationPolicy" + "AWS::IAM::SAMLProvider" ], "markdownEnumDescriptions": [ - "The AWS::SecurityHub::ConfigurationPolicy resource represents the Central Configuration Policy in your account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-configurationpolicy.html)" + "Resource Type definition for AWS::IAM::SAMLProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-samlprovider.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-configurationpolicy.json" + "$ref": "resources/aws-iam-samlprovider.json" } }, "required": [ @@ -3462,9 +3454,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_Hub": { + "AWS_SecretsManager_Secret": { "type": "object", - "markdownDescription": "The AWS::SecurityHub::Hub resource represents the implementation of the AWS Security Hub service in your account. One hub resource is created for each Region in which you enable Security Hub.\n\n \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html)", + "markdownDescription": "Creates a new secret. A *secret* can be a password, a set of credentials such as a user name and password, an OAuth token, or other secret information that you store in an encrypted form in Secrets Manager.\n For RDS master user credentials, see [AWS::RDS::DBCluster MasterUserSecret](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html).\n For RS admin user credentials, see [AWS::Redshift::Cluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html).\n To retrieve a secret in a CFNshort template, use a *dynamic reference*. For more information, see [Retrieve a secret in an resource](https://docs.aws.amazon.com/secretsmanager/latest/userguide/cfn-example_reference-secret.html).\n For information about creating a secret in the console, see [Create a secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html). For information about creating a secret using the CLI or SDK, see [CreateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html).\n For information about retrieving a secret in code, see [Retrieve secrets from Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html)", "allOf": [ { "type": "object", @@ -3472,14 +3464,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::Hub" + "AWS::SecretsManager::Secret" ], "markdownEnumDescriptions": [ - "The AWS::SecurityHub::Hub resource represents the implementation of the AWS Security Hub service in your account. One hub resource is created for each Region in which you enable Security Hub.\n\n \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html)" + "Creates a new secret. A *secret* can be a password, a set of credentials such as a user name and password, an OAuth token, or other secret information that you store in an encrypted form in Secrets Manager.\n For RDS master user credentials, see [AWS::RDS::DBCluster MasterUserSecret](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html).\n For RS admin user credentials, see [AWS::Redshift::Cluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html).\n To retrieve a secret in a CFNshort template, use a *dynamic reference*. For more information, see [Retrieve a secret in an resource](https://docs.aws.amazon.com/secretsmanager/latest/userguide/cfn-example_reference-secret.html).\n For information about creating a secret in the console, see [Create a secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html). For information about creating a secret using the CLI or SDK, see [CreateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html).\n For information about retrieving a secret in code, see [Retrieve secrets from Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-hub.json" + "$ref": "resources/aws-secretsmanager-secret.json" } }, "required": [ @@ -3492,9 +3484,9 @@ ], "additionalProperties": false }, - "AWS_Macie_Session": { + "AWS_NetworkManager_Site": { "type": "object", - "markdownDescription": "The AWS::Macie::Session resource specifies a new Amazon Macie session. A session is an object that represents the Amazon Macie service. A session is required for Amazon Macie to become operational. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-session.html)", + "markdownDescription": "The AWS::NetworkManager::Site type describes a site. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html)", "allOf": [ { "type": "object", @@ -3502,18 +3494,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Macie::Session" + "AWS::NetworkManager::Site" ], "markdownEnumDescriptions": [ - "The AWS::Macie::Session resource specifies a new Amazon Macie session. A session is an object that represents the Amazon Macie service. A session is required for Amazon Macie to become operational. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-session.html)" + "The AWS::NetworkManager::Site type describes a site. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html)" ] }, "Properties": { - "$ref": "resources/aws-macie-session.json" + "$ref": "resources/aws-networkmanager-site.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -3522,9 +3515,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_PrivacyBudgetTemplate": { + "AWS_IoT_TopicRule": { "type": "object", - "markdownDescription": "Represents a privacy budget within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-privacybudgettemplate.html)", + "markdownDescription": "Resource Type definition for AWS::IoT::TopicRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html)", "allOf": [ { "type": "object", @@ -3532,14 +3525,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::PrivacyBudgetTemplate" + "AWS::IoT::TopicRule" ], "markdownEnumDescriptions": [ - "Represents a privacy budget within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-privacybudgettemplate.html)" + "Resource Type definition for AWS::IoT::TopicRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html)" ] }, "Properties": { - "$ref": "resources/aws-cleanrooms-privacybudgettemplate.json" + "$ref": "resources/aws-iot-topicrule.json" } }, "required": [ @@ -3553,9 +3546,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_Version": { + "AWS_DataSync_LocationFSxOpenZFS": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lambda::Version \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationFSxOpenZFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxopenzfs.html)", "allOf": [ { "type": "object", @@ -3563,14 +3556,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::Version" + "AWS::DataSync::LocationFSxOpenZFS" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lambda::Version \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html)" + "Resource schema for AWS::DataSync::LocationFSxOpenZFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxopenzfs.html)" ] }, "Properties": { - "$ref": "resources/aws-lambda-version.json" + "$ref": "resources/aws-datasync-locationfsxopenzfs.json" } }, "required": [ @@ -3584,9 +3577,9 @@ ], "additionalProperties": false }, - "AWS_CustomerProfiles_Integration": { + "AWS_SageMaker_MlflowTrackingServer": { "type": "object", - "markdownDescription": "The resource schema for creating an Amazon Connect Customer Profiles Integration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-integration.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::MlflowTrackingServer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-mlflowtrackingserver.html)", "allOf": [ { "type": "object", @@ -3594,14 +3587,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CustomerProfiles::Integration" + "AWS::SageMaker::MlflowTrackingServer" ], "markdownEnumDescriptions": [ - "The resource schema for creating an Amazon Connect Customer Profiles Integration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-integration.html)" + "Resource Type definition for AWS::SageMaker::MlflowTrackingServer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-mlflowtrackingserver.html)" ] }, "Properties": { - "$ref": "resources/aws-customerprofiles-integration.json" + "$ref": "resources/aws-sagemaker-mlflowtrackingserver.json" } }, "required": [ @@ -3615,9 +3608,9 @@ ], "additionalProperties": false }, - "AWS_DMS_ReplicationTask": { + "AWS_EC2_VPCEndpoint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DMS::ReplicationTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html)", + "markdownDescription": "Specifies a VPC endpoint. A VPC endpoint provides a private connection between your VPC and an endpoint service. You can use an endpoint service provided by AWS, an MKT Partner, or another AWS accounts in your organization. For more information, see the [User Guide](https://docs.aws.amazon.com/vpc/latest/privatelink/).\n An endpoint of type ``Interface`` establishes connections between the subnets in your VPC and an AWS-service, your own service, or a service hosted by another AWS-account. With an interface VPC endpoint, you specify the subnets in which to create the endpoint and the security groups to associate with the endpoint network interfaces.\n An endpoint of type ``gateway`` serves as a target for a route in your route table for traffic destined for S3 or DDB. You can specify an endpoint policy for the endpoint, which controls access to the service from your VPC. You can also specify the VPC route tables that use the endpoint. For more information about connectivity to S3, see [Why can't I connect to an S3 bucket using a gateway VPC endpoint?](https://docs.aws.amazon.com/premiumsupport/knowledge-center/connect-s3-vpc-endpoint) \n An endpoint of type ``GatewayLoadBalancer`` provides private connectivity between your VPC and virtual appliances from a service provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html)", "allOf": [ { "type": "object", @@ -3625,14 +3618,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::ReplicationTask" + "AWS::EC2::VPCEndpoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DMS::ReplicationTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html)" + "Specifies a VPC endpoint. A VPC endpoint provides a private connection between your VPC and an endpoint service. You can use an endpoint service provided by AWS, an MKT Partner, or another AWS accounts in your organization. For more information, see the [User Guide](https://docs.aws.amazon.com/vpc/latest/privatelink/).\n An endpoint of type ``Interface`` establishes connections between the subnets in your VPC and an AWS-service, your own service, or a service hosted by another AWS-account. With an interface VPC endpoint, you specify the subnets in which to create the endpoint and the security groups to associate with the endpoint network interfaces.\n An endpoint of type ``gateway`` serves as a target for a route in your route table for traffic destined for S3 or DDB. You can specify an endpoint policy for the endpoint, which controls access to the service from your VPC. You can also specify the VPC route tables that use the endpoint. For more information about connectivity to S3, see [Why can't I connect to an S3 bucket using a gateway VPC endpoint?](https://docs.aws.amazon.com/premiumsupport/knowledge-center/connect-s3-vpc-endpoint) \n An endpoint of type ``GatewayLoadBalancer`` provides private connectivity between your VPC and virtual appliances from a service provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-dms-replicationtask.json" + "$ref": "resources/aws-ec2-vpcendpoint.json" } }, "required": [ @@ -3646,9 +3639,9 @@ ], "additionalProperties": false }, - "AWS_CodeBuild_ReportGroup": { + "AWS_Lightsail_LoadBalancerTlsCertificate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CodeBuild::ReportGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::LoadBalancerTlsCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-loadbalancertlscertificate.html)", "allOf": [ { "type": "object", @@ -3656,14 +3649,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeBuild::ReportGroup" + "AWS::Lightsail::LoadBalancerTlsCertificate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeBuild::ReportGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html)" + "Resource Type definition for AWS::Lightsail::LoadBalancerTlsCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-loadbalancertlscertificate.html)" ] }, "Properties": { - "$ref": "resources/aws-codebuild-reportgroup.json" + "$ref": "resources/aws-lightsail-loadbalancertlscertificate.json" } }, "required": [ @@ -3677,9 +3670,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_ContinuousDeploymentPolicy": { + "AWS_VpcLattice_ServiceNetworkResourceAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::ContinuousDeploymentPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-continuousdeploymentpolicy.html)", + "markdownDescription": "VpcLattice ServiceNetworkResourceAssociation CFN resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkresourceassociation.html)", "allOf": [ { "type": "object", @@ -3687,19 +3680,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::ContinuousDeploymentPolicy" + "AWS::VpcLattice::ServiceNetworkResourceAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::ContinuousDeploymentPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-continuousdeploymentpolicy.html)" + "VpcLattice ServiceNetworkResourceAssociation CFN resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkresourceassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-continuousdeploymentpolicy.json" + "$ref": "resources/aws-vpclattice-servicenetworkresourceassociation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -3708,9 +3700,9 @@ ], "additionalProperties": false }, - "AWS_KinesisAnalytics_ApplicationReferenceDataSource": { + "AWS_MemoryDB_Cluster": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::KinesisAnalytics::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationreferencedatasource.html)", + "markdownDescription": "The AWS::MemoryDB::Cluster resource creates an Amazon MemoryDB Cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html)", "allOf": [ { "type": "object", @@ -3718,14 +3710,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisAnalytics::ApplicationReferenceDataSource" + "AWS::MemoryDB::Cluster" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KinesisAnalytics::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationreferencedatasource.html)" + "The AWS::MemoryDB::Cluster resource creates an Amazon MemoryDB Cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisanalytics-applicationreferencedatasource.json" + "$ref": "resources/aws-memorydb-cluster.json" } }, "required": [ @@ -3739,9 +3731,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Database": { + "AWS_IoTAnalytics_Dataset": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::Database \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-database.html)", + "markdownDescription": "Resource Type definition for AWS::IoTAnalytics::Dataset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html)", "allOf": [ { "type": "object", @@ -3749,14 +3741,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Database" + "AWS::IoTAnalytics::Dataset" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::Database \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-database.html)" + "Resource Type definition for AWS::IoTAnalytics::Dataset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-database.json" + "$ref": "resources/aws-iotanalytics-dataset.json" } }, "required": [ @@ -3770,9 +3762,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Domain": { + "AWS_ServiceDiscovery_PublicDnsNamespace": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-domain.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceDiscovery::PublicDnsNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-publicdnsnamespace.html)", "allOf": [ { "type": "object", @@ -3780,14 +3772,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Domain" + "AWS::ServiceDiscovery::PublicDnsNamespace" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-domain.html)" + "Resource Type definition for AWS::ServiceDiscovery::PublicDnsNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-publicdnsnamespace.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-domain.json" + "$ref": "resources/aws-servicediscovery-publicdnsnamespace.json" } }, "required": [ @@ -3801,9 +3793,9 @@ ], "additionalProperties": false }, - "AWS_PaymentCryptography_Key": { + "AWS_EC2_NetworkAcl": { "type": "object", - "markdownDescription": "Definition of AWS::PaymentCryptography::Key Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-paymentcryptography-key.html)", + "markdownDescription": "Specifies a network ACL for your VPC.\n To add a network ACL entry, see [AWS::EC2::NetworkAclEntry](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkacl.html)", "allOf": [ { "type": "object", @@ -3811,14 +3803,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PaymentCryptography::Key" + "AWS::EC2::NetworkAcl" ], "markdownEnumDescriptions": [ - "Definition of AWS::PaymentCryptography::Key Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-paymentcryptography-key.html)" + "Specifies a network ACL for your VPC.\n To add a network ACL entry, see [AWS::EC2::NetworkAclEntry](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkacl.html)" ] }, "Properties": { - "$ref": "resources/aws-paymentcryptography-key.json" + "$ref": "resources/aws-ec2-networkacl.json" } }, "required": [ @@ -3832,9 +3824,9 @@ ], "additionalProperties": false }, - "AWS_SSM_ResourceDataSync": { + "AWS_Greengrass_FunctionDefinitionVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SSM::ResourceDataSync \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::FunctionDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html)", "allOf": [ { "type": "object", @@ -3842,14 +3834,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::ResourceDataSync" + "AWS::Greengrass::FunctionDefinitionVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSM::ResourceDataSync \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html)" + "Resource Type definition for AWS::Greengrass::FunctionDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html)" ] }, "Properties": { - "$ref": "resources/aws-ssm-resourcedatasync.json" + "$ref": "resources/aws-greengrass-functiondefinitionversion.json" } }, "required": [ @@ -3863,9 +3855,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_XssMatchSet": { + "AWS_AutoScaling_LifecycleHook": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-xssmatchset.html)", + "markdownDescription": "Resource Type definition for AWS::AutoScaling::LifecycleHook \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-lifecyclehook.html)", "allOf": [ { "type": "object", @@ -3873,14 +3865,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::XssMatchSet" + "AWS::AutoScaling::LifecycleHook" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-xssmatchset.html)" + "Resource Type definition for AWS::AutoScaling::LifecycleHook \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-lifecyclehook.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-xssmatchset.json" + "$ref": "resources/aws-autoscaling-lifecyclehook.json" } }, "required": [ @@ -3894,9 +3886,9 @@ ], "additionalProperties": false }, - "AWS_AppMesh_VirtualGateway": { + "AWS_AutoScaling_ScalingPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppMesh::VirtualGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html)", + "markdownDescription": "The AWS::AutoScaling::ScalingPolicy resource specifies an Amazon EC2 Auto Scaling scaling policy so that the Auto Scaling group can scale the number of instances available for your application. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html)", "allOf": [ { "type": "object", @@ -3904,14 +3896,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppMesh::VirtualGateway" + "AWS::AutoScaling::ScalingPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppMesh::VirtualGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html)" + "The AWS::AutoScaling::ScalingPolicy resource specifies an Amazon EC2 Auto Scaling scaling policy so that the Auto Scaling group can scale the number of instances available for your application. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-appmesh-virtualgateway.json" + "$ref": "resources/aws-autoscaling-scalingpolicy.json" } }, "required": [ @@ -3925,9 +3917,9 @@ ], "additionalProperties": false }, - "AWS_Batch_JobDefinition": { + "AWS_WAFv2_LoggingConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Batch::JobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html)", + "markdownDescription": "A WAFv2 Logging Configuration Resource Provider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-loggingconfiguration.html)", "allOf": [ { "type": "object", @@ -3935,14 +3927,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Batch::JobDefinition" + "AWS::WAFv2::LoggingConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Batch::JobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html)" + "A WAFv2 Logging Configuration Resource Provider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-loggingconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-batch-jobdefinition.json" + "$ref": "resources/aws-wafv2-loggingconfiguration.json" } }, "required": [ @@ -3956,9 +3948,9 @@ ], "additionalProperties": false }, - "AWS_QBusiness_Application": { + "AWS_IoT_JobTemplate": { "type": "object", - "markdownDescription": "Definition of AWS::QBusiness::Application Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html)", + "markdownDescription": "Job templates enable you to preconfigure jobs so that you can deploy them to multiple sets of target devices. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html)", "allOf": [ { "type": "object", @@ -3966,14 +3958,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QBusiness::Application" + "AWS::IoT::JobTemplate" ], "markdownEnumDescriptions": [ - "Definition of AWS::QBusiness::Application Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html)" + "Job templates enable you to preconfigure jobs so that you can deploy them to multiple sets of target devices. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-qbusiness-application.json" + "$ref": "resources/aws-iot-jobtemplate.json" } }, "required": [ @@ -3987,9 +3979,9 @@ ], "additionalProperties": false }, - "AWS_RDS_Integration": { + "AWS_CloudFormation_StackSet": { "type": "object", - "markdownDescription": "A zero-ETL integration with Amazon Redshift. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-integration.html)", + "markdownDescription": "StackSet as a resource provides one-click experience for provisioning a StackSet and StackInstances \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html)", "allOf": [ { "type": "object", @@ -3997,14 +3989,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::Integration" + "AWS::CloudFormation::StackSet" ], "markdownEnumDescriptions": [ - "A zero-ETL integration with Amazon Redshift. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-integration.html)" + "StackSet as a resource provides one-click experience for provisioning a StackSet and StackInstances \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-integration.json" + "$ref": "resources/aws-cloudformation-stackset.json" } }, "required": [ @@ -4018,9 +4010,9 @@ ], "additionalProperties": false }, - "AWS_CloudWatch_Alarm": { + "AWS_NetworkManager_TransitGatewayRegistration": { "type": "object", - "markdownDescription": "The ``AWS::CloudWatch::Alarm`` type specifies an alarm and associates it with the specified metric or metric math expression.\n When this operation creates an alarm, the alarm state is immediately set to ``INSUFFICIENT_DATA``. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed.\n When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html)", + "markdownDescription": "The AWS::NetworkManager::TransitGatewayRegistration type registers a transit gateway in your global network. The transit gateway can be in any AWS Region, but it must be owned by the same AWS account that owns the global network. You cannot register a transit gateway in more than one global network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.html)", "allOf": [ { "type": "object", @@ -4028,14 +4020,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudWatch::Alarm" + "AWS::NetworkManager::TransitGatewayRegistration" ], "markdownEnumDescriptions": [ - "The ``AWS::CloudWatch::Alarm`` type specifies an alarm and associates it with the specified metric or metric math expression.\n When this operation creates an alarm, the alarm state is immediately set to ``INSUFFICIENT_DATA``. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed.\n When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html)" + "The AWS::NetworkManager::TransitGatewayRegistration type registers a transit gateway in your global network. The transit gateway can be in any AWS Region, but it must be owned by the same AWS account that owns the global network. You cannot register a transit gateway in more than one global network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudwatch-alarm.json" + "$ref": "resources/aws-networkmanager-transitgatewayregistration.json" } }, "required": [ @@ -4049,9 +4041,9 @@ ], "additionalProperties": false }, - "AWS_QBusiness_Plugin": { + "AWS_ApiGatewayV2_ApiGatewayManagedOverrides": { "type": "object", - "markdownDescription": "Definition of AWS::QBusiness::Plugin Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-plugin.html)", + "markdownDescription": "Resource Type definition for AWS::ApiGatewayV2::ApiGatewayManagedOverrides \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html)", "allOf": [ { "type": "object", @@ -4059,14 +4051,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QBusiness::Plugin" + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" ], "markdownEnumDescriptions": [ - "Definition of AWS::QBusiness::Plugin Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-plugin.html)" + "Resource Type definition for AWS::ApiGatewayV2::ApiGatewayManagedOverrides \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html)" ] }, "Properties": { - "$ref": "resources/aws-qbusiness-plugin.json" + "$ref": "resources/aws-apigatewayv2-apigatewaymanagedoverrides.json" } }, "required": [ @@ -4080,9 +4072,9 @@ ], "additionalProperties": false }, - "AWS_QBusiness_Retriever": { + "AWS_EC2_TransitGatewayConnect": { "type": "object", - "markdownDescription": "Definition of AWS::QBusiness::Retriever Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-retriever.html)", + "markdownDescription": "The AWS::EC2::TransitGatewayConnect type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnect.html)", "allOf": [ { "type": "object", @@ -4090,14 +4082,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QBusiness::Retriever" + "AWS::EC2::TransitGatewayConnect" ], "markdownEnumDescriptions": [ - "Definition of AWS::QBusiness::Retriever Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-retriever.html)" + "The AWS::EC2::TransitGatewayConnect type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnect.html)" ] }, "Properties": { - "$ref": "resources/aws-qbusiness-retriever.json" + "$ref": "resources/aws-ec2-transitgatewayconnect.json" } }, "required": [ @@ -4111,9 +4103,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_ResponseHeadersPolicy": { + "AWS_SageMaker_ModelQualityJobDefinition": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::ResponseHeadersPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-responseheaderspolicy.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelQualityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelqualityjobdefinition.html)", "allOf": [ { "type": "object", @@ -4121,14 +4113,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::ResponseHeadersPolicy" + "AWS::SageMaker::ModelQualityJobDefinition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::ResponseHeadersPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-responseheaderspolicy.html)" + "Resource Type definition for AWS::SageMaker::ModelQualityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelqualityjobdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-responseheaderspolicy.json" + "$ref": "resources/aws-sagemaker-modelqualityjobdefinition.json" } }, "required": [ @@ -4142,9 +4134,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_Deployment": { + "AWS_WAF_WebACL": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::Deployment`` resource deploys an API Gateway ``RestApi`` resource to a stage so that clients can call the API over the internet. The stage acts as an environment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html)", + "markdownDescription": "Resource Type definition for AWS::WAF::WebACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-webacl.html)", "allOf": [ { "type": "object", @@ -4152,14 +4144,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::Deployment" + "AWS::WAF::WebACL" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::Deployment`` resource deploys an API Gateway ``RestApi`` resource to a stage so that clients can call the API over the internet. The stage acts as an environment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html)" + "Resource Type definition for AWS::WAF::WebACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-webacl.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-deployment.json" + "$ref": "resources/aws-waf-webacl.json" } }, "required": [ @@ -4173,9 +4165,9 @@ ], "additionalProperties": false }, - "AWS_WAF_XssMatchSet": { + "AWS_ECS_TaskSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAF::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-xssmatchset.html)", + "markdownDescription": "Create a task set in the specified cluster and service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.htmlin the Amazon Elastic Container Service Developer Guide. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html)", "allOf": [ { "type": "object", @@ -4183,14 +4175,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAF::XssMatchSet" + "AWS::ECS::TaskSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAF::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-xssmatchset.html)" + "Create a task set in the specified cluster and service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.htmlin the Amazon Elastic Container Service Developer Guide. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html)" ] }, "Properties": { - "$ref": "resources/aws-waf-xssmatchset.json" + "$ref": "resources/aws-ecs-taskset.json" } }, "required": [ @@ -4204,9 +4196,9 @@ ], "additionalProperties": false }, - "AWS_Chatbot_MicrosoftTeamsChannelConfiguration": { + "AWS_Redshift_ClusterSecurityGroupIngress": { "type": "object", - "markdownDescription": "Resource schema for AWS::Chatbot::MicrosoftTeamsChannelConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::Redshift::ClusterSecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroupingress.html)", "allOf": [ { "type": "object", @@ -4214,14 +4206,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Chatbot::MicrosoftTeamsChannelConfiguration" + "AWS::Redshift::ClusterSecurityGroupIngress" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Chatbot::MicrosoftTeamsChannelConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html)" + "Resource Type definition for AWS::Redshift::ClusterSecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroupingress.html)" ] }, "Properties": { - "$ref": "resources/aws-chatbot-microsoftteamschannelconfiguration.json" + "$ref": "resources/aws-redshift-clustersecuritygroupingress.json" } }, "required": [ @@ -4235,9 +4227,9 @@ ], "additionalProperties": false }, - "AWS_CodeStarConnections_Connection": { + "AWS_EC2_VPCEndpointService": { "type": "object", - "markdownDescription": "Schema for AWS::CodeStarConnections::Connection resource which can be used to connect external source providers with AWS CodePipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::VPCEndpointService \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html)", "allOf": [ { "type": "object", @@ -4245,19 +4237,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeStarConnections::Connection" + "AWS::EC2::VPCEndpointService" ], "markdownEnumDescriptions": [ - "Schema for AWS::CodeStarConnections::Connection resource which can be used to connect external source providers with AWS CodePipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html)" + "Resource Type definition for AWS::EC2::VPCEndpointService \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html)" ] }, "Properties": { - "$ref": "resources/aws-codestarconnections-connection.json" + "$ref": "resources/aws-ec2-vpcendpointservice.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -4266,9 +4257,9 @@ ], "additionalProperties": false }, - "AWS_Rekognition_StreamProcessor": { + "AWS_NetworkManager_LinkAssociation": { "type": "object", - "markdownDescription": "The AWS::Rekognition::StreamProcessor type is used to create an Amazon Rekognition StreamProcessor that you can use to analyze streaming videos.\n\n \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-streamprocessor.html)", + "markdownDescription": "The AWS::NetworkManager::LinkAssociation type associates a link to a device. The device and link must be in the same global network and the same site. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html)", "allOf": [ { "type": "object", @@ -4276,14 +4267,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Rekognition::StreamProcessor" + "AWS::NetworkManager::LinkAssociation" ], "markdownEnumDescriptions": [ - "The AWS::Rekognition::StreamProcessor type is used to create an Amazon Rekognition StreamProcessor that you can use to analyze streaming videos.\n\n \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-streamprocessor.html)" + "The AWS::NetworkManager::LinkAssociation type associates a link to a device. The device and link must be in the same global network and the same site. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-rekognition-streamprocessor.json" + "$ref": "resources/aws-networkmanager-linkassociation.json" } }, "required": [ @@ -4297,9 +4288,9 @@ ], "additionalProperties": false }, - "AWS_BillingConductor_CustomLineItem": { + "AWS_RefactorSpaces_Environment": { "type": "object", - "markdownDescription": "A custom line item is an one time charge that is applied to a specific billing group's bill. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-customlineitem.html)", + "markdownDescription": "Definition of AWS::RefactorSpaces::Environment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-environment.html)", "allOf": [ { "type": "object", @@ -4307,19 +4298,18 @@ "Type": { "type": "string", "enum": [ - "AWS::BillingConductor::CustomLineItem" + "AWS::RefactorSpaces::Environment" ], "markdownEnumDescriptions": [ - "A custom line item is an one time charge that is applied to a specific billing group's bill. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-customlineitem.html)" + "Definition of AWS::RefactorSpaces::Environment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-environment.html)" ] }, "Properties": { - "$ref": "resources/aws-billingconductor-customlineitem.json" + "$ref": "resources/aws-refactorspaces-environment.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -4328,9 +4318,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBSecurityGroupIngress": { + "AWS_Backup_ReportPlan": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::RDS::DBSecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroupingress.html)", + "markdownDescription": "Contains detailed information about a report plan in AWS Backup Audit Manager. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-reportplan.html)", "allOf": [ { "type": "object", @@ -4338,14 +4328,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBSecurityGroupIngress" + "AWS::Backup::ReportPlan" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::RDS::DBSecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroupingress.html)" + "Contains detailed information about a report plan in AWS Backup Audit Manager. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-reportplan.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbsecuritygroupingress.json" + "$ref": "resources/aws-backup-reportplan.json" } }, "required": [ @@ -4359,9 +4349,9 @@ ], "additionalProperties": false }, - "AWS_GreengrassV2_Deployment": { + "AWS_Timestream_InfluxDBInstance": { "type": "object", - "markdownDescription": "Resource for Greengrass V2 deployment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.html)", + "markdownDescription": "The AWS::Timestream::InfluxDBInstance resource creates an InfluxDB instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html)", "allOf": [ { "type": "object", @@ -4369,19 +4359,18 @@ "Type": { "type": "string", "enum": [ - "AWS::GreengrassV2::Deployment" + "AWS::Timestream::InfluxDBInstance" ], "markdownEnumDescriptions": [ - "Resource for Greengrass V2 deployment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.html)" + "The AWS::Timestream::InfluxDBInstance resource creates an InfluxDB instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrassv2-deployment.json" + "$ref": "resources/aws-timestream-influxdbinstance.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -4390,9 +4379,9 @@ ], "additionalProperties": false }, - "AWS_AppFlow_ConnectorProfile": { + "AWS_Connect_EmailAddress": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppFlow::ConnectorProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connectorprofile.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::EmailAddress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-emailaddress.html)", "allOf": [ { "type": "object", @@ -4400,14 +4389,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppFlow::ConnectorProfile" + "AWS::Connect::EmailAddress" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppFlow::ConnectorProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connectorprofile.html)" + "Resource Type definition for AWS::Connect::EmailAddress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-emailaddress.html)" ] }, "Properties": { - "$ref": "resources/aws-appflow-connectorprofile.json" + "$ref": "resources/aws-connect-emailaddress.json" } }, "required": [ @@ -4421,9 +4410,9 @@ ], "additionalProperties": false }, - "AWS_Cassandra_Table": { + "AWS_RDS_DBCluster": { "type": "object", - "markdownDescription": "Resource schema for AWS::Cassandra::Table \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html)", + "markdownDescription": "The ``AWS::RDS::DBCluster`` resource creates an Amazon Aurora DB cluster or Multi-AZ DB cluster.\n For more information about creating an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide*.\n For more information about creating a Multi-AZ DB cluster, see [Creating a Multi-AZ DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html) in the *Amazon RDS User Guide*.\n You can only create this resource in AWS Regions where Amazon Aurora or Multi-AZ DB clusters are supported.\n *Updating DB clusters* \n When properties labeled \"*Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)\" are updated, AWS CloudFormation first creates a replacement DB cluster, then changes references from other dependent resources to point to the replacement DB cluster, and finally deletes the old DB cluster.\n We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB cluster. To preserve your data, perform the following procedure:\n 1. Deactivate any applications that are using the DB cluster so that there's no activity on the DB instance.\n 1. Create a snapshot of the DB cluster. For more information, see [Creating a DB cluster snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CreateSnapshotCluster.html).\n 1. If you want to restore your DB cluster using a DB cluster snapshot, modify the updated template with your DB cluster changes and add the ``SnapshotIdentifier`` property with the ID of the DB cluster snapshot that you want to use.\n After you restore a DB cluster with a ``SnapshotIdentifier`` property, you must specify the same ``SnapshotIdentifier`` property for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the DB cluster snapshot again, and the data in the database is not changed. However, if you don't specify the ``SnapshotIdentifier`` property, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB cluster is restored from the specified ``SnapshotIdentifier`` property, and the original DB cluster is deleted.\n 1. Update the stack.\n \n Currently, when you are updating the stack for an Aurora Serverless DB cluster, you can't include changes to any other properties when you specify one of the following properties: ``PreferredBackupWindow``, ``PreferredMaintenanceWindow``, and ``Port``. This limitation doesn't apply to provisioned DB clusters.\n For more information about updating other properties of this resource, see ``ModifyDBCluster``. For more information about updating stacks, see [CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html).\n *Deleting DB clusters* \n The default ``DeletionPolicy`` for ``AWS::RDS::DBCluster`` resources is ``Snapshot``. For more information about how AWS CloudFormation deletes resources, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html)", "allOf": [ { "type": "object", @@ -4431,19 +4420,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Cassandra::Table" + "AWS::RDS::DBCluster" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Cassandra::Table \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html)" + "The ``AWS::RDS::DBCluster`` resource creates an Amazon Aurora DB cluster or Multi-AZ DB cluster.\n For more information about creating an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide*.\n For more information about creating a Multi-AZ DB cluster, see [Creating a Multi-AZ DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html) in the *Amazon RDS User Guide*.\n You can only create this resource in AWS Regions where Amazon Aurora or Multi-AZ DB clusters are supported.\n *Updating DB clusters* \n When properties labeled \"*Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)\" are updated, AWS CloudFormation first creates a replacement DB cluster, then changes references from other dependent resources to point to the replacement DB cluster, and finally deletes the old DB cluster.\n We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB cluster. To preserve your data, perform the following procedure:\n 1. Deactivate any applications that are using the DB cluster so that there's no activity on the DB instance.\n 1. Create a snapshot of the DB cluster. For more information, see [Creating a DB cluster snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CreateSnapshotCluster.html).\n 1. If you want to restore your DB cluster using a DB cluster snapshot, modify the updated template with your DB cluster changes and add the ``SnapshotIdentifier`` property with the ID of the DB cluster snapshot that you want to use.\n After you restore a DB cluster with a ``SnapshotIdentifier`` property, you must specify the same ``SnapshotIdentifier`` property for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the DB cluster snapshot again, and the data in the database is not changed. However, if you don't specify the ``SnapshotIdentifier`` property, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB cluster is restored from the specified ``SnapshotIdentifier`` property, and the original DB cluster is deleted.\n 1. Update the stack.\n \n Currently, when you are updating the stack for an Aurora Serverless DB cluster, you can't include changes to any other properties when you specify one of the following properties: ``PreferredBackupWindow``, ``PreferredMaintenanceWindow``, and ``Port``. This limitation doesn't apply to provisioned DB clusters.\n For more information about updating other properties of this resource, see ``ModifyDBCluster``. For more information about updating stacks, see [CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html).\n *Deleting DB clusters* \n The default ``DeletionPolicy`` for ``AWS::RDS::DBCluster`` resources is ``Snapshot``. For more information about how AWS CloudFormation deletes resources, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html)" ] }, "Properties": { - "$ref": "resources/aws-cassandra-table.json" + "$ref": "resources/aws-rds-dbcluster.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -4452,9 +4440,9 @@ ], "additionalProperties": false }, - "AWS_DataBrew_Schedule": { + "AWS_SystemsManagerSAP_Application": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataBrew::Schedule. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-schedule.html)", + "markdownDescription": "Resource schema for AWS::SystemsManagerSAP::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-systemsmanagersap-application.html)", "allOf": [ { "type": "object", @@ -4462,14 +4450,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataBrew::Schedule" + "AWS::SystemsManagerSAP::Application" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataBrew::Schedule. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-schedule.html)" + "Resource schema for AWS::SystemsManagerSAP::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-systemsmanagersap-application.html)" ] }, "Properties": { - "$ref": "resources/aws-databrew-schedule.json" + "$ref": "resources/aws-systemsmanagersap-application.json" } }, "required": [ @@ -4483,9 +4471,9 @@ ], "additionalProperties": false }, - "AWS_StepFunctions_StateMachineVersion": { + "AWS_SNS_TopicPolicy": { "type": "object", - "markdownDescription": "Resource schema for StateMachineVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachineversion.html)", + "markdownDescription": "The ``AWS::SNS::TopicPolicy`` resource associates SNS topics with a policy. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sns-policy) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicpolicy.html)", "allOf": [ { "type": "object", @@ -4493,14 +4481,14 @@ "Type": { "type": "string", "enum": [ - "AWS::StepFunctions::StateMachineVersion" + "AWS::SNS::TopicPolicy" ], "markdownEnumDescriptions": [ - "Resource schema for StateMachineVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachineversion.html)" + "The ``AWS::SNS::TopicPolicy`` resource associates SNS topics with a policy. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sns-policy) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-stepfunctions-statemachineversion.json" + "$ref": "resources/aws-sns-topicpolicy.json" } }, "required": [ @@ -4514,9 +4502,9 @@ ], "additionalProperties": false }, - "AWS_BillingConductor_PricingRule": { + "AWS_Location_APIKey": { "type": "object", - "markdownDescription": "A markup/discount that is defined for a specific set of services that can later be associated with a pricing plan. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingrule.html)", + "markdownDescription": "Definition of AWS::Location::APIKey Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-apikey.html)", "allOf": [ { "type": "object", @@ -4524,14 +4512,14 @@ "Type": { "type": "string", "enum": [ - "AWS::BillingConductor::PricingRule" + "AWS::Location::APIKey" ], "markdownEnumDescriptions": [ - "A markup/discount that is defined for a specific set of services that can later be associated with a pricing plan. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingrule.html)" + "Definition of AWS::Location::APIKey Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-apikey.html)" ] }, "Properties": { - "$ref": "resources/aws-billingconductor-pricingrule.json" + "$ref": "resources/aws-location-apikey.json" } }, "required": [ @@ -4545,9 +4533,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCEndpoint": { + "AWS_S3_StorageLensGroup": { "type": "object", - "markdownDescription": "Specifies a VPC endpoint. A VPC endpoint provides a private connection between your VPC and an endpoint service. You can use an endpoint service provided by AWS, an MKT Partner, or another AWS accounts in your organization. For more information, see the [User Guide](https://docs.aws.amazon.com/vpc/latest/privatelink/).\n An endpoint of type ``Interface`` establishes connections between the subnets in your VPC and an AWS-service, your own service, or a service hosted by another AWS-account. With an interface VPC endpoint, you specify the subnets in which to create the endpoint and the security groups to associate with the endpoint network interfaces.\n An endpoint of type ``gateway`` serves as a target for a route in your route table for traffic destined for S3 or DDB. You can specify an endpoint policy for the endpoint, which controls access to the service from your VPC. You can also specify the VPC route tables that use the endpoint. For more information about connectivity to S3, see [Why can't I connect to an S3 bucket using a gateway VPC endpoint?](https://docs.aws.amazon.com/premiumsupport/knowledge-center/connect-s3-vpc-endpoint) \n An endpoint of type ``GatewayLoadBalancer`` provides private connectivity between your VPC and virtual appliances from a service provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html)", + "markdownDescription": "The AWS::S3::StorageLensGroup resource is an Amazon S3 resource type that you can use to create Storage Lens Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelensgroup.html)", "allOf": [ { "type": "object", @@ -4555,14 +4543,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCEndpoint" + "AWS::S3::StorageLensGroup" ], "markdownEnumDescriptions": [ - "Specifies a VPC endpoint. A VPC endpoint provides a private connection between your VPC and an endpoint service. You can use an endpoint service provided by AWS, an MKT Partner, or another AWS accounts in your organization. For more information, see the [User Guide](https://docs.aws.amazon.com/vpc/latest/privatelink/).\n An endpoint of type ``Interface`` establishes connections between the subnets in your VPC and an AWS-service, your own service, or a service hosted by another AWS-account. With an interface VPC endpoint, you specify the subnets in which to create the endpoint and the security groups to associate with the endpoint network interfaces.\n An endpoint of type ``gateway`` serves as a target for a route in your route table for traffic destined for S3 or DDB. You can specify an endpoint policy for the endpoint, which controls access to the service from your VPC. You can also specify the VPC route tables that use the endpoint. For more information about connectivity to S3, see [Why can't I connect to an S3 bucket using a gateway VPC endpoint?](https://docs.aws.amazon.com/premiumsupport/knowledge-center/connect-s3-vpc-endpoint) \n An endpoint of type ``GatewayLoadBalancer`` provides private connectivity between your VPC and virtual appliances from a service provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html)" + "The AWS::S3::StorageLensGroup resource is an Amazon S3 resource type that you can use to create Storage Lens Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelensgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpcendpoint.json" + "$ref": "resources/aws-s3-storagelensgroup.json" } }, "required": [ @@ -4576,9 +4564,9 @@ ], "additionalProperties": false }, - "AWS_AutoScaling_LaunchConfiguration": { + "AWS_CloudFront_StreamingDistribution": { "type": "object", - "markdownDescription": "The AWS::AutoScaling::LaunchConfiguration resource specifies the launch configuration that can be used by an Auto Scaling group to configure Amazon EC2 instances. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFront::StreamingDistribution \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html)", "allOf": [ { "type": "object", @@ -4586,14 +4574,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AutoScaling::LaunchConfiguration" + "AWS::CloudFront::StreamingDistribution" ], "markdownEnumDescriptions": [ - "The AWS::AutoScaling::LaunchConfiguration resource specifies the launch configuration that can be used by an Auto Scaling group to configure Amazon EC2 instances. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html)" + "Resource Type definition for AWS::CloudFront::StreamingDistribution \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html)" ] }, "Properties": { - "$ref": "resources/aws-autoscaling-launchconfiguration.json" + "$ref": "resources/aws-cloudfront-streamingdistribution.json" } }, "required": [ @@ -4607,9 +4595,9 @@ ], "additionalProperties": false }, - "AWS_MWAA_Environment": { + "AWS_NetworkManager_CustomerGatewayAssociation": { "type": "object", - "markdownDescription": "Resource schema for AWS::MWAA::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html)", + "markdownDescription": "The AWS::NetworkManager::CustomerGatewayAssociation type associates a customer gateway with a device and optionally, with a link. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html)", "allOf": [ { "type": "object", @@ -4617,14 +4605,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MWAA::Environment" + "AWS::NetworkManager::CustomerGatewayAssociation" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MWAA::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html)" + "The AWS::NetworkManager::CustomerGatewayAssociation type associates a customer gateway with a device and optionally, with a link. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-mwaa-environment.json" + "$ref": "resources/aws-networkmanager-customergatewayassociation.json" } }, "required": [ @@ -4638,9 +4626,9 @@ ], "additionalProperties": false }, - "AWS_CloudWatch_Dashboard": { + "AWS_ACMPCA_CertificateAuthority": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudWatch::Dashboard \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-dashboard.html)", + "markdownDescription": "Private certificate authority. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html)", "allOf": [ { "type": "object", @@ -4648,14 +4636,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudWatch::Dashboard" + "AWS::ACMPCA::CertificateAuthority" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudWatch::Dashboard \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-dashboard.html)" + "Private certificate authority. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudwatch-dashboard.json" + "$ref": "resources/aws-acmpca-certificateauthority.json" } }, "required": [ @@ -4669,9 +4657,9 @@ ], "additionalProperties": false }, - "AWS_Evidently_Segment": { + "AWS_DMS_Certificate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Evidently::Segment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-segment.html)", + "markdownDescription": "Resource Type definition for AWS::DMS::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html)", "allOf": [ { "type": "object", @@ -4679,19 +4667,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Evidently::Segment" + "AWS::DMS::Certificate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Evidently::Segment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-segment.html)" + "Resource Type definition for AWS::DMS::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html)" ] }, "Properties": { - "$ref": "resources/aws-evidently-segment.json" + "$ref": "resources/aws-dms-certificate.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -4700,9 +4687,9 @@ ], "additionalProperties": false }, - "AWS_IoT_SoftwarePackage": { + "AWS_QLDB_Stream": { "type": "object", - "markdownDescription": "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackage.html)", + "markdownDescription": "Resource schema for AWS::QLDB::Stream. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html)", "allOf": [ { "type": "object", @@ -4710,18 +4697,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::SoftwarePackage" + "AWS::QLDB::Stream" ], "markdownEnumDescriptions": [ - "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackage.html)" + "Resource schema for AWS::QLDB::Stream. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-softwarepackage.json" + "$ref": "resources/aws-qldb-stream.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -4730,9 +4718,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCGatewayAttachment": { + "AWS_NetworkManager_Link": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::VPCGatewayAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcgatewayattachment.html)", + "markdownDescription": "The AWS::NetworkManager::Link type describes a link. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html)", "allOf": [ { "type": "object", @@ -4740,14 +4728,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCGatewayAttachment" + "AWS::NetworkManager::Link" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPCGatewayAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcgatewayattachment.html)" + "The AWS::NetworkManager::Link type describes a link. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpcgatewayattachment.json" + "$ref": "resources/aws-networkmanager-link.json" } }, "required": [ @@ -4761,9 +4749,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayMulticastGroupSource": { + "AWS_QuickSight_VPCConnection": { "type": "object", - "markdownDescription": "The AWS::EC2::TransitGatewayMulticastGroupSource registers and deregisters members and sources (network interfaces) with the transit gateway multicast group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html)", + "markdownDescription": "Definition of the AWS::QuickSight::VPCConnection Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-vpcconnection.html)", "allOf": [ { "type": "object", @@ -4771,19 +4759,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayMulticastGroupSource" + "AWS::QuickSight::VPCConnection" ], "markdownEnumDescriptions": [ - "The AWS::EC2::TransitGatewayMulticastGroupSource registers and deregisters members and sources (network interfaces) with the transit gateway multicast group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html)" + "Definition of the AWS::QuickSight::VPCConnection Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-vpcconnection.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewaymulticastgroupsource.json" + "$ref": "resources/aws-quicksight-vpcconnection.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -4792,9 +4779,9 @@ ], "additionalProperties": false }, - "AWS_S3Outposts_Endpoint": { + "AWS_Kendra_Faq": { "type": "object", - "markdownDescription": "Resource Type Definition for AWS::S3Outposts::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-endpoint.html)", + "markdownDescription": "A Kendra FAQ resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html)", "allOf": [ { "type": "object", @@ -4802,14 +4789,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3Outposts::Endpoint" + "AWS::Kendra::Faq" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::S3Outposts::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-endpoint.html)" + "A Kendra FAQ resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html)" ] }, "Properties": { - "$ref": "resources/aws-s3outposts-endpoint.json" + "$ref": "resources/aws-kendra-faq.json" } }, "required": [ @@ -4823,9 +4810,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_StackFleetAssociation": { + "AWS_CloudFormation_ResourceVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::StackFleetAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html)", + "markdownDescription": "A resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourceversion.html)", "allOf": [ { "type": "object", @@ -4833,14 +4820,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::StackFleetAssociation" + "AWS::CloudFormation::ResourceVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::StackFleetAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html)" + "A resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourceversion.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-stackfleetassociation.json" + "$ref": "resources/aws-cloudformation-resourceversion.json" } }, "required": [ @@ -4854,9 +4841,9 @@ ], "additionalProperties": false }, - "AWS_ServiceDiscovery_PublicDnsNamespace": { + "AWS_IoTFleetWise_Vehicle": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceDiscovery::PublicDnsNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-publicdnsnamespace.html)", + "markdownDescription": "Definition of AWS::IoTFleetWise::Vehicle Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-vehicle.html)", "allOf": [ { "type": "object", @@ -4864,14 +4851,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceDiscovery::PublicDnsNamespace" + "AWS::IoTFleetWise::Vehicle" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceDiscovery::PublicDnsNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-publicdnsnamespace.html)" + "Definition of AWS::IoTFleetWise::Vehicle Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-vehicle.html)" ] }, "Properties": { - "$ref": "resources/aws-servicediscovery-publicdnsnamespace.json" + "$ref": "resources/aws-iotfleetwise-vehicle.json" } }, "required": [ @@ -4885,9 +4872,9 @@ ], "additionalProperties": false }, - "AWS_DocDB_DBClusterParameterGroup": { + "AWS_OpsWorks_Instance": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DocDB::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html)", + "markdownDescription": "Resource Type definition for AWS::OpsWorks::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html)", "allOf": [ { "type": "object", @@ -4895,14 +4882,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DocDB::DBClusterParameterGroup" + "AWS::OpsWorks::Instance" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DocDB::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html)" + "Resource Type definition for AWS::OpsWorks::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html)" ] }, "Properties": { - "$ref": "resources/aws-docdb-dbclusterparametergroup.json" + "$ref": "resources/aws-opsworks-instance.json" } }, "required": [ @@ -4916,9 +4903,9 @@ ], "additionalProperties": false }, - "AWS_AutoScaling_ScheduledAction": { + "AWS_IVS_Channel": { "type": "object", - "markdownDescription": "The AWS::AutoScaling::ScheduledAction resource specifies an Amazon EC2 Auto Scaling scheduled action so that the Auto Scaling group can change the number of instances available for your application in response to predictable load changes. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scheduledaction.html)", + "markdownDescription": "Resource Type definition for AWS::IVS::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html)", "allOf": [ { "type": "object", @@ -4926,19 +4913,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AutoScaling::ScheduledAction" + "AWS::IVS::Channel" ], "markdownEnumDescriptions": [ - "The AWS::AutoScaling::ScheduledAction resource specifies an Amazon EC2 Auto Scaling scheduled action so that the Auto Scaling group can change the number of instances available for your application in response to predictable load changes. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scheduledaction.html)" + "Resource Type definition for AWS::IVS::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html)" ] }, "Properties": { - "$ref": "resources/aws-autoscaling-scheduledaction.json" + "$ref": "resources/aws-ivs-channel.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -4947,9 +4933,9 @@ ], "additionalProperties": false }, - "AWS_SecretsManager_Secret": { + "AWS_EntityResolution_SchemaMapping": { "type": "object", - "markdownDescription": "Creates a new secret. A *secret* can be a password, a set of credentials such as a user name and password, an OAuth token, or other secret information that you store in an encrypted form in Secrets Manager.\n For RDS master user credentials, see [AWS::RDS::DBCluster MasterUserSecret](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html).\n For RS admin user credentials, see [AWS::Redshift::Cluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html).\n To retrieve a secret in a CFNshort template, use a *dynamic reference*. For more information, see [Retrieve a secret in an resource](https://docs.aws.amazon.com/secretsmanager/latest/userguide/cfn-example_reference-secret.html).\n For information about creating a secret in the console, see [Create a secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html). For information about creating a secret using the CLI or SDK, see [CreateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html).\n For information about retrieving a secret in code, see [Retrieve secrets from Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html)", + "markdownDescription": "SchemaMapping defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-schemamapping.html)", "allOf": [ { "type": "object", @@ -4957,18 +4943,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SecretsManager::Secret" + "AWS::EntityResolution::SchemaMapping" ], "markdownEnumDescriptions": [ - "Creates a new secret. A *secret* can be a password, a set of credentials such as a user name and password, an OAuth token, or other secret information that you store in an encrypted form in Secrets Manager.\n For RDS master user credentials, see [AWS::RDS::DBCluster MasterUserSecret](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html).\n For RS admin user credentials, see [AWS::Redshift::Cluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html).\n To retrieve a secret in a CFNshort template, use a *dynamic reference*. For more information, see [Retrieve a secret in an resource](https://docs.aws.amazon.com/secretsmanager/latest/userguide/cfn-example_reference-secret.html).\n For information about creating a secret in the console, see [Create a secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html). For information about creating a secret using the CLI or SDK, see [CreateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html).\n For information about retrieving a secret in code, see [Retrieve secrets from Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html)" + "SchemaMapping defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-schemamapping.html)" ] }, "Properties": { - "$ref": "resources/aws-secretsmanager-secret.json" + "$ref": "resources/aws-entityresolution-schemamapping.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -4977,9 +4964,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SpotFleet": { + "AWS_Amplify_Branch": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::SpotFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.html)", + "markdownDescription": "The AWS::Amplify::Branch resource creates a new branch within an app. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html)", "allOf": [ { "type": "object", @@ -4987,14 +4974,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SpotFleet" + "AWS::Amplify::Branch" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::SpotFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.html)" + "The AWS::Amplify::Branch resource creates a new branch within an app. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-spotfleet.json" + "$ref": "resources/aws-amplify-branch.json" } }, "required": [ @@ -5008,9 +4995,9 @@ ], "additionalProperties": false }, - "AWS_ConnectCampaigns_Campaign": { + "AWS_S3Outposts_AccessPoint": { "type": "object", - "markdownDescription": "Definition of AWS::ConnectCampaigns::Campaign Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaigns-campaign.html)", + "markdownDescription": "Resource Type Definition for AWS::S3Outposts::AccessPoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.html)", "allOf": [ { "type": "object", @@ -5018,14 +5005,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ConnectCampaigns::Campaign" + "AWS::S3Outposts::AccessPoint" ], "markdownEnumDescriptions": [ - "Definition of AWS::ConnectCampaigns::Campaign Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaigns-campaign.html)" + "Resource Type Definition for AWS::S3Outposts::AccessPoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.html)" ] }, "Properties": { - "$ref": "resources/aws-connectcampaigns-campaign.json" + "$ref": "resources/aws-s3outposts-accesspoint.json" } }, "required": [ @@ -5039,9 +5026,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_DomainName": { + "AWS_GuardDuty_Filter": { "type": "object", - "markdownDescription": "The ``AWS::ApiGatewayV2::DomainName`` resource specifies a custom domain name for your API in Amazon API Gateway (API Gateway). \n You can use a custom domain name to provide a URL that's more intuitive and easier to recall. For more information about using custom domain names, see [Set up Custom Domain Name for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html)", + "markdownDescription": "Resource Type definition for AWS::GuardDuty::Filter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html)", "allOf": [ { "type": "object", @@ -5049,14 +5036,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::DomainName" + "AWS::GuardDuty::Filter" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGatewayV2::DomainName`` resource specifies a custom domain name for your API in Amazon API Gateway (API Gateway). \n You can use a custom domain name to provide a URL that's more intuitive and easier to recall. For more information about using custom domain names, see [Set up Custom Domain Name for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html)" + "Resource Type definition for AWS::GuardDuty::Filter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-domainname.json" + "$ref": "resources/aws-guardduty-filter.json" } }, "required": [ @@ -5070,9 +5057,9 @@ ], "additionalProperties": false }, - "AWS_Proton_ServiceTemplate": { + "AWS_WorkSpacesWeb_UserSettings": { "type": "object", - "markdownDescription": "Definition of AWS::Proton::ServiceTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-servicetemplate.html)", + "markdownDescription": "Definition of AWS::WorkSpacesWeb::UserSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.html)", "allOf": [ { "type": "object", @@ -5080,18 +5067,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Proton::ServiceTemplate" + "AWS::WorkSpacesWeb::UserSettings" ], "markdownEnumDescriptions": [ - "Definition of AWS::Proton::ServiceTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-servicetemplate.html)" + "Definition of AWS::WorkSpacesWeb::UserSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.html)" ] }, "Properties": { - "$ref": "resources/aws-proton-servicetemplate.json" + "$ref": "resources/aws-workspacesweb-usersettings.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -5100,9 +5088,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_ApplicationEntitlementAssociation": { + "AWS_ElastiCache_SubnetGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::ApplicationEntitlementAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationentitlementassociation.html)", + "markdownDescription": "Resource Type definition for AWS::ElastiCache::SubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-subnetgroup.html)", "allOf": [ { "type": "object", @@ -5110,14 +5098,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::ApplicationEntitlementAssociation" + "AWS::ElastiCache::SubnetGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::ApplicationEntitlementAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationentitlementassociation.html)" + "Resource Type definition for AWS::ElastiCache::SubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-subnetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-applicationentitlementassociation.json" + "$ref": "resources/aws-elasticache-subnetgroup.json" } }, "required": [ @@ -5131,9 +5119,9 @@ ], "additionalProperties": false }, - "AWS_Logs_LogGroup": { + "AWS_LicenseManager_Grant": { "type": "object", - "markdownDescription": "The ``AWS::Logs::LogGroup`` resource specifies a log group. A log group defines common properties for log streams, such as their retention and access control rules. Each log stream must belong to one log group.\n You can create up to 1,000,000 log groups per Region per account. You must use the following guidelines when naming a log group:\n + Log group names must be unique within a Region for an AWS account.\n + Log group names can be between 1 and 512 characters long.\n + Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-grant.html)", "allOf": [ { "type": "object", @@ -5141,14 +5129,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::LogGroup" + "AWS::LicenseManager::Grant" ], "markdownEnumDescriptions": [ - "The ``AWS::Logs::LogGroup`` resource specifies a log group. A log group defines common properties for log streams, such as their retention and access control rules. Each log stream must belong to one log group.\n You can create up to 1,000,000 log groups per Region per account. You must use the following guidelines when naming a log group:\n + Log group names must be unique within a Region for an AWS account.\n + Log group names can be between 1 and 512 characters long.\n + Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-grant.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-loggroup.json" + "$ref": "resources/aws-licensemanager-grant.json" } }, "required": [ @@ -5161,9 +5149,9 @@ ], "additionalProperties": false }, - "AWS_Proton_EnvironmentTemplate": { + "AWS_Connect_SecurityProfile": { "type": "object", - "markdownDescription": "Definition of AWS::Proton::EnvironmentTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-environmenttemplate.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::SecurityProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html)", "allOf": [ { "type": "object", @@ -5171,18 +5159,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Proton::EnvironmentTemplate" + "AWS::Connect::SecurityProfile" ], "markdownEnumDescriptions": [ - "Definition of AWS::Proton::EnvironmentTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-environmenttemplate.html)" + "Resource Type definition for AWS::Connect::SecurityProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-proton-environmenttemplate.json" + "$ref": "resources/aws-connect-securityprofile.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -5191,9 +5180,9 @@ ], "additionalProperties": false }, - "AWS_S3ObjectLambda_AccessPoint": { + "AWS_MediaConnect_FlowVpcInterface": { "type": "object", - "markdownDescription": "The AWS::S3ObjectLambda::AccessPoint resource is an Amazon S3ObjectLambda resource type that you can use to add computation to S3 actions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspoint.html)", + "markdownDescription": "Resource schema for AWS::MediaConnect::FlowVpcInterface \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html)", "allOf": [ { "type": "object", @@ -5201,14 +5190,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3ObjectLambda::AccessPoint" + "AWS::MediaConnect::FlowVpcInterface" ], "markdownEnumDescriptions": [ - "The AWS::S3ObjectLambda::AccessPoint resource is an Amazon S3ObjectLambda resource type that you can use to add computation to S3 actions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspoint.html)" + "Resource schema for AWS::MediaConnect::FlowVpcInterface \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html)" ] }, "Properties": { - "$ref": "resources/aws-s3objectlambda-accesspoint.json" + "$ref": "resources/aws-mediaconnect-flowvpcinterface.json" } }, "required": [ @@ -5222,9 +5211,9 @@ ], "additionalProperties": false }, - "AWS_DMS_ReplicationConfig": { + "AWS_Glue_MLTransform": { "type": "object", - "markdownDescription": "A replication configuration that you later provide to configure and start a AWS DMS Serverless replication \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::MLTransform \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html)", "allOf": [ { "type": "object", @@ -5232,14 +5221,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::ReplicationConfig" + "AWS::Glue::MLTransform" ], "markdownEnumDescriptions": [ - "A replication configuration that you later provide to configure and start a AWS DMS Serverless replication \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html)" + "Resource Type definition for AWS::Glue::MLTransform \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html)" ] }, "Properties": { - "$ref": "resources/aws-dms-replicationconfig.json" + "$ref": "resources/aws-glue-mltransform.json" } }, "required": [ @@ -5253,9 +5242,9 @@ ], "additionalProperties": false }, - "AWS_IoTFleetWise_Campaign": { + "AWS_Route53Profiles_ProfileAssociation": { "type": "object", - "markdownDescription": "Definition of AWS::IoTFleetWise::Campaign Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-campaign.html)", + "markdownDescription": "Resource Type definition for AWS::Route53Profiles::ProfileAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profileassociation.html)", "allOf": [ { "type": "object", @@ -5263,14 +5252,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTFleetWise::Campaign" + "AWS::Route53Profiles::ProfileAssociation" ], "markdownEnumDescriptions": [ - "Definition of AWS::IoTFleetWise::Campaign Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-campaign.html)" + "Resource Type definition for AWS::Route53Profiles::ProfileAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profileassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-iotfleetwise-campaign.json" + "$ref": "resources/aws-route53profiles-profileassociation.json" } }, "required": [ @@ -5284,9 +5273,9 @@ ], "additionalProperties": false }, - "AWS_SQS_QueueInlinePolicy": { + "AWS_Logs_QueryDefinition": { "type": "object", - "markdownDescription": "Schema for SQS QueueInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queueinlinepolicy.html)", + "markdownDescription": "The resource schema for AWSLogs QueryDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-querydefinition.html)", "allOf": [ { "type": "object", @@ -5294,14 +5283,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SQS::QueueInlinePolicy" + "AWS::Logs::QueryDefinition" ], "markdownEnumDescriptions": [ - "Schema for SQS QueueInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queueinlinepolicy.html)" + "The resource schema for AWSLogs QueryDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-querydefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-sqs-queueinlinepolicy.json" + "$ref": "resources/aws-logs-querydefinition.json" } }, "required": [ @@ -5315,9 +5304,9 @@ ], "additionalProperties": false }, - "AWS_IVS_PlaybackKeyPair": { + "AWS_CE_AnomalyMonitor": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IVS::PlaybackKeyPair \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackkeypair.html)", + "markdownDescription": "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. You can use Cost Anomaly Detection by creating monitor. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html)", "allOf": [ { "type": "object", @@ -5325,18 +5314,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::PlaybackKeyPair" + "AWS::CE::AnomalyMonitor" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IVS::PlaybackKeyPair \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackkeypair.html)" + "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. You can use Cost Anomaly Detection by creating monitor. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html)" ] }, "Properties": { - "$ref": "resources/aws-ivs-playbackkeypair.json" + "$ref": "resources/aws-ce-anomalymonitor.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -5345,9 +5335,9 @@ ], "additionalProperties": false }, - "AWS_Comprehend_DocumentClassifier": { + "AWS_ApplicationInsights_Application": { "type": "object", - "markdownDescription": "Document Classifier enables training document classifier models. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-comprehend-documentclassifier.html)", + "markdownDescription": "Resource schema for AWS::ApplicationInsights::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html)", "allOf": [ { "type": "object", @@ -5355,14 +5345,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Comprehend::DocumentClassifier" + "AWS::ApplicationInsights::Application" ], "markdownEnumDescriptions": [ - "Document Classifier enables training document classifier models. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-comprehend-documentclassifier.html)" + "Resource schema for AWS::ApplicationInsights::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html)" ] }, "Properties": { - "$ref": "resources/aws-comprehend-documentclassifier.json" + "$ref": "resources/aws-applicationinsights-application.json" } }, "required": [ @@ -5376,9 +5366,9 @@ ], "additionalProperties": false }, - "AWS_Detective_Graph": { + "AWS_VpcLattice_Rule": { "type": "object", - "markdownDescription": "Resource schema for AWS::Detective::Graph \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-graph.html)", + "markdownDescription": "Creates a listener rule. Each listener has a default rule for checking connection requests, but you can define additional rules. Each rule consists of a priority, one or more actions, and one or more conditions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html)", "allOf": [ { "type": "object", @@ -5386,18 +5376,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Detective::Graph" + "AWS::VpcLattice::Rule" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Detective::Graph \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-graph.html)" + "Creates a listener rule. Each listener has a default rule for checking connection requests, but you can define additional rules. Each rule consists of a priority, one or more actions, and one or more conditions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html)" ] }, "Properties": { - "$ref": "resources/aws-detective-graph.json" + "$ref": "resources/aws-vpclattice-rule.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -5406,9 +5397,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBCluster": { + "AWS_Organizations_Account": { "type": "object", - "markdownDescription": "The ``AWS::RDS::DBCluster`` resource creates an Amazon Aurora DB cluster or Multi-AZ DB cluster.\n For more information about creating an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide*.\n For more information about creating a Multi-AZ DB cluster, see [Creating a Multi-AZ DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html) in the *Amazon RDS User Guide*.\n You can only create this resource in AWS Regions where Amazon Aurora or Multi-AZ DB clusters are supported.\n *Updating DB clusters* \n When properties labeled \"*Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)\" are updated, AWS CloudFormation first creates a replacement DB cluster, then changes references from other dependent resources to point to the replacement DB cluster, and finally deletes the old DB cluster.\n We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB cluster. To preserve your data, perform the following procedure:\n 1. Deactivate any applications that are using the DB cluster so that there's no activity on the DB instance.\n 1. Create a snapshot of the DB cluster. For more information, see [Creating a DB cluster snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CreateSnapshotCluster.html).\n 1. If you want to restore your DB cluster using a DB cluster snapshot, modify the updated template with your DB cluster changes and add the ``SnapshotIdentifier`` property with the ID of the DB cluster snapshot that you want to use.\n After you restore a DB cluster with a ``SnapshotIdentifier`` property, you must specify the same ``SnapshotIdentifier`` property for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the DB cluster snapshot again, and the data in the database is not changed. However, if you don't specify the ``SnapshotIdentifier`` property, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB cluster is restored from the specified ``SnapshotIdentifier`` property, and the original DB cluster is deleted.\n 1. Update the stack.\n \n Currently, when you are updating the stack for an Aurora Serverless DB cluster, you can't include changes to any other properties when you specify one of the following properties: ``PreferredBackupWindow``, ``PreferredMaintenanceWindow``, and ``Port``. This limitation doesn't apply to provisioned DB clusters.\n For more information about updating other properties of this resource, see ``ModifyDBCluster``. For more information about updating stacks, see [CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html).\n *Deleting DB clusters* \n The default ``DeletionPolicy`` for ``AWS::RDS::DBCluster`` resources is ``Snapshot``. For more information about how AWS CloudFormation deletes resources, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html)", + "markdownDescription": "You can use AWS::Organizations::Account to manage accounts in organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-account.html)", "allOf": [ { "type": "object", @@ -5416,18 +5407,19 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBCluster" + "AWS::Organizations::Account" ], "markdownEnumDescriptions": [ - "The ``AWS::RDS::DBCluster`` resource creates an Amazon Aurora DB cluster or Multi-AZ DB cluster.\n For more information about creating an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide*.\n For more information about creating a Multi-AZ DB cluster, see [Creating a Multi-AZ DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html) in the *Amazon RDS User Guide*.\n You can only create this resource in AWS Regions where Amazon Aurora or Multi-AZ DB clusters are supported.\n *Updating DB clusters* \n When properties labeled \"*Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)\" are updated, AWS CloudFormation first creates a replacement DB cluster, then changes references from other dependent resources to point to the replacement DB cluster, and finally deletes the old DB cluster.\n We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB cluster. To preserve your data, perform the following procedure:\n 1. Deactivate any applications that are using the DB cluster so that there's no activity on the DB instance.\n 1. Create a snapshot of the DB cluster. For more information, see [Creating a DB cluster snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CreateSnapshotCluster.html).\n 1. If you want to restore your DB cluster using a DB cluster snapshot, modify the updated template with your DB cluster changes and add the ``SnapshotIdentifier`` property with the ID of the DB cluster snapshot that you want to use.\n After you restore a DB cluster with a ``SnapshotIdentifier`` property, you must specify the same ``SnapshotIdentifier`` property for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the DB cluster snapshot again, and the data in the database is not changed. However, if you don't specify the ``SnapshotIdentifier`` property, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB cluster is restored from the specified ``SnapshotIdentifier`` property, and the original DB cluster is deleted.\n 1. Update the stack.\n \n Currently, when you are updating the stack for an Aurora Serverless DB cluster, you can't include changes to any other properties when you specify one of the following properties: ``PreferredBackupWindow``, ``PreferredMaintenanceWindow``, and ``Port``. This limitation doesn't apply to provisioned DB clusters.\n For more information about updating other properties of this resource, see ``ModifyDBCluster``. For more information about updating stacks, see [CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html).\n *Deleting DB clusters* \n The default ``DeletionPolicy`` for ``AWS::RDS::DBCluster`` resources is ``Snapshot``. For more information about how AWS CloudFormation deletes resources, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html)" + "You can use AWS::Organizations::Account to manage accounts in organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-account.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbcluster.json" + "$ref": "resources/aws-organizations-account.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -5436,9 +5428,9 @@ ], "additionalProperties": false }, - "AWS_RolesAnywhere_CRL": { + "AWS_Connect_ViewVersion": { "type": "object", - "markdownDescription": "Definition of AWS::RolesAnywhere::CRL Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::ViewVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-viewversion.html)", "allOf": [ { "type": "object", @@ -5446,14 +5438,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RolesAnywhere::CRL" + "AWS::Connect::ViewVersion" ], "markdownEnumDescriptions": [ - "Definition of AWS::RolesAnywhere::CRL Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html)" + "Resource Type definition for AWS::Connect::ViewVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-viewversion.html)" ] }, "Properties": { - "$ref": "resources/aws-rolesanywhere-crl.json" + "$ref": "resources/aws-connect-viewversion.json" } }, "required": [ @@ -5467,9 +5459,9 @@ ], "additionalProperties": false }, - "AWS_Athena_NamedQuery": { + "AWS_ServiceDiscovery_Service": { "type": "object", - "markdownDescription": "Resource schema for AWS::Athena::NamedQuery \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceDiscovery::Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html)", "allOf": [ { "type": "object", @@ -5477,19 +5469,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Athena::NamedQuery" + "AWS::ServiceDiscovery::Service" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Athena::NamedQuery \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html)" + "Resource Type definition for AWS::ServiceDiscovery::Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html)" ] }, "Properties": { - "$ref": "resources/aws-athena-namedquery.json" + "$ref": "resources/aws-servicediscovery-service.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -5498,9 +5489,9 @@ ], "additionalProperties": false }, - "AWS_Config_ConformancePack": { + "AWS_IoTSiteWise_Asset": { "type": "object", - "markdownDescription": "A conformance pack is a collection of AWS Config rules and remediation actions that can be easily deployed as a single entity in an account and a region or across an entire AWS Organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-conformancepack.html)", + "markdownDescription": "Resource schema for AWS::IoTSiteWise::Asset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-asset.html)", "allOf": [ { "type": "object", @@ -5508,14 +5499,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::ConformancePack" + "AWS::IoTSiteWise::Asset" ], "markdownEnumDescriptions": [ - "A conformance pack is a collection of AWS Config rules and remediation actions that can be easily deployed as a single entity in an account and a region or across an entire AWS Organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-conformancepack.html)" + "Resource schema for AWS::IoTSiteWise::Asset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-asset.html)" ] }, "Properties": { - "$ref": "resources/aws-config-conformancepack.json" + "$ref": "resources/aws-iotsitewise-asset.json" } }, "required": [ @@ -5529,9 +5520,9 @@ ], "additionalProperties": false }, - "AWS_CloudWatch_MetricStream": { + "AWS_SageMaker_Model": { "type": "object", - "markdownDescription": "Resource Type definition for Metric Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::Model \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html)", "allOf": [ { "type": "object", @@ -5539,14 +5530,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudWatch::MetricStream" + "AWS::SageMaker::Model" ], "markdownEnumDescriptions": [ - "Resource Type definition for Metric Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html)" + "Resource Type definition for AWS::SageMaker::Model \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudwatch-metricstream.json" + "$ref": "resources/aws-sagemaker-model.json" } }, "required": [ @@ -5559,9 +5550,9 @@ ], "additionalProperties": false }, - "AWS_SSO_InstanceAccessControlAttributeConfiguration": { + "AWS_ImageBuilder_ImageRecipe": { "type": "object", - "markdownDescription": "Resource Type definition for SSO InstanceAccessControlAttributeConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instanceaccesscontrolattributeconfiguration.html)", + "markdownDescription": "Resource schema for AWS::ImageBuilder::ImageRecipe \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html)", "allOf": [ { "type": "object", @@ -5569,14 +5560,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSO::InstanceAccessControlAttributeConfiguration" + "AWS::ImageBuilder::ImageRecipe" ], "markdownEnumDescriptions": [ - "Resource Type definition for SSO InstanceAccessControlAttributeConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instanceaccesscontrolattributeconfiguration.html)" + "Resource schema for AWS::ImageBuilder::ImageRecipe \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html)" ] }, "Properties": { - "$ref": "resources/aws-sso-instanceaccesscontrolattributeconfiguration.json" + "$ref": "resources/aws-imagebuilder-imagerecipe.json" } }, "required": [ @@ -5590,9 +5581,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkInsightsAccessScopeAnalysis": { + "AWS_Cognito_UserPoolGroup": { "type": "object", - "markdownDescription": "Resource schema for AWS::EC2::NetworkInsightsAccessScopeAnalysis \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscopeanalysis.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html)", "allOf": [ { "type": "object", @@ -5600,14 +5591,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkInsightsAccessScopeAnalysis" + "AWS::Cognito::UserPoolGroup" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EC2::NetworkInsightsAccessScopeAnalysis \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscopeanalysis.html)" + "Resource Type definition for AWS::Cognito::UserPoolGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkinsightsaccessscopeanalysis.json" + "$ref": "resources/aws-cognito-userpoolgroup.json" } }, "required": [ @@ -5621,9 +5612,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_Route": { + "AWS_RoboMaker_SimulationApplicationVersion": { "type": "object", - "markdownDescription": "The ``AWS::ApiGatewayV2::Route`` resource creates a route for an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html)", + "markdownDescription": "AWS::RoboMaker::SimulationApplicationVersion resource creates an AWS RoboMaker SimulationApplicationVersion. This helps you control which code your simulation uses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplicationversion.html)", "allOf": [ { "type": "object", @@ -5631,14 +5622,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::Route" + "AWS::RoboMaker::SimulationApplicationVersion" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGatewayV2::Route`` resource creates a route for an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html)" + "AWS::RoboMaker::SimulationApplicationVersion resource creates an AWS RoboMaker SimulationApplicationVersion. This helps you control which code your simulation uses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplicationversion.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-route.json" + "$ref": "resources/aws-robomaker-simulationapplicationversion.json" } }, "required": [ @@ -5652,9 +5643,9 @@ ], "additionalProperties": false }, - "AWS_IAM_AccessKey": { + "AWS_IoT_Thing": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IAM::AccessKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-accesskey.html)", + "markdownDescription": "Resource Type definition for AWS::IoT::Thing \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.html)", "allOf": [ { "type": "object", @@ -5662,19 +5653,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::AccessKey" + "AWS::IoT::Thing" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IAM::AccessKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-accesskey.html)" + "Resource Type definition for AWS::IoT::Thing \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-accesskey.json" + "$ref": "resources/aws-iot-thing.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -5683,9 +5673,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_App": { + "AWS_GlobalAccelerator_Listener": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html)", + "markdownDescription": "Resource Type definition for AWS::GlobalAccelerator::Listener \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html)", "allOf": [ { "type": "object", @@ -5693,14 +5683,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::App" + "AWS::GlobalAccelerator::Listener" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html)" + "Resource Type definition for AWS::GlobalAccelerator::Listener \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-app.json" + "$ref": "resources/aws-globalaccelerator-listener.json" } }, "required": [ @@ -5714,9 +5704,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_ServiceNetwork": { + "AWS_Lambda_Permission": { "type": "object", - "markdownDescription": "A service network is a logical boundary for a collection of services. You can associate services and VPCs with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetwork.html)", + "markdownDescription": "The ``AWS::Lambda::Permission`` resource grants an AWS service or another account permission to use a function. You can apply the policy at the function level, or specify a qualifier to restrict access to a single version or alias. If you use a qualifier, the invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the function.\n To grant permission to another account, specify the account ID as the ``Principal``. To grant permission to an organization defined in AOlong, specify the organization ID as the ``PrincipalOrgID``. For AWS services, the principal is a domain-style identifier defined by the service, like ``s3.amazonaws.com`` or ``sns.amazonaws.com``. For AWS services, you can also specify the ARN of the associated resource as the ``SourceArn``. If you grant permission to a service principal without specifying the source, other accounts could potentially configure resources in their account to invoke your Lambda function.\n If your function has a function URL, you can specify the ``FunctionUrlAuthType`` parameter. This adds a condition to your permission that only applies when your function URL's ``AuthType`` matches the specified ``FunctionUrlAuthType``. For more information about the ``AuthType`` parameter, see [Security and auth model for function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html).\n This resource adds a statement to a resource-based permission policy for the function. For more information about function policies, see [Lambda Function Policies](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)", "allOf": [ { "type": "object", @@ -5724,18 +5714,19 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::ServiceNetwork" + "AWS::Lambda::Permission" ], "markdownEnumDescriptions": [ - "A service network is a logical boundary for a collection of services. You can associate services and VPCs with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetwork.html)" + "The ``AWS::Lambda::Permission`` resource grants an AWS service or another account permission to use a function. You can apply the policy at the function level, or specify a qualifier to restrict access to a single version or alias. If you use a qualifier, the invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the function.\n To grant permission to another account, specify the account ID as the ``Principal``. To grant permission to an organization defined in AOlong, specify the organization ID as the ``PrincipalOrgID``. For AWS services, the principal is a domain-style identifier defined by the service, like ``s3.amazonaws.com`` or ``sns.amazonaws.com``. For AWS services, you can also specify the ARN of the associated resource as the ``SourceArn``. If you grant permission to a service principal without specifying the source, other accounts could potentially configure resources in their account to invoke your Lambda function.\n If your function has a function URL, you can specify the ``FunctionUrlAuthType`` parameter. This adds a condition to your permission that only applies when your function URL's ``AuthType`` matches the specified ``FunctionUrlAuthType``. For more information about the ``AuthType`` parameter, see [Security and auth model for function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html).\n This resource adds a statement to a resource-based permission policy for the function. For more information about function policies, see [Lambda Function Policies](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-servicenetwork.json" + "$ref": "resources/aws-lambda-permission.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -5744,9 +5735,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPNConnection": { + "AWS_SecurityLake_DataLake": { "type": "object", - "markdownDescription": "Specifies a VPN connection between a virtual private gateway and a VPN customer gateway or a transit gateway and a VPN customer gateway.\n To specify a VPN connection between a transit gateway and customer gateway, use the ``TransitGatewayId`` and ``CustomerGatewayId`` properties.\n To specify a VPN connection between a virtual private gateway and customer gateway, use the ``VpnGatewayId`` and ``CustomerGatewayId`` properties.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html)", + "markdownDescription": "Resource Type definition for AWS::SecurityLake::DataLake \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-datalake.html)", "allOf": [ { "type": "object", @@ -5754,19 +5745,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPNConnection" + "AWS::SecurityLake::DataLake" ], "markdownEnumDescriptions": [ - "Specifies a VPN connection between a virtual private gateway and a VPN customer gateway or a transit gateway and a VPN customer gateway.\n To specify a VPN connection between a transit gateway and customer gateway, use the ``TransitGatewayId`` and ``CustomerGatewayId`` properties.\n To specify a VPN connection between a virtual private gateway and customer gateway, use the ``VpnGatewayId`` and ``CustomerGatewayId`` properties.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html)" + "Resource Type definition for AWS::SecurityLake::DataLake \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-datalake.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpnconnection.json" + "$ref": "resources/aws-securitylake-datalake.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -5775,9 +5765,9 @@ ], "additionalProperties": false }, - "AWS_IoT_Certificate": { + "AWS_ImageBuilder_Workflow": { "type": "object", - "markdownDescription": "Use the AWS::IoT::Certificate resource to declare an AWS IoT X.509 certificate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html)", + "markdownDescription": "Resource schema for AWS::ImageBuilder::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-workflow.html)", "allOf": [ { "type": "object", @@ -5785,14 +5775,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::Certificate" + "AWS::ImageBuilder::Workflow" ], "markdownEnumDescriptions": [ - "Use the AWS::IoT::Certificate resource to declare an AWS IoT X.509 certificate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html)" + "Resource schema for AWS::ImageBuilder::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-workflow.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-certificate.json" + "$ref": "resources/aws-imagebuilder-workflow.json" } }, "required": [ @@ -5806,9 +5796,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SubnetCidrBlock": { + "AWS_Route53RecoveryControl_ControlPanel": { "type": "object", - "markdownDescription": "The AWS::EC2::SubnetCidrBlock resource creates association between subnet and IPv6 CIDR \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html)", + "markdownDescription": "AWS Route53 Recovery Control Control Panel resource schema . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-controlpanel.html)", "allOf": [ { "type": "object", @@ -5816,14 +5806,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SubnetCidrBlock" + "AWS::Route53RecoveryControl::ControlPanel" ], "markdownEnumDescriptions": [ - "The AWS::EC2::SubnetCidrBlock resource creates association between subnet and IPv6 CIDR \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html)" + "AWS Route53 Recovery Control Control Panel resource schema . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-controlpanel.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-subnetcidrblock.json" + "$ref": "resources/aws-route53recoverycontrol-controlpanel.json" } }, "required": [ @@ -5837,9 +5827,9 @@ ], "additionalProperties": false }, - "AWS_IoT_ScheduledAudit": { + "AWS_EC2_VPCGatewayAttachment": { "type": "object", - "markdownDescription": "Scheduled audits can be used to specify the checks you want to perform during an audit and how often the audit should be run. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-scheduledaudit.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::VPCGatewayAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcgatewayattachment.html)", "allOf": [ { "type": "object", @@ -5847,14 +5837,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::ScheduledAudit" + "AWS::EC2::VPCGatewayAttachment" ], "markdownEnumDescriptions": [ - "Scheduled audits can be used to specify the checks you want to perform during an audit and how often the audit should be run. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-scheduledaudit.html)" + "Resource Type definition for AWS::EC2::VPCGatewayAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcgatewayattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-scheduledaudit.json" + "$ref": "resources/aws-ec2-vpcgatewayattachment.json" } }, "required": [ @@ -5868,9 +5858,9 @@ ], "additionalProperties": false }, - "AWS_RefactorSpaces_Environment": { + "AWS_Chatbot_SlackChannelConfiguration": { "type": "object", - "markdownDescription": "Definition of AWS::RefactorSpaces::Environment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-environment.html)", + "markdownDescription": "Resource schema for AWS::Chatbot::SlackChannelConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html)", "allOf": [ { "type": "object", @@ -5878,14 +5868,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RefactorSpaces::Environment" + "AWS::Chatbot::SlackChannelConfiguration" ], "markdownEnumDescriptions": [ - "Definition of AWS::RefactorSpaces::Environment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-environment.html)" + "Resource schema for AWS::Chatbot::SlackChannelConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-refactorspaces-environment.json" + "$ref": "resources/aws-chatbot-slackchannelconfiguration.json" } }, "required": [ @@ -5899,9 +5889,9 @@ ], "additionalProperties": false }, - "AWS_HealthLake_FHIRDatastore": { + "AWS_MSK_Configuration": { "type": "object", - "markdownDescription": "HealthLake FHIR Datastore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthlake-fhirdatastore.html)", + "markdownDescription": "Resource Type definition for AWS::MSK::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html)", "allOf": [ { "type": "object", @@ -5909,14 +5899,14 @@ "Type": { "type": "string", "enum": [ - "AWS::HealthLake::FHIRDatastore" + "AWS::MSK::Configuration" ], "markdownEnumDescriptions": [ - "HealthLake FHIR Datastore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthlake-fhirdatastore.html)" + "Resource Type definition for AWS::MSK::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html)" ] }, "Properties": { - "$ref": "resources/aws-healthlake-fhirdatastore.json" + "$ref": "resources/aws-msk-configuration.json" } }, "required": [ @@ -5930,9 +5920,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Registry": { + "AWS_ServiceCatalog_TagOptionAssociation": { "type": "object", - "markdownDescription": "This resource creates a Registry for authoring schemas as part of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-registry.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::TagOptionAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoptionassociation.html)", "allOf": [ { "type": "object", @@ -5940,14 +5930,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Registry" + "AWS::ServiceCatalog::TagOptionAssociation" ], "markdownEnumDescriptions": [ - "This resource creates a Registry for authoring schemas as part of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-registry.html)" + "Resource Type definition for AWS::ServiceCatalog::TagOptionAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoptionassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-registry.json" + "$ref": "resources/aws-servicecatalog-tagoptionassociation.json" } }, "required": [ @@ -5961,9 +5951,9 @@ ], "additionalProperties": false }, - "AWS_Backup_Framework": { + "AWS_HealthImaging_Datastore": { "type": "object", - "markdownDescription": "Contains detailed information about a framework. Frameworks contain controls, which evaluate and report on your backup events and resources. Frameworks generate daily compliance results. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-framework.html)", + "markdownDescription": "Definition of AWS::HealthImaging::Datastore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthimaging-datastore.html)", "allOf": [ { "type": "object", @@ -5971,19 +5961,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Backup::Framework" + "AWS::HealthImaging::Datastore" ], "markdownEnumDescriptions": [ - "Contains detailed information about a framework. Frameworks contain controls, which evaluate and report on your backup events and resources. Frameworks generate daily compliance results. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-framework.html)" + "Definition of AWS::HealthImaging::Datastore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthimaging-datastore.html)" ] }, "Properties": { - "$ref": "resources/aws-backup-framework.json" + "$ref": "resources/aws-healthimaging-datastore.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -5992,9 +5981,9 @@ ], "additionalProperties": false }, - "AWS_Events_Connection": { + "AWS_Config_ConformancePack": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Events::Connection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html)", + "markdownDescription": "A conformance pack is a collection of AWS Config rules and remediation actions that can be easily deployed as a single entity in an account and a region or across an entire AWS Organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-conformancepack.html)", "allOf": [ { "type": "object", @@ -6002,18 +5991,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Events::Connection" + "AWS::Config::ConformancePack" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Events::Connection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html)" + "A conformance pack is a collection of AWS Config rules and remediation actions that can be easily deployed as a single entity in an account and a region or across an entire AWS Organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-conformancepack.html)" ] }, "Properties": { - "$ref": "resources/aws-events-connection.json" + "$ref": "resources/aws-config-conformancepack.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -6022,9 +6012,9 @@ ], "additionalProperties": false }, - "AWS_SQS_QueuePolicy": { + "AWS_Evidently_Segment": { "type": "object", - "markdownDescription": "The ``AWS::SQS::QueuePolicy`` type applies a policy to SQS queues. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sqs-policy) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queuepolicy.html)", + "markdownDescription": "Resource Type definition for AWS::Evidently::Segment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-segment.html)", "allOf": [ { "type": "object", @@ -6032,14 +6022,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SQS::QueuePolicy" + "AWS::Evidently::Segment" ], "markdownEnumDescriptions": [ - "The ``AWS::SQS::QueuePolicy`` type applies a policy to SQS queues. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sqs-policy) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queuepolicy.html)" + "Resource Type definition for AWS::Evidently::Segment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-segment.html)" ] }, "Properties": { - "$ref": "resources/aws-sqs-queuepolicy.json" + "$ref": "resources/aws-evidently-segment.json" } }, "required": [ @@ -6053,9 +6043,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGateway": { + "AWS_PaymentCryptography_Alias": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::TransitGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html)", + "markdownDescription": "Definition of AWS::PaymentCryptography::Alias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-paymentcryptography-alias.html)", "allOf": [ { "type": "object", @@ -6063,18 +6053,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGateway" + "AWS::PaymentCryptography::Alias" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TransitGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html)" + "Definition of AWS::PaymentCryptography::Alias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-paymentcryptography-alias.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgateway.json" + "$ref": "resources/aws-paymentcryptography-alias.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -6083,9 +6074,9 @@ ], "additionalProperties": false }, - "AWS_CodeArtifact_Repository": { + "AWS_CloudFormation_ModuleVersion": { "type": "object", - "markdownDescription": "The resource schema to create a CodeArtifact repository. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html)", + "markdownDescription": "A module that has been registered in the CloudFormation registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduleversion.html)", "allOf": [ { "type": "object", @@ -6093,14 +6084,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeArtifact::Repository" + "AWS::CloudFormation::ModuleVersion" ], "markdownEnumDescriptions": [ - "The resource schema to create a CodeArtifact repository. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html)" + "A module that has been registered in the CloudFormation registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduleversion.html)" ] }, "Properties": { - "$ref": "resources/aws-codeartifact-repository.json" + "$ref": "resources/aws-cloudformation-moduleversion.json" } }, "required": [ @@ -6114,9 +6105,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_BrowserSettings": { + "AWS_IoT_ThingGroup": { "type": "object", - "markdownDescription": "Definition of AWS::WorkSpacesWeb::BrowserSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-browsersettings.html)", + "markdownDescription": "Resource Type definition for AWS::IoT::ThingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thinggroup.html)", "allOf": [ { "type": "object", @@ -6124,14 +6115,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::BrowserSettings" + "AWS::IoT::ThingGroup" ], "markdownEnumDescriptions": [ - "Definition of AWS::WorkSpacesWeb::BrowserSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-browsersettings.html)" + "Resource Type definition for AWS::IoT::ThingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thinggroup.html)" ] }, "Properties": { - "$ref": "resources/aws-workspacesweb-browsersettings.json" + "$ref": "resources/aws-iot-thinggroup.json" } }, "required": [ @@ -6144,40 +6135,9 @@ ], "additionalProperties": false }, - "AWS_Athena_PreparedStatement": { - "type": "object", - "markdownDescription": "Resource schema for AWS::Athena::PreparedStatement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.html)", - "allOf": [ - { - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "AWS::Athena::PreparedStatement" - ], - "markdownEnumDescriptions": [ - "Resource schema for AWS::Athena::PreparedStatement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.html)" - ] - }, - "Properties": { - "$ref": "resources/aws-athena-preparedstatement.json" - } - }, - "required": [ - "Type", - "Properties" - ] - }, - { - "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" - } - ], - "additionalProperties": false - }, - "AWS_FMS_NotificationChannel": { + "AWS_ServiceCatalog_AcceptedPortfolioShare": { "type": "object", - "markdownDescription": "Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-notificationchannel.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::AcceptedPortfolioShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-acceptedportfolioshare.html)", "allOf": [ { "type": "object", @@ -6185,14 +6145,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FMS::NotificationChannel" + "AWS::ServiceCatalog::AcceptedPortfolioShare" ], "markdownEnumDescriptions": [ - "Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-notificationchannel.html)" + "Resource Type definition for AWS::ServiceCatalog::AcceptedPortfolioShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-acceptedportfolioshare.html)" ] }, "Properties": { - "$ref": "resources/aws-fms-notificationchannel.json" + "$ref": "resources/aws-servicecatalog-acceptedportfolioshare.json" } }, "required": [ @@ -6206,9 +6166,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayMulticastDomain": { + "AWS_Personalize_Solution": { "type": "object", - "markdownDescription": "The AWS::EC2::TransitGatewayMulticastDomain type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomain.html)", + "markdownDescription": "Resource schema for AWS::Personalize::Solution. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-solution.html)", "allOf": [ { "type": "object", @@ -6216,14 +6176,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayMulticastDomain" + "AWS::Personalize::Solution" ], "markdownEnumDescriptions": [ - "The AWS::EC2::TransitGatewayMulticastDomain type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomain.html)" + "Resource schema for AWS::Personalize::Solution. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-solution.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewaymulticastdomain.json" + "$ref": "resources/aws-personalize-solution.json" } }, "required": [ @@ -6237,9 +6197,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_User": { + "AWS_ApiGateway_DocumentationVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html)", + "markdownDescription": "The ``AWS::ApiGateway::DocumentationVersion`` resource creates a snapshot of the documentation for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html)", "allOf": [ { "type": "object", @@ -6247,14 +6207,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::User" + "AWS::ApiGateway::DocumentationVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html)" + "The ``AWS::ApiGateway::DocumentationVersion`` resource creates a snapshot of the documentation for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-user.json" + "$ref": "resources/aws-apigateway-documentationversion.json" } }, "required": [ @@ -6268,9 +6228,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_ServiceActionAssociation": { + "AWS_EC2_VPNGateway": { "type": "object", - "markdownDescription": "Resource Schema for AWS::ServiceCatalog::ServiceActionAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceactionassociation.html)", + "markdownDescription": "Specifies a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngateway.html)", "allOf": [ { "type": "object", @@ -6278,14 +6238,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::ServiceActionAssociation" + "AWS::EC2::VPNGateway" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::ServiceCatalog::ServiceActionAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceactionassociation.html)" + "Specifies a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngateway.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-serviceactionassociation.json" + "$ref": "resources/aws-ec2-vpngateway.json" } }, "required": [ @@ -6299,9 +6259,9 @@ ], "additionalProperties": false }, - "AWS_ElasticBeanstalk_ApplicationVersion": { + "AWS_Forecast_DatasetGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElasticBeanstalk::ApplicationVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-applicationversion.html)", + "markdownDescription": "Represents a dataset group that holds a collection of related datasets \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-forecast-datasetgroup.html)", "allOf": [ { "type": "object", @@ -6309,14 +6269,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticBeanstalk::ApplicationVersion" + "AWS::Forecast::DatasetGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticBeanstalk::ApplicationVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-applicationversion.html)" + "Represents a dataset group that holds a collection of related datasets \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-forecast-datasetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticbeanstalk-applicationversion.json" + "$ref": "resources/aws-forecast-datasetgroup.json" } }, "required": [ @@ -6330,9 +6290,9 @@ ], "additionalProperties": false }, - "AWS_BillingConductor_BillingGroup": { + "AWS_LakeFormation_PrincipalPermissions": { "type": "object", - "markdownDescription": "A billing group is a set of linked account which belong to the same end customer. It can be seen as a virtual consolidated billing family. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-billinggroup.html)", + "markdownDescription": "The ``AWS::LakeFormation::PrincipalPermissions`` resource represents the permissions that a principal has on a GLUDC resource (such as GLUlong databases or GLUlong tables). When you create a ``PrincipalPermissions`` resource, the permissions are granted via the LFlong ``GrantPermissions`` API operation. When you delete a ``PrincipalPermissions`` resource, the permissions on principal-resource pair are revoked via the LFlong ``RevokePermissions`` API operation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-principalpermissions.html)", "allOf": [ { "type": "object", @@ -6340,14 +6300,14 @@ "Type": { "type": "string", "enum": [ - "AWS::BillingConductor::BillingGroup" + "AWS::LakeFormation::PrincipalPermissions" ], "markdownEnumDescriptions": [ - "A billing group is a set of linked account which belong to the same end customer. It can be seen as a virtual consolidated billing family. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-billinggroup.html)" + "The ``AWS::LakeFormation::PrincipalPermissions`` resource represents the permissions that a principal has on a GLUDC resource (such as GLUlong databases or GLUlong tables). When you create a ``PrincipalPermissions`` resource, the permissions are granted via the LFlong ``GrantPermissions`` API operation. When you delete a ``PrincipalPermissions`` resource, the permissions on principal-resource pair are revoked via the LFlong ``RevokePermissions`` API operation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-principalpermissions.html)" ] }, "Properties": { - "$ref": "resources/aws-billingconductor-billinggroup.json" + "$ref": "resources/aws-lakeformation-principalpermissions.json" } }, "required": [ @@ -6361,9 +6321,9 @@ ], "additionalProperties": false }, - "AWS_SSM_MaintenanceWindowTask": { + "AWS_CertificateManager_Certificate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SSM::MaintenanceWindowTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html)", + "markdownDescription": "Resource Type definition for AWS::CertificateManager::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html)", "allOf": [ { "type": "object", @@ -6371,14 +6331,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::MaintenanceWindowTask" + "AWS::CertificateManager::Certificate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSM::MaintenanceWindowTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html)" + "Resource Type definition for AWS::CertificateManager::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html)" ] }, "Properties": { - "$ref": "resources/aws-ssm-maintenancewindowtask.json" + "$ref": "resources/aws-certificatemanager-certificate.json" } }, "required": [ @@ -6392,39 +6352,9 @@ ], "additionalProperties": false }, - "AWS_ServiceDiscovery_Service": { - "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceDiscovery::Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html)", - "allOf": [ - { - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "AWS::ServiceDiscovery::Service" - ], - "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceDiscovery::Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html)" - ] - }, - "Properties": { - "$ref": "resources/aws-servicediscovery-service.json" - } - }, - "required": [ - "Type" - ] - }, - { - "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" - } - ], - "additionalProperties": false - }, - "AWS_DAX_Cluster": { + "AWS_WorkSpacesWeb_IdentityProvider": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DAX::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html)", + "markdownDescription": "Definition of AWS::WorkSpacesWeb::IdentityProvider Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-identityprovider.html)", "allOf": [ { "type": "object", @@ -6432,14 +6362,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DAX::Cluster" + "AWS::WorkSpacesWeb::IdentityProvider" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DAX::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html)" + "Definition of AWS::WorkSpacesWeb::IdentityProvider Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-identityprovider.html)" ] }, "Properties": { - "$ref": "resources/aws-dax-cluster.json" + "$ref": "resources/aws-workspacesweb-identityprovider.json" } }, "required": [ @@ -6453,9 +6383,9 @@ ], "additionalProperties": false }, - "AWS_FraudDetector_Label": { + "AWS_WAF_IPSet": { "type": "object", - "markdownDescription": "An label for fraud detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-label.html)", + "markdownDescription": "Resource Type definition for AWS::WAF::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-ipset.html)", "allOf": [ { "type": "object", @@ -6463,14 +6393,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FraudDetector::Label" + "AWS::WAF::IPSet" ], "markdownEnumDescriptions": [ - "An label for fraud detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-label.html)" + "Resource Type definition for AWS::WAF::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-ipset.html)" ] }, "Properties": { - "$ref": "resources/aws-frauddetector-label.json" + "$ref": "resources/aws-waf-ipset.json" } }, "required": [ @@ -6484,9 +6414,9 @@ ], "additionalProperties": false }, - "AWS_ResourceGroups_Group": { + "AWS_ServiceCatalogAppRegistry_ResourceAssociation": { "type": "object", - "markdownDescription": "Schema for ResourceGroups::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html)", + "markdownDescription": "Resource Schema for AWS::ServiceCatalogAppRegistry::ResourceAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-resourceassociation.html)", "allOf": [ { "type": "object", @@ -6494,14 +6424,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ResourceGroups::Group" + "AWS::ServiceCatalogAppRegistry::ResourceAssociation" ], "markdownEnumDescriptions": [ - "Schema for ResourceGroups::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html)" + "Resource Schema for AWS::ServiceCatalogAppRegistry::ResourceAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-resourceassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-resourcegroups-group.json" + "$ref": "resources/aws-servicecatalogappregistry-resourceassociation.json" } }, "required": [ @@ -6515,9 +6445,9 @@ ], "additionalProperties": false }, - "AWS_Route53Profiles_Profile": { + "AWS_MediaStore_Container": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Route53Profiles::Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profile.html)", + "markdownDescription": "Resource Type definition for AWS::MediaStore::Container \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html)", "allOf": [ { "type": "object", @@ -6525,14 +6455,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Profiles::Profile" + "AWS::MediaStore::Container" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Route53Profiles::Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profile.html)" + "Resource Type definition for AWS::MediaStore::Container \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html)" ] }, "Properties": { - "$ref": "resources/aws-route53profiles-profile.json" + "$ref": "resources/aws-mediastore-container.json" } }, "required": [ @@ -6546,39 +6476,9 @@ ], "additionalProperties": false }, - "AWS_Inspector_AssessmentTarget": { - "type": "object", - "markdownDescription": "Resource Type definition for AWS::Inspector::AssessmentTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttarget.html)", - "allOf": [ - { - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "AWS::Inspector::AssessmentTarget" - ], - "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Inspector::AssessmentTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttarget.html)" - ] - }, - "Properties": { - "$ref": "resources/aws-inspector-assessmenttarget.json" - } - }, - "required": [ - "Type" - ] - }, - { - "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" - } - ], - "additionalProperties": false - }, - "AWS_AutoScaling_WarmPool": { + "AWS_Pinpoint_BaiduChannel": { "type": "object", - "markdownDescription": "Resource schema for AWS::AutoScaling::WarmPool. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-warmpool.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::BaiduChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-baiduchannel.html)", "allOf": [ { "type": "object", @@ -6586,14 +6486,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AutoScaling::WarmPool" + "AWS::Pinpoint::BaiduChannel" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::AutoScaling::WarmPool. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-warmpool.html)" + "Resource Type definition for AWS::Pinpoint::BaiduChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-baiduchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-autoscaling-warmpool.json" + "$ref": "resources/aws-pinpoint-baiduchannel.json" } }, "required": [ @@ -6607,9 +6507,9 @@ ], "additionalProperties": false }, - "AWS_IoTSiteWise_AccessPolicy": { + "AWS_FMS_Policy": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTSiteWise::AccessPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-accesspolicy.html)", + "markdownDescription": "Creates an AWS Firewall Manager policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html)", "allOf": [ { "type": "object", @@ -6617,14 +6517,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTSiteWise::AccessPolicy" + "AWS::FMS::Policy" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTSiteWise::AccessPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-accesspolicy.html)" + "Creates an AWS Firewall Manager policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html)" ] }, "Properties": { - "$ref": "resources/aws-iotsitewise-accesspolicy.json" + "$ref": "resources/aws-fms-policy.json" } }, "required": [ @@ -6638,9 +6538,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_ModuleVersion": { + "AWS_Cloud9_EnvironmentEC2": { "type": "object", - "markdownDescription": "A module that has been registered in the CloudFormation registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduleversion.html)", + "markdownDescription": "Resource Type definition for AWS::Cloud9::EnvironmentEC2 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html)", "allOf": [ { "type": "object", @@ -6648,14 +6548,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::ModuleVersion" + "AWS::Cloud9::EnvironmentEC2" ], "markdownEnumDescriptions": [ - "A module that has been registered in the CloudFormation registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduleversion.html)" + "Resource Type definition for AWS::Cloud9::EnvironmentEC2 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-moduleversion.json" + "$ref": "resources/aws-cloud9-environmentec2.json" } }, "required": [ @@ -6669,9 +6569,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_ClusterSecurityGroup": { + "AWS_GameLift_GameServerGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Redshift::ClusterSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroup.html)", + "markdownDescription": "The AWS::GameLift::GameServerGroup resource creates an Amazon GameLift (GameLift) GameServerGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html)", "allOf": [ { "type": "object", @@ -6679,14 +6579,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::ClusterSecurityGroup" + "AWS::GameLift::GameServerGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Redshift::ClusterSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroup.html)" + "The AWS::GameLift::GameServerGroup resource creates an Amazon GameLift (GameLift) GameServerGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-redshift-clustersecuritygroup.json" + "$ref": "resources/aws-gamelift-gameservergroup.json" } }, "required": [ @@ -6700,9 +6600,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Trigger": { + "AWS_ImageBuilder_ContainerRecipe": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::Trigger \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html)", + "markdownDescription": "Resource schema for AWS::ImageBuilder::ContainerRecipe \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html)", "allOf": [ { "type": "object", @@ -6710,19 +6610,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Trigger" + "AWS::ImageBuilder::ContainerRecipe" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Trigger \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html)" + "Resource schema for AWS::ImageBuilder::ContainerRecipe \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-trigger.json" + "$ref": "resources/aws-imagebuilder-containerrecipe.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -6731,9 +6630,9 @@ ], "additionalProperties": false }, - "AWS_IAM_VirtualMFADevice": { + "AWS_Glue_Connection": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IAM::VirtualMFADevice \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-virtualmfadevice.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::Connection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html)", "allOf": [ { "type": "object", @@ -6741,14 +6640,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::VirtualMFADevice" + "AWS::Glue::Connection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IAM::VirtualMFADevice \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-virtualmfadevice.html)" + "Resource Type definition for AWS::Glue::Connection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-virtualmfadevice.json" + "$ref": "resources/aws-glue-connection.json" } }, "required": [ @@ -6793,9 +6692,9 @@ ], "additionalProperties": false }, - "AWS_Connect_SecurityKey": { + "AWS_Lightsail_Certificate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::SecurityKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securitykey.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::Certificate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html)", "allOf": [ { "type": "object", @@ -6803,14 +6702,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::SecurityKey" + "AWS::Lightsail::Certificate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::SecurityKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securitykey.html)" + "Resource Type definition for AWS::Lightsail::Certificate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-securitykey.json" + "$ref": "resources/aws-lightsail-certificate.json" } }, "required": [ @@ -6824,9 +6723,9 @@ ], "additionalProperties": false }, - "AWS_IoT_PolicyPrincipalAttachment": { + "AWS_S3Outposts_Bucket": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT::PolicyPrincipalAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policyprincipalattachment.html)", + "markdownDescription": "Resource Type Definition for AWS::S3Outposts::Bucket \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucket.html)", "allOf": [ { "type": "object", @@ -6834,14 +6733,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::PolicyPrincipalAttachment" + "AWS::S3Outposts::Bucket" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::PolicyPrincipalAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policyprincipalattachment.html)" + "Resource Type Definition for AWS::S3Outposts::Bucket \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucket.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-policyprincipalattachment.json" + "$ref": "resources/aws-s3outposts-bucket.json" } }, "required": [ @@ -6855,9 +6754,9 @@ ], "additionalProperties": false }, - "AWS_Timestream_Table": { + "AWS_Events_Endpoint": { "type": "object", - "markdownDescription": "The AWS::Timestream::Table resource creates a Timestream Table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html)", + "markdownDescription": "Resource Type definition for AWS::Events::Endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html)", "allOf": [ { "type": "object", @@ -6865,14 +6764,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Timestream::Table" + "AWS::Events::Endpoint" ], "markdownEnumDescriptions": [ - "The AWS::Timestream::Table resource creates a Timestream Table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html)" + "Resource Type definition for AWS::Events::Endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-timestream-table.json" + "$ref": "resources/aws-events-endpoint.json" } }, "required": [ @@ -6886,9 +6785,9 @@ ], "additionalProperties": false }, - "AWS_Inspector_AssessmentTemplate": { + "AWS_RedshiftServerless_Workgroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Inspector::AssessmentTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttemplate.html)", + "markdownDescription": "Definition of AWS::RedshiftServerless::Workgroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-workgroup.html)", "allOf": [ { "type": "object", @@ -6896,14 +6795,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Inspector::AssessmentTemplate" + "AWS::RedshiftServerless::Workgroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Inspector::AssessmentTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttemplate.html)" + "Definition of AWS::RedshiftServerless::Workgroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-workgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-inspector-assessmenttemplate.json" + "$ref": "resources/aws-redshiftserverless-workgroup.json" } }, "required": [ @@ -6917,39 +6816,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_ResolverQueryLoggingConfig": { - "type": "object", - "markdownDescription": "Resource schema for AWS::Route53Resolver::ResolverQueryLoggingConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfig.html)", - "allOf": [ - { - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfig" - ], - "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::ResolverQueryLoggingConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfig.html)" - ] - }, - "Properties": { - "$ref": "resources/aws-route53resolver-resolverqueryloggingconfig.json" - } - }, - "required": [ - "Type" - ] - }, - { - "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" - } - ], - "additionalProperties": false - }, - "AWS_ApiGateway_Model": { + "AWS_IoTEvents_Input": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::Model`` resource defines the structure of a request or response payload for an API method. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html)", + "markdownDescription": "The AWS::IoTEvents::Input resource creates an input. To monitor your devices and processes, they must have a way to get telemetry data into ITE. This is done by sending messages as *inputs* to ITE. For more information, see [How to Use](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html)", "allOf": [ { "type": "object", @@ -6957,14 +6826,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::Model" + "AWS::IoTEvents::Input" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::Model`` resource defines the structure of a request or response payload for an API method. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html)" + "The AWS::IoTEvents::Input resource creates an input. To monitor your devices and processes, they must have a way to get telemetry data into ITE. This is done by sending messages as *inputs* to ITE. For more information, see [How to Use](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-model.json" + "$ref": "resources/aws-iotevents-input.json" } }, "required": [ @@ -6978,9 +6847,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_ModuleDefaultVersion": { + "AWS_IoT_Certificate": { "type": "object", - "markdownDescription": "A module that has been registered in the CloudFormation registry as the default version \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduledefaultversion.html)", + "markdownDescription": "Use the AWS::IoT::Certificate resource to declare an AWS IoT X.509 certificate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html)", "allOf": [ { "type": "object", @@ -6988,18 +6857,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::ModuleDefaultVersion" + "AWS::IoT::Certificate" ], "markdownEnumDescriptions": [ - "A module that has been registered in the CloudFormation registry as the default version \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduledefaultversion.html)" + "Use the AWS::IoT::Certificate resource to declare an AWS IoT X.509 certificate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-moduledefaultversion.json" + "$ref": "resources/aws-iot-certificate.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -7008,9 +6878,9 @@ ], "additionalProperties": false }, - "AWS_IoTTwinMaker_Scene": { + "AWS_WAFv2_WebACL": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTTwinMaker::Scene \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-scene.html)", + "markdownDescription": "Contains the Rules that identify the requests that you want to allow, block, or count. In a WebACL, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a WebACL, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the WebACL with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a WebACL, a request needs to match only one of the specifications to be allowed, blocked, or counted. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html)", "allOf": [ { "type": "object", @@ -7018,14 +6888,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTTwinMaker::Scene" + "AWS::WAFv2::WebACL" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTTwinMaker::Scene \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-scene.html)" + "Contains the Rules that identify the requests that you want to allow, block, or count. In a WebACL, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a WebACL, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the WebACL with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a WebACL, a request needs to match only one of the specifications to be allowed, blocked, or counted. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html)" ] }, "Properties": { - "$ref": "resources/aws-iottwinmaker-scene.json" + "$ref": "resources/aws-wafv2-webacl.json" } }, "required": [ @@ -7039,9 +6909,9 @@ ], "additionalProperties": false }, - "AWS_SupportApp_AccountAlias": { + "AWS_CodePipeline_CustomActionType": { "type": "object", - "markdownDescription": "An AWS Support App resource that creates, updates, reads, and deletes a customer's account alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-accountalias.html)", + "markdownDescription": "The AWS::CodePipeline::CustomActionType resource creates a custom action for activities that aren't included in the CodePipeline default actions, such as running an internally developed build process or a test suite. You can use these custom actions in the stage of a pipeline. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html)", "allOf": [ { "type": "object", @@ -7049,14 +6919,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SupportApp::AccountAlias" + "AWS::CodePipeline::CustomActionType" ], "markdownEnumDescriptions": [ - "An AWS Support App resource that creates, updates, reads, and deletes a customer's account alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-accountalias.html)" + "The AWS::CodePipeline::CustomActionType resource creates a custom action for activities that aren't included in the CodePipeline default actions, such as running an internally developed build process or a test suite. You can use these custom actions in the stage of a pipeline. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html)" ] }, "Properties": { - "$ref": "resources/aws-supportapp-accountalias.json" + "$ref": "resources/aws-codepipeline-customactiontype.json" } }, "required": [ @@ -7070,9 +6940,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_DataQualityJobDefinition": { + "AWS_QBusiness_Permission": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::DataQualityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-dataqualityjobdefinition.html)", + "markdownDescription": "Definition of AWS::QBusiness::Permission Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-permission.html)", "allOf": [ { "type": "object", @@ -7080,14 +6950,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::DataQualityJobDefinition" + "AWS::QBusiness::Permission" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::DataQualityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-dataqualityjobdefinition.html)" + "Definition of AWS::QBusiness::Permission Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-permission.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-dataqualityjobdefinition.json" + "$ref": "resources/aws-qbusiness-permission.json" } }, "required": [ @@ -7101,9 +6971,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_Service": { + "AWS_KinesisVideo_SignalingChannel": { "type": "object", - "markdownDescription": "A service is any software application that can run on instances containers, or serverless functions within an account or virtual private cloud (VPC). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-service.html)", + "markdownDescription": "Resource Type Definition for AWS::KinesisVideo::SignalingChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-signalingchannel.html)", "allOf": [ { "type": "object", @@ -7111,14 +6981,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::Service" + "AWS::KinesisVideo::SignalingChannel" ], "markdownEnumDescriptions": [ - "A service is any software application that can run on instances containers, or serverless functions within an account or virtual private cloud (VPC). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-service.html)" + "Resource Type Definition for AWS::KinesisVideo::SignalingChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-signalingchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-service.json" + "$ref": "resources/aws-kinesisvideo-signalingchannel.json" } }, "required": [ @@ -7131,9 +7001,9 @@ ], "additionalProperties": false }, - "AWS_AppRunner_Service": { + "Alexa_ASK_Skill": { "type": "object", - "markdownDescription": "The AWS::AppRunner::Service resource specifies an AppRunner Service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-service.html)", + "markdownDescription": "Resource Type definition for Alexa::ASK::Skill \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-alexa-ask-skill.html)", "allOf": [ { "type": "object", @@ -7141,14 +7011,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppRunner::Service" + "Alexa::ASK::Skill" ], "markdownEnumDescriptions": [ - "The AWS::AppRunner::Service resource specifies an AppRunner Service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-service.html)" + "Resource Type definition for Alexa::ASK::Skill \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-alexa-ask-skill.html)" ] }, "Properties": { - "$ref": "resources/aws-apprunner-service.json" + "$ref": "resources/alexa-ask-skill.json" } }, "required": [ @@ -7162,9 +7032,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkInterface": { + "AWS_Invoicing_InvoiceUnit": { "type": "object", - "markdownDescription": "The AWS::EC2::NetworkInterface resource creates network interface \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html)", + "markdownDescription": "An invoice unit is a set of mutually exclusive accounts that correspond to your business entity. Invoice units allow you to separate AWS account costs and configures your invoice for each business entity. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-invoicing-invoiceunit.html)", "allOf": [ { "type": "object", @@ -7172,14 +7042,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkInterface" + "AWS::Invoicing::InvoiceUnit" ], "markdownEnumDescriptions": [ - "The AWS::EC2::NetworkInterface resource creates network interface \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html)" + "An invoice unit is a set of mutually exclusive accounts that correspond to your business entity. Invoice units allow you to separate AWS account costs and configures your invoice for each business entity. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-invoicing-invoiceunit.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkinterface.json" + "$ref": "resources/aws-invoicing-invoiceunit.json" } }, "required": [ @@ -7193,9 +7063,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_EndpointConfig": { + "AWS_EKS_PodIdentityAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::EndpointConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html)", + "markdownDescription": "An object representing an Amazon EKS PodIdentityAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-podidentityassociation.html)", "allOf": [ { "type": "object", @@ -7203,14 +7073,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::EndpointConfig" + "AWS::EKS::PodIdentityAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::EndpointConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html)" + "An object representing an Amazon EKS PodIdentityAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-podidentityassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-endpointconfig.json" + "$ref": "resources/aws-eks-podidentityassociation.json" } }, "required": [ @@ -7224,9 +7094,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_LoggerDefinitionVersion": { + "AWS_Inspector_ResourceGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::LoggerDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html)", + "markdownDescription": "Resource Type definition for AWS::Inspector::ResourceGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-resourcegroup.html)", "allOf": [ { "type": "object", @@ -7234,14 +7104,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::LoggerDefinitionVersion" + "AWS::Inspector::ResourceGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::LoggerDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html)" + "Resource Type definition for AWS::Inspector::ResourceGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-resourcegroup.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-loggerdefinitionversion.json" + "$ref": "resources/aws-inspector-resourcegroup.json" } }, "required": [ @@ -7255,9 +7125,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_OutpostResolver": { + "AWS_Greengrass_CoreDefinitionVersion": { "type": "object", - "markdownDescription": "Resource schema for AWS::Route53Resolver::OutpostResolver. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-outpostresolver.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::CoreDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html)", "allOf": [ { "type": "object", @@ -7265,14 +7135,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::OutpostResolver" + "AWS::Greengrass::CoreDefinitionVersion" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::OutpostResolver. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-outpostresolver.html)" + "Resource Type definition for AWS::Greengrass::CoreDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-outpostresolver.json" + "$ref": "resources/aws-greengrass-coredefinitionversion.json" } }, "required": [ @@ -7286,39 +7156,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_RefreshSchedule": { - "type": "object", - "markdownDescription": "Definition of the AWS::QuickSight::RefreshSchedule Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-refreshschedule.html)", - "allOf": [ - { - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "AWS::QuickSight::RefreshSchedule" - ], - "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::RefreshSchedule Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-refreshschedule.html)" - ] - }, - "Properties": { - "$ref": "resources/aws-quicksight-refreshschedule.json" - } - }, - "required": [ - "Type" - ] - }, - { - "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" - } - ], - "additionalProperties": false - }, - "AWS_MSK_ServerlessCluster": { + "AWS_ECS_PrimaryTaskSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MSK::ServerlessCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-serverlesscluster.html)", + "markdownDescription": "A pseudo-resource that manages which of your ECS task sets is primary. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-primarytaskset.html)", "allOf": [ { "type": "object", @@ -7326,14 +7166,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MSK::ServerlessCluster" + "AWS::ECS::PrimaryTaskSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MSK::ServerlessCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-serverlesscluster.html)" + "A pseudo-resource that manages which of your ECS task sets is primary. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-primarytaskset.html)" ] }, "Properties": { - "$ref": "resources/aws-msk-serverlesscluster.json" + "$ref": "resources/aws-ecs-primarytaskset.json" } }, "required": [ @@ -7347,9 +7187,9 @@ ], "additionalProperties": false }, - "AWS_FMS_Policy": { + "AWS_AppConfig_Application": { "type": "object", - "markdownDescription": "Creates an AWS Firewall Manager policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html)", + "markdownDescription": "Resource Type definition for AWS::AppConfig::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-application.html)", "allOf": [ { "type": "object", @@ -7357,14 +7197,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FMS::Policy" + "AWS::AppConfig::Application" ], "markdownEnumDescriptions": [ - "Creates an AWS Firewall Manager policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html)" + "Resource Type definition for AWS::AppConfig::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-application.html)" ] }, "Properties": { - "$ref": "resources/aws-fms-policy.json" + "$ref": "resources/aws-appconfig-application.json" } }, "required": [ @@ -7378,9 +7218,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancingV2_LoadBalancer": { + "AWS_HealthLake_FHIRDatastore": { "type": "object", - "markdownDescription": "Specifies an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html)", + "markdownDescription": "HealthLake FHIR Datastore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthlake-fhirdatastore.html)", "allOf": [ { "type": "object", @@ -7388,18 +7228,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancingV2::LoadBalancer" + "AWS::HealthLake::FHIRDatastore" ], "markdownEnumDescriptions": [ - "Specifies an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html)" + "HealthLake FHIR Datastore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthlake-fhirdatastore.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticloadbalancingv2-loadbalancer.json" + "$ref": "resources/aws-healthlake-fhirdatastore.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -7408,9 +7249,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_WaitConditionHandle": { + "AWS_Cognito_IdentityPoolRoleAttachment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFormation::WaitConditionHandle \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitconditionhandle.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::IdentityPoolRoleAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html)", "allOf": [ { "type": "object", @@ -7418,18 +7259,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::WaitConditionHandle" + "AWS::Cognito::IdentityPoolRoleAttachment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFormation::WaitConditionHandle \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitconditionhandle.html)" + "Resource Type definition for AWS::Cognito::IdentityPoolRoleAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-waitconditionhandle.json" + "$ref": "resources/aws-cognito-identitypoolroleattachment.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -7438,9 +7280,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryControl_SafetyRule": { + "AWS_RDS_DBClusterParameterGroup": { "type": "object", - "markdownDescription": "Resource schema for AWS Route53 Recovery Control basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-safetyrule.html)", + "markdownDescription": "The ``AWS::RDS::DBClusterParameterGroup`` resource creates a new Amazon RDS DB cluster parameter group.\n For information about configuring parameters for Amazon Aurora DB clusters, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide*.\n If you apply a parameter group to a DB cluster, then its DB instances might need to reboot. This can result in an outage while the DB instances are rebooting.\n If you apply a change to parameter group associated with a stopped DB cluster, then the updated stack waits until the DB cluster is started. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html)", "allOf": [ { "type": "object", @@ -7448,18 +7290,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryControl::SafetyRule" + "AWS::RDS::DBClusterParameterGroup" ], "markdownEnumDescriptions": [ - "Resource schema for AWS Route53 Recovery Control basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-safetyrule.html)" + "The ``AWS::RDS::DBClusterParameterGroup`` resource creates a new Amazon RDS DB cluster parameter group.\n For information about configuring parameters for Amazon Aurora DB clusters, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide*.\n If you apply a parameter group to a DB cluster, then its DB instances might need to reboot. This can result in an outage while the DB instances are rebooting.\n If you apply a change to parameter group associated with a stopped DB cluster, then the updated stack waits until the DB cluster is started. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-route53recoverycontrol-safetyrule.json" + "$ref": "resources/aws-rds-dbclusterparametergroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -7468,9 +7311,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackageV2_OriginEndpoint": { + "AWS_SecurityHub_DelegatedAdmin": { "type": "object", - "markdownDescription": "

Represents an origin endpoint that is associated with a channel, offering a dynamically repackaged version of its content through various streaming media protocols. The content can be efficiently disseminated to end-users via a Content Delivery Network (CDN), like Amazon CloudFront.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-originendpoint.html)", + "markdownDescription": "The ``AWS::SecurityHub::DelegatedAdmin`` resource designates the delegated ASHlong administrator account for an organization. You must enable the integration between ASH and AOlong before you can designate a delegated ASH administrator. Only the management account for an organization can designate the delegated ASH administrator account. For more information, see [Designating the delegated administrator](https://docs.aws.amazon.com/securityhub/latest/userguide/designate-orgs-admin-account.html#designate-admin-instructions) in the *User Guide*.\n To change the delegated administrator account, remove the current delegated administrator account, and then designate the new account.\n To designate multiple delegated administrators in different organizations and AWS-Regions, we recommend using [mappings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html).\n Tags aren't supported for this resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-delegatedadmin.html)", "allOf": [ { "type": "object", @@ -7478,14 +7321,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackageV2::OriginEndpoint" + "AWS::SecurityHub::DelegatedAdmin" ], "markdownEnumDescriptions": [ - "

Represents an origin endpoint that is associated with a channel, offering a dynamically repackaged version of its content through various streaming media protocols. The content can be efficiently disseminated to end-users via a Content Delivery Network (CDN), like Amazon CloudFront.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-originendpoint.html)" + "The ``AWS::SecurityHub::DelegatedAdmin`` resource designates the delegated ASHlong administrator account for an organization. You must enable the integration between ASH and AOlong before you can designate a delegated ASH administrator. Only the management account for an organization can designate the delegated ASH administrator account. For more information, see [Designating the delegated administrator](https://docs.aws.amazon.com/securityhub/latest/userguide/designate-orgs-admin-account.html#designate-admin-instructions) in the *User Guide*.\n To change the delegated administrator account, remove the current delegated administrator account, and then designate the new account.\n To designate multiple delegated administrators in different organizations and AWS-Regions, we recommend using [mappings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html).\n Tags aren't supported for this resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-delegatedadmin.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackagev2-originendpoint.json" + "$ref": "resources/aws-securityhub-delegatedadmin.json" } }, "required": [ @@ -7499,9 +7342,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_InferenceExperiment": { + "AWS_SageMaker_ImageVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::InferenceExperiment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferenceexperiment.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::ImageVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html)", "allOf": [ { "type": "object", @@ -7509,14 +7352,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::InferenceExperiment" + "AWS::SageMaker::ImageVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::InferenceExperiment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferenceexperiment.html)" + "Resource Type definition for AWS::SageMaker::ImageVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-inferenceexperiment.json" + "$ref": "resources/aws-sagemaker-imageversion.json" } }, "required": [ @@ -7530,9 +7373,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackage_Asset": { + "AWS_WorkSpaces_Workspace": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaPackage::Asset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html)", + "markdownDescription": "Resource Type definition for AWS::WorkSpaces::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html)", "allOf": [ { "type": "object", @@ -7540,14 +7383,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackage::Asset" + "AWS::WorkSpaces::Workspace" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaPackage::Asset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html)" + "Resource Type definition for AWS::WorkSpaces::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackage-asset.json" + "$ref": "resources/aws-workspaces-workspace.json" } }, "required": [ @@ -7561,9 +7404,9 @@ ], "additionalProperties": false }, - "AWS_Connect_ContactFlowModule": { + "AWS_ApiGateway_GatewayResponse": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::ContactFlowModule. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-contactflowmodule.html)", + "markdownDescription": "The ``AWS::ApiGateway::GatewayResponse`` resource creates a gateway response for your API. For more information, see [API Gateway Responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/customize-gateway-responses.html#api-gateway-gatewayResponse-definition) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html)", "allOf": [ { "type": "object", @@ -7571,14 +7414,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::ContactFlowModule" + "AWS::ApiGateway::GatewayResponse" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::ContactFlowModule. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-contactflowmodule.html)" + "The ``AWS::ApiGateway::GatewayResponse`` resource creates a gateway response for your API. For more information, see [API Gateway Responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/customize-gateway-responses.html#api-gateway-gatewayResponse-definition) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-contactflowmodule.json" + "$ref": "resources/aws-apigateway-gatewayresponse.json" } }, "required": [ @@ -7592,9 +7435,9 @@ ], "additionalProperties": false }, - "AWS_FSx_DataRepositoryAssociation": { + "AWS_Pinpoint_InAppTemplate": { "type": "object", - "markdownDescription": "Creates an Amazon FSx for Lustre data repository association (DRA). A data repository association is a link between a directory on the file system and an Amazon S3 bucket or prefix. You can have a maximum of 8 data repository associations on a file system. Data repository associations are supported on all FSx for Lustre 2.12 and newer file systems, excluding ``scratch_1`` deployment type. \n Each data repository association must have a unique Amazon FSx file system directory and a unique S3 bucket or prefix associated with it. You can configure a data repository association for automatic import only, for automatic export only, or for both. To learn more about linking a data repository to your file system, see [Linking your file system to an S3 bucket](https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-datarepositoryassociation.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::InAppTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-inapptemplate.html)", "allOf": [ { "type": "object", @@ -7602,14 +7445,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FSx::DataRepositoryAssociation" + "AWS::Pinpoint::InAppTemplate" ], "markdownEnumDescriptions": [ - "Creates an Amazon FSx for Lustre data repository association (DRA). A data repository association is a link between a directory on the file system and an Amazon S3 bucket or prefix. You can have a maximum of 8 data repository associations on a file system. Data repository associations are supported on all FSx for Lustre 2.12 and newer file systems, excluding ``scratch_1`` deployment type. \n Each data repository association must have a unique Amazon FSx file system directory and a unique S3 bucket or prefix associated with it. You can configure a data repository association for automatic import only, for automatic export only, or for both. To learn more about linking a data repository to your file system, see [Linking your file system to an S3 bucket](https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-datarepositoryassociation.html)" + "Resource Type definition for AWS::Pinpoint::InAppTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-inapptemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-fsx-datarepositoryassociation.json" + "$ref": "resources/aws-pinpoint-inapptemplate.json" } }, "required": [ @@ -7623,9 +7466,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SubnetRouteTableAssociation": { + "AWS_SageMaker_CodeRepository": { "type": "object", - "markdownDescription": "Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. A route table can be associated with multiple subnets. To create a route table, see [AWS::EC2::RouteTable](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetroutetableassociation.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::CodeRepository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-coderepository.html)", "allOf": [ { "type": "object", @@ -7633,14 +7476,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SubnetRouteTableAssociation" + "AWS::SageMaker::CodeRepository" ], "markdownEnumDescriptions": [ - "Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. A route table can be associated with multiple subnets. To create a route table, see [AWS::EC2::RouteTable](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetroutetableassociation.html)" + "Resource Type definition for AWS::SageMaker::CodeRepository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-coderepository.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-subnetroutetableassociation.json" + "$ref": "resources/aws-sagemaker-coderepository.json" } }, "required": [ @@ -7654,9 +7497,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackageV2_ChannelPolicy": { + "AWS_DocDB_DBInstance": { "type": "object", - "markdownDescription": "

Represents a resource-based policy that allows or denies access to a channel.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channelpolicy.html)", + "markdownDescription": "Resource Type definition for AWS::DocDB::DBInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html)", "allOf": [ { "type": "object", @@ -7664,14 +7507,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackageV2::ChannelPolicy" + "AWS::DocDB::DBInstance" ], "markdownEnumDescriptions": [ - "

Represents a resource-based policy that allows or denies access to a channel.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channelpolicy.html)" + "Resource Type definition for AWS::DocDB::DBInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackagev2-channelpolicy.json" + "$ref": "resources/aws-docdb-dbinstance.json" } }, "required": [ @@ -7685,9 +7528,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_ConnectPeer": { + "AWS_Deadline_Queue": { "type": "object", - "markdownDescription": "AWS::NetworkManager::ConnectPeer Resource Type Definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectpeer.html)", + "markdownDescription": "Definition of AWS::Deadline::Queue Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queue.html)", "allOf": [ { "type": "object", @@ -7695,14 +7538,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::ConnectPeer" + "AWS::Deadline::Queue" ], "markdownEnumDescriptions": [ - "AWS::NetworkManager::ConnectPeer Resource Type Definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectpeer.html)" + "Definition of AWS::Deadline::Queue Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queue.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-connectpeer.json" + "$ref": "resources/aws-deadline-queue.json" } }, "required": [ @@ -7716,9 +7559,9 @@ ], "additionalProperties": false }, - "AWS_IoT_DomainConfiguration": { + "AWS_Athena_WorkGroup": { "type": "object", - "markdownDescription": "Create and manage a Domain Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.html)", + "markdownDescription": "Resource schema for AWS::Athena::WorkGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html)", "allOf": [ { "type": "object", @@ -7726,18 +7569,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::DomainConfiguration" + "AWS::Athena::WorkGroup" ], "markdownEnumDescriptions": [ - "Create and manage a Domain Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.html)" + "Resource schema for AWS::Athena::WorkGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-domainconfiguration.json" + "$ref": "resources/aws-athena-workgroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -7746,9 +7590,9 @@ ], "additionalProperties": false }, - "AWS_ServiceDiscovery_PrivateDnsNamespace": { + "AWS_DataSync_LocationNFS": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceDiscovery::PrivateDnsNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationNFS \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationnfs.html)", "allOf": [ { "type": "object", @@ -7756,14 +7600,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceDiscovery::PrivateDnsNamespace" + "AWS::DataSync::LocationNFS" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceDiscovery::PrivateDnsNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html)" + "Resource schema for AWS::DataSync::LocationNFS \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationnfs.html)" ] }, "Properties": { - "$ref": "resources/aws-servicediscovery-privatednsnamespace.json" + "$ref": "resources/aws-datasync-locationnfs.json" } }, "required": [ @@ -7777,9 +7621,9 @@ ], "additionalProperties": false }, - "AWS_NetworkFirewall_FirewallPolicy": { + "AWS_Greengrass_GroupVersion": { "type": "object", - "markdownDescription": "Resource type definition for AWS::NetworkFirewall::FirewallPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewallpolicy.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::GroupVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html)", "allOf": [ { "type": "object", @@ -7787,14 +7631,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkFirewall::FirewallPolicy" + "AWS::Greengrass::GroupVersion" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::NetworkFirewall::FirewallPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewallpolicy.html)" + "Resource Type definition for AWS::Greengrass::GroupVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html)" ] }, "Properties": { - "$ref": "resources/aws-networkfirewall-firewallpolicy.json" + "$ref": "resources/aws-greengrass-groupversion.json" } }, "required": [ @@ -7808,9 +7652,9 @@ ], "additionalProperties": false }, - "AWS_Amplify_App": { + "AWS_ServiceCatalog_PortfolioProductAssociation": { "type": "object", - "markdownDescription": "The AWS::Amplify::App resource creates Apps in the Amplify Console. An App is a collection of branches. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::PortfolioProductAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioproductassociation.html)", "allOf": [ { "type": "object", @@ -7818,14 +7662,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Amplify::App" + "AWS::ServiceCatalog::PortfolioProductAssociation" ], "markdownEnumDescriptions": [ - "The AWS::Amplify::App resource creates Apps in the Amplify Console. An App is a collection of branches. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html)" + "Resource Type definition for AWS::ServiceCatalog::PortfolioProductAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioproductassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-amplify-app.json" + "$ref": "resources/aws-servicecatalog-portfolioproductassociation.json" } }, "required": [ @@ -7839,9 +7683,9 @@ ], "additionalProperties": false }, - "AWS_ECS_TaskDefinition": { + "AWS_RDS_OptionGroup": { "type": "object", - "markdownDescription": "Registers a new task definition from the supplied ``family`` and ``containerDefinitions``. Optionally, you can add data volumes to your containers with the ``volumes`` parameter. For more information about task definition parameters and defaults, see [Amazon ECS Task Definitions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) in the *Amazon Elastic Container Service Developer Guide*.\n You can specify a role for your task with the ``taskRoleArn`` parameter. When you specify a role for a task, its containers can then use the latest versions of the CLI or SDKs to make API requests to the AWS services that are specified in the policy that's associated with the role. For more information, see [IAM Roles for Tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) in the *Amazon Elastic Container Service Developer Guide*.\n You can specify a Docker networking mode for the containers in your task definition with the ``networkMode`` parameter. If you specify the ``awsvpc`` network mode, the task is allocated an elastic network interface, and you must specify a [NetworkConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_NetworkConfiguration.html) when you create a service or run a task with the task definition. For more information, see [Task Networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) in the *Amazon Elastic Container Service Developer Guide*.\n In the following example or examples, the Authorization header contents (``AUTHPARAMS``) must be replaced with an AWS Signature Version 4 signature. For more information, see [Signature Version 4 Signing Process](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) in the *General Reference*.\n You only need to learn how to sign HTTP requests if you intend to create them manually. When you use the [](https://docs.aws.amazon.com/cli/) or one of the [SDKs](https://docs.aws.amazon.com/tools/) to make requests to AWS, these tools automatically sign the requests for you, with the access key that you specify when you configure the tools. When you use these tools, you don't have to sign requests yourself. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html)", + "markdownDescription": "The ``AWS::RDS::OptionGroup`` resource creates or updates an option group, to enable and configure features that are specific to a particular DB engine. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html)", "allOf": [ { "type": "object", @@ -7849,18 +7693,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ECS::TaskDefinition" + "AWS::RDS::OptionGroup" ], "markdownEnumDescriptions": [ - "Registers a new task definition from the supplied ``family`` and ``containerDefinitions``. Optionally, you can add data volumes to your containers with the ``volumes`` parameter. For more information about task definition parameters and defaults, see [Amazon ECS Task Definitions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) in the *Amazon Elastic Container Service Developer Guide*.\n You can specify a role for your task with the ``taskRoleArn`` parameter. When you specify a role for a task, its containers can then use the latest versions of the CLI or SDKs to make API requests to the AWS services that are specified in the policy that's associated with the role. For more information, see [IAM Roles for Tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) in the *Amazon Elastic Container Service Developer Guide*.\n You can specify a Docker networking mode for the containers in your task definition with the ``networkMode`` parameter. If you specify the ``awsvpc`` network mode, the task is allocated an elastic network interface, and you must specify a [NetworkConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_NetworkConfiguration.html) when you create a service or run a task with the task definition. For more information, see [Task Networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) in the *Amazon Elastic Container Service Developer Guide*.\n In the following example or examples, the Authorization header contents (``AUTHPARAMS``) must be replaced with an AWS Signature Version 4 signature. For more information, see [Signature Version 4 Signing Process](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) in the *General Reference*.\n You only need to learn how to sign HTTP requests if you intend to create them manually. When you use the [](https://docs.aws.amazon.com/cli/) or one of the [SDKs](https://docs.aws.amazon.com/tools/) to make requests to AWS, these tools automatically sign the requests for you, with the access key that you specify when you configure the tools. When you use these tools, you don't have to sign requests yourself. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html)" + "The ``AWS::RDS::OptionGroup`` resource creates or updates an option group, to enable and configure features that are specific to a particular DB engine. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html)" ] }, "Properties": { - "$ref": "resources/aws-ecs-taskdefinition.json" + "$ref": "resources/aws-rds-optiongroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -7869,9 +7714,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_Listener": { + "AWS_MediaConnect_FlowEntitlement": { "type": "object", - "markdownDescription": "Creates a listener for a service. Before you start using your Amazon VPC Lattice service, you must add one or more listeners. A listener is a process that checks for connection requests to your services. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-listener.html)", + "markdownDescription": "Resource schema for AWS::MediaConnect::FlowEntitlement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html)", "allOf": [ { "type": "object", @@ -7879,14 +7724,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::Listener" + "AWS::MediaConnect::FlowEntitlement" ], "markdownEnumDescriptions": [ - "Creates a listener for a service. Before you start using your Amazon VPC Lattice service, you must add one or more listeners. A listener is a process that checks for connection requests to your services. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-listener.html)" + "Resource schema for AWS::MediaConnect::FlowEntitlement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-listener.json" + "$ref": "resources/aws-mediaconnect-flowentitlement.json" } }, "required": [ @@ -7900,9 +7745,9 @@ ], "additionalProperties": false }, - "AWS_DMS_ReplicationInstance": { + "AWS_Glue_Trigger": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DMS::ReplicationInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::Trigger \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html)", "allOf": [ { "type": "object", @@ -7910,14 +7755,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::ReplicationInstance" + "AWS::Glue::Trigger" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DMS::ReplicationInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html)" + "Resource Type definition for AWS::Glue::Trigger \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html)" ] }, "Properties": { - "$ref": "resources/aws-dms-replicationinstance.json" + "$ref": "resources/aws-glue-trigger.json" } }, "required": [ @@ -7931,9 +7776,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Endpoint": { + "AWS_Omics_ReferenceStore": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html)", + "markdownDescription": "Definition of AWS::Omics::ReferenceStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-referencestore.html)", "allOf": [ { "type": "object", @@ -7941,14 +7786,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Endpoint" + "AWS::Omics::ReferenceStore" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html)" + "Definition of AWS::Omics::ReferenceStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-referencestore.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-endpoint.json" + "$ref": "resources/aws-omics-referencestore.json" } }, "required": [ @@ -7962,9 +7807,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_ModelQualityJobDefinition": { + "AWS_Lightsail_Bucket": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelQualityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelqualityjobdefinition.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::Bucket \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html)", "allOf": [ { "type": "object", @@ -7972,14 +7817,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::ModelQualityJobDefinition" + "AWS::Lightsail::Bucket" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::ModelQualityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelqualityjobdefinition.html)" + "Resource Type definition for AWS::Lightsail::Bucket \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-modelqualityjobdefinition.json" + "$ref": "resources/aws-lightsail-bucket.json" } }, "required": [ @@ -7993,9 +7838,9 @@ ], "additionalProperties": false }, - "AWS_EntityResolution_IdNamespace": { + "AWS_DocDB_EventSubscription": { "type": "object", - "markdownDescription": "IdNamespace defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idnamespace.html)", + "markdownDescription": "Resource Type definition for AWS::DocDB::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html)", "allOf": [ { "type": "object", @@ -8003,14 +7848,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EntityResolution::IdNamespace" + "AWS::DocDB::EventSubscription" ], "markdownEnumDescriptions": [ - "IdNamespace defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idnamespace.html)" + "Resource Type definition for AWS::DocDB::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-entityresolution-idnamespace.json" + "$ref": "resources/aws-docdb-eventsubscription.json" } }, "required": [ @@ -8024,9 +7869,9 @@ ], "additionalProperties": false }, - "AWS_Backup_ReportPlan": { + "AWS_ServiceCatalogAppRegistry_AttributeGroup": { "type": "object", - "markdownDescription": "Contains detailed information about a report plan in AWS Backup Audit Manager. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-reportplan.html)", + "markdownDescription": "Resource Schema for AWS::ServiceCatalogAppRegistry::AttributeGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroup.html)", "allOf": [ { "type": "object", @@ -8034,14 +7879,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Backup::ReportPlan" + "AWS::ServiceCatalogAppRegistry::AttributeGroup" ], "markdownEnumDescriptions": [ - "Contains detailed information about a report plan in AWS Backup Audit Manager. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-reportplan.html)" + "Resource Schema for AWS::ServiceCatalogAppRegistry::AttributeGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroup.html)" ] }, "Properties": { - "$ref": "resources/aws-backup-reportplan.json" + "$ref": "resources/aws-servicecatalogappregistry-attributegroup.json" } }, "required": [ @@ -8055,9 +7900,9 @@ ], "additionalProperties": false }, - "AWS_CertificateManager_Account": { + "AWS_Greengrass_ConnectorDefinition": { "type": "object", - "markdownDescription": "Resource schema for AWS::CertificateManager::Account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-account.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::ConnectorDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html)", "allOf": [ { "type": "object", @@ -8065,14 +7910,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CertificateManager::Account" + "AWS::Greengrass::ConnectorDefinition" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::CertificateManager::Account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-account.html)" + "Resource Type definition for AWS::Greengrass::ConnectorDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-certificatemanager-account.json" + "$ref": "resources/aws-greengrass-connectordefinition.json" } }, "required": [ @@ -8086,9 +7931,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_Insight": { + "AWS_SageMaker_App": { "type": "object", - "markdownDescription": "The AWS::SecurityHub::Insight resource represents the AWS Security Hub Insight in your account. An AWS Security Hub insight is a collection of related findings. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-insight.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html)", "allOf": [ { "type": "object", @@ -8096,14 +7941,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::Insight" + "AWS::SageMaker::App" ], "markdownEnumDescriptions": [ - "The AWS::SecurityHub::Insight resource represents the AWS Security Hub Insight in your account. An AWS Security Hub insight is a collection of related findings. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-insight.html)" + "Resource Type definition for AWS::SageMaker::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-insight.json" + "$ref": "resources/aws-sagemaker-app.json" } }, "required": [ @@ -8148,9 +7993,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancingV2_Listener": { + "AWS_IoTEvents_DetectorModel": { "type": "object", - "markdownDescription": "Specifies a listener for an Application Load Balancer, Network Load Balancer, or Gateway Load Balancer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html)", + "markdownDescription": "The AWS::IoTEvents::DetectorModel resource creates a detector model. You create a *detector model* (a model of your equipment or process) using *states*. For each state, you define conditional (Boolean) logic that evaluates the incoming inputs to detect significant events. When an event is detected, it can change the state or trigger custom-built or predefined actions using other AWS services. You can define additional events that trigger actions when entering or exiting a state and, optionally, when a condition is met. For more information, see [How to Use](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *Developer Guide*.\n When you successfully update a detector model (using the ITE console, ITE API or CLI commands, or CFN) all detector instances created by the model are reset to their initial states. (The detector's ``state``, and the values of any variables and timers are reset.)\n When you successfully update a detector model (using the ITE console, ITE API or CLI commands, or CFN) the version number of the detector model is incremented. (A detector model with version number 1 before the update has version number 2 after the update succeeds.)\n If you attempt to update a detector model using CFN and the update does not succeed, the system may, in some cases, restore the original detector model. When this occurs, the detector model's version is incremented twice (for example, from version 1 to version 3) and the detector instances are reset.\n Also, be aware that if you attempt to update several detector models at once using CFN, some updates may succeed and others fail. In this case, the effects on each detector model's detector instances and version number depend on whether the update succeeded or failed, with the results as stated. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html)", "allOf": [ { "type": "object", @@ -8158,14 +8003,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancingV2::Listener" + "AWS::IoTEvents::DetectorModel" ], "markdownEnumDescriptions": [ - "Specifies a listener for an Application Load Balancer, Network Load Balancer, or Gateway Load Balancer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html)" + "The AWS::IoTEvents::DetectorModel resource creates a detector model. You create a *detector model* (a model of your equipment or process) using *states*. For each state, you define conditional (Boolean) logic that evaluates the incoming inputs to detect significant events. When an event is detected, it can change the state or trigger custom-built or predefined actions using other AWS services. You can define additional events that trigger actions when entering or exiting a state and, optionally, when a condition is met. For more information, see [How to Use](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *Developer Guide*.\n When you successfully update a detector model (using the ITE console, ITE API or CLI commands, or CFN) all detector instances created by the model are reset to their initial states. (The detector's ``state``, and the values of any variables and timers are reset.)\n When you successfully update a detector model (using the ITE console, ITE API or CLI commands, or CFN) the version number of the detector model is incremented. (A detector model with version number 1 before the update has version number 2 after the update succeeds.)\n If you attempt to update a detector model using CFN and the update does not succeed, the system may, in some cases, restore the original detector model. When this occurs, the detector model's version is incremented twice (for example, from version 1 to version 3) and the detector instances are reset.\n Also, be aware that if you attempt to update several detector models at once using CFN, some updates may succeed and others fail. In this case, the effects on each detector model's detector instances and version number depend on whether the update succeeded or failed, with the results as stated. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticloadbalancingv2-listener.json" + "$ref": "resources/aws-iotevents-detectormodel.json" } }, "required": [ @@ -8179,9 +8024,9 @@ ], "additionalProperties": false }, - "AWS_EC2_IPAM": { + "AWS_IVS_Stage": { "type": "object", - "markdownDescription": "Resource Schema of AWS::EC2::IPAM Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipam.html)", + "markdownDescription": "Resource Definition for type AWS::IVS::Stage. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-stage.html)", "allOf": [ { "type": "object", @@ -8189,14 +8034,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::IPAM" + "AWS::IVS::Stage" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EC2::IPAM Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipam.html)" + "Resource Definition for type AWS::IVS::Stage. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-stage.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-ipam.json" + "$ref": "resources/aws-ivs-stage.json" } }, "required": [ @@ -8209,9 +8054,9 @@ ], "additionalProperties": false }, - "AWS_Connect_EvaluationForm": { + "AWS_SES_MailManagerRuleSet": { "type": "object", - "markdownDescription": "Creates an evaluation form for the specified CON instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-evaluationform.html)", + "markdownDescription": "Definition of AWS::SES::MailManagerRuleSet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerruleset.html)", "allOf": [ { "type": "object", @@ -8219,14 +8064,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::EvaluationForm" + "AWS::SES::MailManagerRuleSet" ], "markdownEnumDescriptions": [ - "Creates an evaluation form for the specified CON instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-evaluationform.html)" + "Definition of AWS::SES::MailManagerRuleSet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerruleset.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-evaluationform.json" + "$ref": "resources/aws-ses-mailmanagerruleset.json" } }, "required": [ @@ -8240,9 +8085,9 @@ ], "additionalProperties": false }, - "AWS_IoT_CustomMetric": { + "AWS_EMR_Cluster": { "type": "object", - "markdownDescription": "A custom metric published by your devices to Device Defender. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-custommetric.html)", + "markdownDescription": "Resource Type definition for AWS::EMR::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html)", "allOf": [ { "type": "object", @@ -8250,14 +8095,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::CustomMetric" + "AWS::EMR::Cluster" ], "markdownEnumDescriptions": [ - "A custom metric published by your devices to Device Defender. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-custommetric.html)" + "Resource Type definition for AWS::EMR::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-custommetric.json" + "$ref": "resources/aws-emr-cluster.json" } }, "required": [ @@ -8271,9 +8116,9 @@ ], "additionalProperties": false }, - "AWS_EMR_InstanceFleetConfig": { + "AWS_ResourceGroups_Group": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EMR::InstanceFleetConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancefleetconfig.html)", + "markdownDescription": "Schema for ResourceGroups::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html)", "allOf": [ { "type": "object", @@ -8281,14 +8126,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::InstanceFleetConfig" + "AWS::ResourceGroups::Group" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EMR::InstanceFleetConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancefleetconfig.html)" + "Schema for ResourceGroups::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html)" ] }, "Properties": { - "$ref": "resources/aws-emr-instancefleetconfig.json" + "$ref": "resources/aws-resourcegroups-group.json" } }, "required": [ @@ -8302,9 +8147,9 @@ ], "additionalProperties": false }, - "AWS_PCAConnectorAD_ServicePrincipalName": { + "AWS_FSx_DataRepositoryAssociation": { "type": "object", - "markdownDescription": "Definition of AWS::PCAConnectorAD::ServicePrincipalName Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-serviceprincipalname.html)", + "markdownDescription": "Creates an Amazon FSx for Lustre data repository association (DRA). A data repository association is a link between a directory on the file system and an Amazon S3 bucket or prefix. You can have a maximum of 8 data repository associations on a file system. Data repository associations are supported on all FSx for Lustre 2.12 and newer file systems, excluding ``scratch_1`` deployment type. \n Each data repository association must have a unique Amazon FSx file system directory and a unique S3 bucket or prefix associated with it. You can configure a data repository association for automatic import only, for automatic export only, or for both. To learn more about linking a data repository to your file system, see [Linking your file system to an S3 bucket](https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-datarepositoryassociation.html)", "allOf": [ { "type": "object", @@ -8312,18 +8157,19 @@ "Type": { "type": "string", "enum": [ - "AWS::PCAConnectorAD::ServicePrincipalName" + "AWS::FSx::DataRepositoryAssociation" ], "markdownEnumDescriptions": [ - "Definition of AWS::PCAConnectorAD::ServicePrincipalName Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-serviceprincipalname.html)" + "Creates an Amazon FSx for Lustre data repository association (DRA). A data repository association is a link between a directory on the file system and an Amazon S3 bucket or prefix. You can have a maximum of 8 data repository associations on a file system. Data repository associations are supported on all FSx for Lustre 2.12 and newer file systems, excluding ``scratch_1`` deployment type. \n Each data repository association must have a unique Amazon FSx file system directory and a unique S3 bucket or prefix associated with it. You can configure a data repository association for automatic import only, for automatic export only, or for both. To learn more about linking a data repository to your file system, see [Linking your file system to an S3 bucket](https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-datarepositoryassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-pcaconnectorad-serviceprincipalname.json" + "$ref": "resources/aws-fsx-datarepositoryassociation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -8332,9 +8178,9 @@ ], "additionalProperties": false }, - "AWS_MediaTailor_LiveSource": { + "AWS_EKS_Cluster": { "type": "object", - "markdownDescription": "Definition of AWS::MediaTailor::LiveSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-livesource.html)", + "markdownDescription": "An object representing an Amazon EKS cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html)", "allOf": [ { "type": "object", @@ -8342,14 +8188,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaTailor::LiveSource" + "AWS::EKS::Cluster" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaTailor::LiveSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-livesource.html)" + "An object representing an Amazon EKS cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-mediatailor-livesource.json" + "$ref": "resources/aws-eks-cluster.json" } }, "required": [ @@ -8363,9 +8209,9 @@ ], "additionalProperties": false }, - "AWS_IoTAnalytics_Datastore": { + "AWS_ECR_RegistryPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoTAnalytics::Datastore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html)", + "markdownDescription": "The ``AWS::ECR::RegistryPolicy`` resource creates or updates the permissions policy for a private registry.\n A private registry policy is used to specify permissions for another AWS-account and is used when configuring cross-account replication. For more information, see [Registry permissions](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry-permissions.html) in the *Amazon Elastic Container Registry User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-registrypolicy.html)", "allOf": [ { "type": "object", @@ -8373,18 +8219,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTAnalytics::Datastore" + "AWS::ECR::RegistryPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoTAnalytics::Datastore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html)" + "The ``AWS::ECR::RegistryPolicy`` resource creates or updates the permissions policy for a private registry.\n A private registry policy is used to specify permissions for another AWS-account and is used when configuring cross-account replication. For more information, see [Registry permissions](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry-permissions.html) in the *Amazon Elastic Container Registry User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-registrypolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-iotanalytics-datastore.json" + "$ref": "resources/aws-ecr-registrypolicy.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -8393,9 +8240,9 @@ ], "additionalProperties": false }, - "AWS_EC2_LocalGatewayRouteTableVirtualInterfaceGroupAssociation": { + "AWS_Pinpoint_VoiceChannel": { "type": "object", - "markdownDescription": "Describes a local gateway route table virtual interface group association for a local gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevirtualinterfacegroupassociation.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::VoiceChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-voicechannel.html)", "allOf": [ { "type": "object", @@ -8403,14 +8250,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation" + "AWS::Pinpoint::VoiceChannel" ], "markdownEnumDescriptions": [ - "Describes a local gateway route table virtual interface group association for a local gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevirtualinterfacegroupassociation.html)" + "Resource Type definition for AWS::Pinpoint::VoiceChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-voicechannel.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-localgatewayroutetablevirtualinterfacegroupassociation.json" + "$ref": "resources/aws-pinpoint-voicechannel.json" } }, "required": [ @@ -8424,9 +8271,9 @@ ], "additionalProperties": false }, - "AWS_S3Express_DirectoryBucket": { + "AWS_Macie_FindingsFilter": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::S3Express::DirectoryBucket. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-directorybucket.html)", + "markdownDescription": "Macie FindingsFilter resource schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html)", "allOf": [ { "type": "object", @@ -8434,14 +8281,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3Express::DirectoryBucket" + "AWS::Macie::FindingsFilter" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::S3Express::DirectoryBucket. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-directorybucket.html)" + "Macie FindingsFilter resource schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html)" ] }, "Properties": { - "$ref": "resources/aws-s3express-directorybucket.json" + "$ref": "resources/aws-macie-findingsfilter.json" } }, "required": [ @@ -8455,9 +8302,9 @@ ], "additionalProperties": false }, - "AWS_Lex_BotAlias": { + "AWS_VpcLattice_ResourcePolicy": { "type": "object", - "markdownDescription": "A Bot Alias enables you to change the version of a bot without updating applications that use the bot \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botalias.html)", + "markdownDescription": "Retrieves information about the resource policy. The resource policy is an IAM policy created by AWS RAM on behalf of the resource owner when they share a resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcepolicy.html)", "allOf": [ { "type": "object", @@ -8465,14 +8312,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lex::BotAlias" + "AWS::VpcLattice::ResourcePolicy" ], "markdownEnumDescriptions": [ - "A Bot Alias enables you to change the version of a bot without updating applications that use the bot \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botalias.html)" + "Retrieves information about the resource policy. The resource policy is an IAM policy created by AWS RAM on behalf of the resource owner when they share a resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-lex-botalias.json" + "$ref": "resources/aws-vpclattice-resourcepolicy.json" } }, "required": [ @@ -8486,9 +8333,9 @@ ], "additionalProperties": false }, - "AWS_IoT_Authorizer": { + "AWS_Glue_Classifier": { "type": "object", - "markdownDescription": "Creates an authorizer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::Classifier \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html)", "allOf": [ { "type": "object", @@ -8496,19 +8343,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::Authorizer" + "AWS::Glue::Classifier" ], "markdownEnumDescriptions": [ - "Creates an authorizer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html)" + "Resource Type definition for AWS::Glue::Classifier \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-authorizer.json" + "$ref": "resources/aws-glue-classifier.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -8517,9 +8363,9 @@ ], "additionalProperties": false }, - "AWS_Neptune_DBCluster": { + "AWS_Detective_Graph": { "type": "object", - "markdownDescription": "The AWS::Neptune::DBCluster resource creates an Amazon Neptune DB cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html)", + "markdownDescription": "Resource schema for AWS::Detective::Graph \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-graph.html)", "allOf": [ { "type": "object", @@ -8527,14 +8373,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Neptune::DBCluster" + "AWS::Detective::Graph" ], "markdownEnumDescriptions": [ - "The AWS::Neptune::DBCluster resource creates an Amazon Neptune DB cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html)" + "Resource schema for AWS::Detective::Graph \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-graph.html)" ] }, "Properties": { - "$ref": "resources/aws-neptune-dbcluster.json" + "$ref": "resources/aws-detective-graph.json" } }, "required": [ @@ -8547,9 +8393,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackage_PackagingGroup": { + "AWS_EC2_TrafficMirrorFilterRule": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaPackage::PackagingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::TrafficMirrorFilterRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html)", "allOf": [ { "type": "object", @@ -8557,14 +8403,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackage::PackagingGroup" + "AWS::EC2::TrafficMirrorFilterRule" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaPackage::PackagingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html)" + "Resource Type definition for AWS::EC2::TrafficMirrorFilterRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackage-packaginggroup.json" + "$ref": "resources/aws-ec2-trafficmirrorfilterrule.json" } }, "required": [ @@ -8578,9 +8424,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_ResourceVersion": { + "AWS_GuardDuty_IPSet": { "type": "object", - "markdownDescription": "A resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourceversion.html)", + "markdownDescription": "Resource Type definition for AWS::GuardDuty::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html)", "allOf": [ { "type": "object", @@ -8588,14 +8434,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::ResourceVersion" + "AWS::GuardDuty::IPSet" ], "markdownEnumDescriptions": [ - "A resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourceversion.html)" + "Resource Type definition for AWS::GuardDuty::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-resourceversion.json" + "$ref": "resources/aws-guardduty-ipset.json" } }, "required": [ @@ -8609,9 +8455,9 @@ ], "additionalProperties": false }, - "AWS_Transfer_Certificate": { + "AWS_Batch_JobDefinition": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Transfer::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-certificate.html)", + "markdownDescription": "Resource Type definition for AWS::Batch::JobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html)", "allOf": [ { "type": "object", @@ -8619,14 +8465,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Transfer::Certificate" + "AWS::Batch::JobDefinition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Transfer::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-certificate.html)" + "Resource Type definition for AWS::Batch::JobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-transfer-certificate.json" + "$ref": "resources/aws-batch-jobdefinition.json" } }, "required": [ @@ -8640,9 +8486,9 @@ ], "additionalProperties": false }, - "AWS_Events_Rule": { + "AWS_FSx_Snapshot": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Events::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html)", + "markdownDescription": "Resource Type definition for AWS::FSx::Snapshot \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-snapshot.html)", "allOf": [ { "type": "object", @@ -8650,18 +8496,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Events::Rule" + "AWS::FSx::Snapshot" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Events::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html)" + "Resource Type definition for AWS::FSx::Snapshot \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-snapshot.html)" ] }, "Properties": { - "$ref": "resources/aws-events-rule.json" + "$ref": "resources/aws-fsx-snapshot.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -8670,9 +8517,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_PortfolioShare": { + "AWS_S3Tables_TableBucketPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::PortfolioShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioshare.html)", + "markdownDescription": "Applies an IAM resource policy to a table bucket. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucketpolicy.html)", "allOf": [ { "type": "object", @@ -8680,14 +8527,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::PortfolioShare" + "AWS::S3Tables::TableBucketPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::PortfolioShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioshare.html)" + "Applies an IAM resource policy to a table bucket. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucketpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-portfolioshare.json" + "$ref": "resources/aws-s3tables-tablebucketpolicy.json" } }, "required": [ @@ -8701,9 +8548,9 @@ ], "additionalProperties": false }, - "AWS_AutoScalingPlans_ScalingPlan": { + "AWS_CloudFront_OriginAccessControl": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AutoScalingPlans::ScalingPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscalingplans-scalingplan.html)", + "markdownDescription": "Creates a new origin access control in CloudFront. After you create an origin access control, you can add it to an origin in a CloudFront distribution so that CloudFront sends authenticated (signed) requests to the origin.\n This makes it possible to block public access to the origin, allowing viewers (users) to access the origin's content only through CloudFront.\n For more information about using a CloudFront origin access control, see [Restricting access to an origin](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-origin.html) in the *Amazon CloudFront Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.html)", "allOf": [ { "type": "object", @@ -8711,14 +8558,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AutoScalingPlans::ScalingPlan" + "AWS::CloudFront::OriginAccessControl" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AutoScalingPlans::ScalingPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscalingplans-scalingplan.html)" + "Creates a new origin access control in CloudFront. After you create an origin access control, you can add it to an origin in a CloudFront distribution so that CloudFront sends authenticated (signed) requests to the origin.\n This makes it possible to block public access to the origin, allowing viewers (users) to access the origin's content only through CloudFront.\n For more information about using a CloudFront origin access control, see [Restricting access to an origin](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-origin.html) in the *Amazon CloudFront Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.html)" ] }, "Properties": { - "$ref": "resources/aws-autoscalingplans-scalingplan.json" + "$ref": "resources/aws-cloudfront-originaccesscontrol.json" } }, "required": [ @@ -8732,9 +8579,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_CustomerGatewayAssociation": { + "AWS_SSMContacts_Contact": { "type": "object", - "markdownDescription": "The AWS::NetworkManager::CustomerGatewayAssociation type associates a customer gateway with a device and optionally, with a link. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html)", + "markdownDescription": "Resource Type definition for AWS::SSMContacts::Contact \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contact.html)", "allOf": [ { "type": "object", @@ -8742,14 +8589,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::CustomerGatewayAssociation" + "AWS::SSMContacts::Contact" ], "markdownEnumDescriptions": [ - "The AWS::NetworkManager::CustomerGatewayAssociation type associates a customer gateway with a device and optionally, with a link. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html)" + "Resource Type definition for AWS::SSMContacts::Contact \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contact.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-customergatewayassociation.json" + "$ref": "resources/aws-ssmcontacts-contact.json" } }, "required": [ @@ -8763,9 +8610,9 @@ ], "additionalProperties": false }, - "AWS_FraudDetector_Detector": { + "AWS_AppRunner_Service": { "type": "object", - "markdownDescription": "A resource schema for a Detector in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-detector.html)", + "markdownDescription": "The AWS::AppRunner::Service resource specifies an AppRunner Service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-service.html)", "allOf": [ { "type": "object", @@ -8773,14 +8620,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FraudDetector::Detector" + "AWS::AppRunner::Service" ], "markdownEnumDescriptions": [ - "A resource schema for a Detector in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-detector.html)" + "The AWS::AppRunner::Service resource specifies an AppRunner Service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-service.html)" ] }, "Properties": { - "$ref": "resources/aws-frauddetector-detector.json" + "$ref": "resources/aws-apprunner-service.json" } }, "required": [ @@ -8794,9 +8641,9 @@ ], "additionalProperties": false }, - "AWS_SecurityLake_AwsLogSource": { + "AWS_Events_Connection": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SecurityLake::AwsLogSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-awslogsource.html)", + "markdownDescription": "Resource Type definition for AWS::Events::Connection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html)", "allOf": [ { "type": "object", @@ -8804,19 +8651,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityLake::AwsLogSource" + "AWS::Events::Connection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SecurityLake::AwsLogSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-awslogsource.html)" + "Resource Type definition for AWS::Events::Connection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html)" ] }, "Properties": { - "$ref": "resources/aws-securitylake-awslogsource.json" + "$ref": "resources/aws-events-connection.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -8825,9 +8671,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_ApiKey": { + "AWS_EC2_NetworkInsightsAnalysis": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppSync::ApiKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html)", + "markdownDescription": "Resource schema for AWS::EC2::NetworkInsightsAnalysis \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsanalysis.html)", "allOf": [ { "type": "object", @@ -8835,14 +8681,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::ApiKey" + "AWS::EC2::NetworkInsightsAnalysis" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppSync::ApiKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html)" + "Resource schema for AWS::EC2::NetworkInsightsAnalysis \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsanalysis.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-apikey.json" + "$ref": "resources/aws-ec2-networkinsightsanalysis.json" } }, "required": [ @@ -8856,9 +8702,9 @@ ], "additionalProperties": false }, - "AWS_RoboMaker_RobotApplication": { + "AWS_WAF_ByteMatchSet": { "type": "object", - "markdownDescription": "This schema is for testing purpose only. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html)", + "markdownDescription": "Resource Type definition for AWS::WAF::ByteMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-bytematchset.html)", "allOf": [ { "type": "object", @@ -8866,14 +8712,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RoboMaker::RobotApplication" + "AWS::WAF::ByteMatchSet" ], "markdownEnumDescriptions": [ - "This schema is for testing purpose only. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html)" + "Resource Type definition for AWS::WAF::ByteMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-bytematchset.html)" ] }, "Properties": { - "$ref": "resources/aws-robomaker-robotapplication.json" + "$ref": "resources/aws-waf-bytematchset.json" } }, "required": [ @@ -8887,9 +8733,9 @@ ], "additionalProperties": false }, - "AWS_Transfer_Server": { + "AWS_CodeGuruProfiler_ProfilingGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Transfer::Server \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html)", + "markdownDescription": "This resource schema represents the Profiling Group resource in the Amazon CodeGuru Profiler service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html)", "allOf": [ { "type": "object", @@ -8897,18 +8743,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Transfer::Server" + "AWS::CodeGuruProfiler::ProfilingGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Transfer::Server \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html)" + "This resource schema represents the Profiling Group resource in the Amazon CodeGuru Profiler service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html)" ] }, "Properties": { - "$ref": "resources/aws-transfer-server.json" + "$ref": "resources/aws-codeguruprofiler-profilinggroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -8917,9 +8764,9 @@ ], "additionalProperties": false }, - "AWS_Connect_Rule": { + "AWS_CloudTrail_ResourcePolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS:Connect::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-rule.html)", + "markdownDescription": "Resource Type definition for AWS::CloudTrail::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-resourcepolicy.html)", "allOf": [ { "type": "object", @@ -8927,14 +8774,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::Rule" + "AWS::CloudTrail::ResourcePolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS:Connect::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-rule.html)" + "Resource Type definition for AWS::CloudTrail::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-resourcepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-rule.json" + "$ref": "resources/aws-cloudtrail-resourcepolicy.json" } }, "required": [ @@ -8948,9 +8795,9 @@ ], "additionalProperties": false }, - "AWS_Route53Profiles_ProfileResourceAssociation": { + "AWS_Pinpoint_PushTemplate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Route53Profiles::ProfileResourceAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profileresourceassociation.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::PushTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html)", "allOf": [ { "type": "object", @@ -8958,14 +8805,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Profiles::ProfileResourceAssociation" + "AWS::Pinpoint::PushTemplate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Route53Profiles::ProfileResourceAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profileresourceassociation.html)" + "Resource Type definition for AWS::Pinpoint::PushTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-route53profiles-profileresourceassociation.json" + "$ref": "resources/aws-pinpoint-pushtemplate.json" } }, "required": [ @@ -8979,9 +8826,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_FunctionConfiguration": { + "AWS_EC2_TransitGatewayAttachment": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::TransitGatewayAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html)", "allOf": [ { "type": "object", @@ -8989,14 +8836,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::FunctionConfiguration" + "AWS::EC2::TransitGatewayAttachment" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html)" + "Resource Type definition for AWS::EC2::TransitGatewayAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-functionconfiguration.json" + "$ref": "resources/aws-ec2-transitgatewayattachment.json" } }, "required": [ @@ -9010,9 +8857,9 @@ ], "additionalProperties": false }, - "AWS_SSO_ApplicationAssignment": { + "AWS_AppRunner_VpcIngressConnection": { "type": "object", - "markdownDescription": "Resource Type definition for SSO application access grant to a user or group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-applicationassignment.html)", + "markdownDescription": "The AWS::AppRunner::VpcIngressConnection resource is an App Runner resource that specifies an App Runner VpcIngressConnection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-vpcingressconnection.html)", "allOf": [ { "type": "object", @@ -9020,14 +8867,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSO::ApplicationAssignment" + "AWS::AppRunner::VpcIngressConnection" ], "markdownEnumDescriptions": [ - "Resource Type definition for SSO application access grant to a user or group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-applicationassignment.html)" + "The AWS::AppRunner::VpcIngressConnection resource is an App Runner resource that specifies an App Runner VpcIngressConnection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-vpcingressconnection.html)" ] }, "Properties": { - "$ref": "resources/aws-sso-applicationassignment.json" + "$ref": "resources/aws-apprunner-vpcingressconnection.json" } }, "required": [ @@ -9041,9 +8888,9 @@ ], "additionalProperties": false }, - "AWS_EC2_LocalGatewayRoute": { + "AWS_LaunchWizard_Deployment": { "type": "object", - "markdownDescription": "Describes a route for a local gateway route table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroute.html)", + "markdownDescription": "Definition of AWS::LaunchWizard::Deployment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-launchwizard-deployment.html)", "allOf": [ { "type": "object", @@ -9051,18 +8898,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::LocalGatewayRoute" + "AWS::LaunchWizard::Deployment" ], "markdownEnumDescriptions": [ - "Describes a route for a local gateway route table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroute.html)" + "Definition of AWS::LaunchWizard::Deployment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-launchwizard-deployment.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-localgatewayroute.json" + "$ref": "resources/aws-launchwizard-deployment.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9071,9 +8919,9 @@ ], "additionalProperties": false }, - "AWS_LakeFormation_PrincipalPermissions": { + "AWS_AppFlow_Flow": { "type": "object", - "markdownDescription": "The ``AWS::LakeFormation::PrincipalPermissions`` resource represents the permissions that a principal has on a GLUDC resource (such as GLUlong databases or GLUlong tables). When you create a ``PrincipalPermissions`` resource, the permissions are granted via the LFlong ``GrantPermissions`` API operation. When you delete a ``PrincipalPermissions`` resource, the permissions on principal-resource pair are revoked via the LFlong ``RevokePermissions`` API operation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-principalpermissions.html)", + "markdownDescription": "Resource schema for AWS::AppFlow::Flow. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-flow.html)", "allOf": [ { "type": "object", @@ -9081,14 +8929,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LakeFormation::PrincipalPermissions" + "AWS::AppFlow::Flow" ], "markdownEnumDescriptions": [ - "The ``AWS::LakeFormation::PrincipalPermissions`` resource represents the permissions that a principal has on a GLUDC resource (such as GLUlong databases or GLUlong tables). When you create a ``PrincipalPermissions`` resource, the permissions are granted via the LFlong ``GrantPermissions`` API operation. When you delete a ``PrincipalPermissions`` resource, the permissions on principal-resource pair are revoked via the LFlong ``RevokePermissions`` API operation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-principalpermissions.html)" + "Resource schema for AWS::AppFlow::Flow. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-flow.html)" ] }, "Properties": { - "$ref": "resources/aws-lakeformation-principalpermissions.json" + "$ref": "resources/aws-appflow-flow.json" } }, "required": [ @@ -9102,9 +8950,9 @@ ], "additionalProperties": false }, - "AWS_FSx_Snapshot": { + "AWS_SSO_Instance": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::FSx::Snapshot \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-snapshot.html)", + "markdownDescription": "Resource Type definition for Identity Center (SSO) Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instance.html)", "allOf": [ { "type": "object", @@ -9112,19 +8960,18 @@ "Type": { "type": "string", "enum": [ - "AWS::FSx::Snapshot" + "AWS::SSO::Instance" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::FSx::Snapshot \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-snapshot.html)" + "Resource Type definition for Identity Center (SSO) Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instance.html)" ] }, "Properties": { - "$ref": "resources/aws-fsx-snapshot.json" + "$ref": "resources/aws-sso-instance.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -9133,9 +8980,9 @@ ], "additionalProperties": false }, - "AWS_EC2_EIPAssociation": { + "AWS_CustomerProfiles_ObjectType": { "type": "object", - "markdownDescription": "Associates an Elastic IP address with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account. For more information about working with Elastic IP addresses, see [Elastic IP address concepts and rules](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#vpc-eip-overview).\n You must specify ``AllocationId`` and either ``InstanceId``, ``NetworkInterfaceId``, or ``PrivateIpAddress``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eipassociation.html)", + "markdownDescription": "An ObjectType resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-objecttype.html)", "allOf": [ { "type": "object", @@ -9143,18 +8990,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::EIPAssociation" + "AWS::CustomerProfiles::ObjectType" ], "markdownEnumDescriptions": [ - "Associates an Elastic IP address with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account. For more information about working with Elastic IP addresses, see [Elastic IP address concepts and rules](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#vpc-eip-overview).\n You must specify ``AllocationId`` and either ``InstanceId``, ``NetworkInterfaceId``, or ``PrivateIpAddress``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eipassociation.html)" + "An ObjectType resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-objecttype.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-eipassociation.json" + "$ref": "resources/aws-customerprofiles-objecttype.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9163,9 +9011,9 @@ ], "additionalProperties": false }, - "AWS_EC2_IPAMResourceDiscoveryAssociation": { + "AWS_ManagedBlockchain_Member": { "type": "object", - "markdownDescription": "Resource Schema of AWS::EC2::IPAMResourceDiscoveryAssociation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscoveryassociation.html)", + "markdownDescription": "Resource Type definition for AWS::ManagedBlockchain::Member \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html)", "allOf": [ { "type": "object", @@ -9173,14 +9021,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::IPAMResourceDiscoveryAssociation" + "AWS::ManagedBlockchain::Member" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EC2::IPAMResourceDiscoveryAssociation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscoveryassociation.html)" + "Resource Type definition for AWS::ManagedBlockchain::Member \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-ipamresourcediscoveryassociation.json" + "$ref": "resources/aws-managedblockchain-member.json" } }, "required": [ @@ -9194,9 +9042,9 @@ ], "additionalProperties": false }, - "AWS_MSK_VpcConnection": { + "AWS_Connect_User": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MSK::VpcConnection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-vpcconnection.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-user.html)", "allOf": [ { "type": "object", @@ -9204,14 +9052,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MSK::VpcConnection" + "AWS::Connect::User" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MSK::VpcConnection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-vpcconnection.html)" + "Resource Type definition for AWS::Connect::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-user.html)" ] }, "Properties": { - "$ref": "resources/aws-msk-vpcconnection.json" + "$ref": "resources/aws-connect-user.json" } }, "required": [ @@ -9225,9 +9073,9 @@ ], "additionalProperties": false }, - "AWS_LookoutMetrics_Alert": { + "AWS_DataZone_EnvironmentBlueprintConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::LookoutMetrics::Alert \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-alert.html)", + "markdownDescription": "Definition of AWS::DataZone::EnvironmentBlueprintConfiguration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentblueprintconfiguration.html)", "allOf": [ { "type": "object", @@ -9235,14 +9083,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LookoutMetrics::Alert" + "AWS::DataZone::EnvironmentBlueprintConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::LookoutMetrics::Alert \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-alert.html)" + "Definition of AWS::DataZone::EnvironmentBlueprintConfiguration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentblueprintconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-lookoutmetrics-alert.json" + "$ref": "resources/aws-datazone-environmentblueprintconfiguration.json" } }, "required": [ @@ -9256,9 +9104,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_PublicTypeVersion": { + "AWS_Transfer_User": { "type": "object", - "markdownDescription": "Test and Publish a resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html)", + "markdownDescription": "Definition of AWS::Transfer::User Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html)", "allOf": [ { "type": "object", @@ -9266,18 +9114,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::PublicTypeVersion" + "AWS::Transfer::User" ], "markdownEnumDescriptions": [ - "Test and Publish a resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html)" + "Definition of AWS::Transfer::User Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-publictypeversion.json" + "$ref": "resources/aws-transfer-user.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9286,9 +9135,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationSMB": { + "AWS_EFS_AccessPoint": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationSMB. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html)", + "markdownDescription": "The ``AWS::EFS::AccessPoint`` resource creates an EFS access point. An access point is an application-specific view into an EFS file system that applies an operating system user and group, and a file system path, to any file system request made through the access point. The operating system user and group override any identity information provided by the NFS client. The file system path is exposed as the access point's root directory. Applications using the access point can only access data in its own directory and below. To learn more, see [Mounting a file system using EFS access points](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html).\n This operation requires permissions for the ``elasticfilesystem:CreateAccessPoint`` action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html)", "allOf": [ { "type": "object", @@ -9296,14 +9145,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationSMB" + "AWS::EFS::AccessPoint" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationSMB. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html)" + "The ``AWS::EFS::AccessPoint`` resource creates an EFS access point. An access point is an application-specific view into an EFS file system that applies an operating system user and group, and a file system path, to any file system request made through the access point. The operating system user and group override any identity information provided by the NFS client. The file system path is exposed as the access point's root directory. Applications using the access point can only access data in its own directory and below. To learn more, see [Mounting a file system using EFS access points](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html).\n This operation requires permissions for the ``elasticfilesystem:CreateAccessPoint`` action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationsmb.json" + "$ref": "resources/aws-efs-accesspoint.json" } }, "required": [ @@ -9317,9 +9166,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_GroupProfile": { + "AWS_SageMaker_Image": { "type": "object", - "markdownDescription": "Group profiles represent groups of Amazon DataZone users. Groups can be manually created, or mapped to Active Directory groups of enterprise customers. In Amazon DataZone, groups serve two purposes. First, a group can map to a team of users in the organizational chart, and thus reduce the administrative work of a Amazon DataZone project owner when there are new employees joining or leaving a team. Second, corporate administrators use Active Directory groups to manage and update user statuses and so Amazon DataZone domain administrators can use these group memberships to implement Amazon DataZone domain policies. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-groupprofile.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::Image \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-image.html)", "allOf": [ { "type": "object", @@ -9327,14 +9176,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::GroupProfile" + "AWS::SageMaker::Image" ], "markdownEnumDescriptions": [ - "Group profiles represent groups of Amazon DataZone users. Groups can be manually created, or mapped to Active Directory groups of enterprise customers. In Amazon DataZone, groups serve two purposes. First, a group can map to a team of users in the organizational chart, and thus reduce the administrative work of a Amazon DataZone project owner when there are new employees joining or leaving a team. Second, corporate administrators use Active Directory groups to manage and update user statuses and so Amazon DataZone domain administrators can use these group memberships to implement Amazon DataZone domain policies. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-groupprofile.html)" + "Resource Type definition for AWS::SageMaker::Image \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-image.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-groupprofile.json" + "$ref": "resources/aws-sagemaker-image.json" } }, "required": [ @@ -9348,9 +9197,9 @@ ], "additionalProperties": false }, - "AWS_ECR_Repository": { + "AWS_DataZone_UserProfile": { "type": "object", - "markdownDescription": "The ``AWS::ECR::Repository`` resource specifies an Amazon Elastic Container Registry (Amazon ECR) repository, where users can push and pull Docker images, Open Container Initiative (OCI) images, and OCI compatible artifacts. For more information, see [Amazon ECR private repositories](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html) in the *Amazon ECR User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html)", + "markdownDescription": "A user profile represents Amazon DataZone users. Amazon DataZone supports both IAM roles and SSO identities to interact with the Amazon DataZone Management Console and the data portal for different purposes. Domain administrators use IAM roles to perform the initial administrative domain-related work in the Amazon DataZone Management Console, including creating new Amazon DataZone domains, configuring metadata form types, and implementing policies. Data workers use their SSO corporate identities via Identity Center to log into the Amazon DataZone Data Portal and access projects where they have memberships. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-userprofile.html)", "allOf": [ { "type": "object", @@ -9358,18 +9207,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ECR::Repository" + "AWS::DataZone::UserProfile" ], "markdownEnumDescriptions": [ - "The ``AWS::ECR::Repository`` resource specifies an Amazon Elastic Container Registry (Amazon ECR) repository, where users can push and pull Docker images, Open Container Initiative (OCI) images, and OCI compatible artifacts. For more information, see [Amazon ECR private repositories](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html) in the *Amazon ECR User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html)" + "A user profile represents Amazon DataZone users. Amazon DataZone supports both IAM roles and SSO identities to interact with the Amazon DataZone Management Console and the data portal for different purposes. Domain administrators use IAM roles to perform the initial administrative domain-related work in the Amazon DataZone Management Console, including creating new Amazon DataZone domains, configuring metadata form types, and implementing policies. Data workers use their SSO corporate identities via Identity Center to log into the Amazon DataZone Data Portal and access projects where they have memberships. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-userprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-ecr-repository.json" + "$ref": "resources/aws-datazone-userprofile.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9378,9 +9228,9 @@ ], "additionalProperties": false }, - "AWS_Shield_ProtectionGroup": { + "AWS_Cognito_IdentityPoolPrincipalTag": { "type": "object", - "markdownDescription": "A grouping of protected resources so they can be handled as a collective. This resource grouping improves the accuracy of detection and reduces false positives. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protectiongroup.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::IdentityPoolPrincipalTag \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolprincipaltag.html)", "allOf": [ { "type": "object", @@ -9388,14 +9238,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Shield::ProtectionGroup" + "AWS::Cognito::IdentityPoolPrincipalTag" ], "markdownEnumDescriptions": [ - "A grouping of protected resources so they can be handled as a collective. This resource grouping improves the accuracy of detection and reduces false positives. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protectiongroup.html)" + "Resource Type definition for AWS::Cognito::IdentityPoolPrincipalTag \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolprincipaltag.html)" ] }, "Properties": { - "$ref": "resources/aws-shield-protectiongroup.json" + "$ref": "resources/aws-cognito-identitypoolprincipaltag.json" } }, "required": [ @@ -9409,9 +9259,9 @@ ], "additionalProperties": false }, - "AWS_DevOpsGuru_LogAnomalyDetectionIntegration": { + "AWS_AppStream_AppBlock": { "type": "object", - "markdownDescription": "This resource schema represents the LogAnomalyDetectionIntegration resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-loganomalydetectionintegration.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::AppBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html)", "allOf": [ { "type": "object", @@ -9419,18 +9269,19 @@ "Type": { "type": "string", "enum": [ - "AWS::DevOpsGuru::LogAnomalyDetectionIntegration" + "AWS::AppStream::AppBlock" ], "markdownEnumDescriptions": [ - "This resource schema represents the LogAnomalyDetectionIntegration resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-loganomalydetectionintegration.html)" + "Resource Type definition for AWS::AppStream::AppBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html)" ] }, "Properties": { - "$ref": "resources/aws-devopsguru-loganomalydetectionintegration.json" + "$ref": "resources/aws-appstream-appblock.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9439,9 +9290,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_WirelessDevice": { + "AWS_MediaLive_CloudWatchAlarmTemplateGroup": { "type": "object", - "markdownDescription": "Create and manage wireless gateways, including LoRa gateways. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html)", + "markdownDescription": "Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cloudwatchalarmtemplategroup.html)", "allOf": [ { "type": "object", @@ -9449,14 +9300,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::WirelessDevice" + "AWS::MediaLive::CloudWatchAlarmTemplateGroup" ], "markdownEnumDescriptions": [ - "Create and manage wireless gateways, including LoRa gateways. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html)" + "Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cloudwatchalarmtemplategroup.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-wirelessdevice.json" + "$ref": "resources/aws-medialive-cloudwatchalarmtemplategroup.json" } }, "required": [ @@ -9470,9 +9321,9 @@ ], "additionalProperties": false }, - "AWS_EFS_MountTarget": { + "AWS_IoTWireless_FuotaTask": { "type": "object", - "markdownDescription": "The ``AWS::EFS::MountTarget`` resource is an Amazon EFS resource that creates a mount target for an EFS file system. You can then mount the file system on Amazon EC2 instances or other resources by using the mount target. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html)", + "markdownDescription": "Create and manage FUOTA tasks. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-fuotatask.html)", "allOf": [ { "type": "object", @@ -9480,14 +9331,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EFS::MountTarget" + "AWS::IoTWireless::FuotaTask" ], "markdownEnumDescriptions": [ - "The ``AWS::EFS::MountTarget`` resource is an Amazon EFS resource that creates a mount target for an EFS file system. You can then mount the file system on Amazon EC2 instances or other resources by using the mount target. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html)" + "Create and manage FUOTA tasks. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-fuotatask.html)" ] }, "Properties": { - "$ref": "resources/aws-efs-mounttarget.json" + "$ref": "resources/aws-iotwireless-fuotatask.json" } }, "required": [ @@ -9501,9 +9352,9 @@ ], "additionalProperties": false }, - "AWS_Logs_Delivery": { + "AWS_QBusiness_Retriever": { "type": "object", - "markdownDescription": "This structure contains information about one delivery in your account.\n\nA delivery is a connection between a logical delivery source and a logical delivery destination.\n\nFor more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-delivery.html)", + "markdownDescription": "Definition of AWS::QBusiness::Retriever Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-retriever.html)", "allOf": [ { "type": "object", @@ -9511,14 +9362,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::Delivery" + "AWS::QBusiness::Retriever" ], "markdownEnumDescriptions": [ - "This structure contains information about one delivery in your account.\n\nA delivery is a connection between a logical delivery source and a logical delivery destination.\n\nFor more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-delivery.html)" + "Definition of AWS::QBusiness::Retriever Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-retriever.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-delivery.json" + "$ref": "resources/aws-qbusiness-retriever.json" } }, "required": [ @@ -9532,9 +9383,9 @@ ], "additionalProperties": false }, - "AWS_HealthImaging_Datastore": { + "AWS_DataBrew_Dataset": { "type": "object", - "markdownDescription": "Definition of AWS::HealthImaging::Datastore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthimaging-datastore.html)", + "markdownDescription": "Resource schema for AWS::DataBrew::Dataset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-dataset.html)", "allOf": [ { "type": "object", @@ -9542,18 +9393,19 @@ "Type": { "type": "string", "enum": [ - "AWS::HealthImaging::Datastore" + "AWS::DataBrew::Dataset" ], "markdownEnumDescriptions": [ - "Definition of AWS::HealthImaging::Datastore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthimaging-datastore.html)" + "Resource schema for AWS::DataBrew::Dataset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-dataset.html)" ] }, "Properties": { - "$ref": "resources/aws-healthimaging-datastore.json" + "$ref": "resources/aws-databrew-dataset.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9562,9 +9414,9 @@ ], "additionalProperties": false }, - "AWS_Kinesis_Stream": { + "AWS_GameLift_Alias": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Kinesis::Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html)", + "markdownDescription": "The AWS::GameLift::Alias resource creates an alias for an Amazon GameLift (GameLift) fleet destination. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html)", "allOf": [ { "type": "object", @@ -9572,18 +9424,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Kinesis::Stream" + "AWS::GameLift::Alias" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Kinesis::Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html)" + "The AWS::GameLift::Alias resource creates an alias for an Amazon GameLift (GameLift) fleet destination. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesis-stream.json" + "$ref": "resources/aws-gamelift-alias.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9592,9 +9445,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_ApplicationFleetAssociation": { + "AWS_Redshift_ClusterSubnetGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::ApplicationFleetAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationfleetassociation.html)", + "markdownDescription": "Specifies an Amazon Redshift subnet group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersubnetgroup.html)", "allOf": [ { "type": "object", @@ -9602,14 +9455,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::ApplicationFleetAssociation" + "AWS::Redshift::ClusterSubnetGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::ApplicationFleetAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationfleetassociation.html)" + "Specifies an Amazon Redshift subnet group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersubnetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-applicationfleetassociation.json" + "$ref": "resources/aws-redshift-clustersubnetgroup.json" } }, "required": [ @@ -9623,9 +9476,9 @@ ], "additionalProperties": false }, - "AWS_EFS_FileSystem": { + "AWS_Cognito_UserPoolClient": { "type": "object", - "markdownDescription": "The ``AWS::EFS::FileSystem`` resource creates a new, empty file system in EFSlong (EFS). You must create a mount target ([AWS::EFS::MountTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html)) to mount your EFS file system on an EC2 or other AWS cloud compute resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolClient \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html)", "allOf": [ { "type": "object", @@ -9633,18 +9486,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EFS::FileSystem" + "AWS::Cognito::UserPoolClient" ], "markdownEnumDescriptions": [ - "The ``AWS::EFS::FileSystem`` resource creates a new, empty file system in EFSlong (EFS). You must create a mount target ([AWS::EFS::MountTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html)) to mount your EFS file system on an EC2 or other AWS cloud compute resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html)" + "Resource Type definition for AWS::Cognito::UserPoolClient \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html)" ] }, "Properties": { - "$ref": "resources/aws-efs-filesystem.json" + "$ref": "resources/aws-cognito-userpoolclient.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9653,9 +9507,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_APNSSandboxChannel": { + "AWS_MediaConnect_Gateway": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::APNSSandboxChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html)", + "markdownDescription": "Resource schema for AWS::MediaConnect::Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-gateway.html)", "allOf": [ { "type": "object", @@ -9663,14 +9517,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::APNSSandboxChannel" + "AWS::MediaConnect::Gateway" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::APNSSandboxChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html)" + "Resource schema for AWS::MediaConnect::Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-gateway.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-apnssandboxchannel.json" + "$ref": "resources/aws-mediaconnect-gateway.json" } }, "required": [ @@ -9684,9 +9538,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_MeteredProduct": { + "AWS_ApiGateway_DomainName": { "type": "object", - "markdownDescription": "Definition of AWS::Deadline::MeteredProduct Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-meteredproduct.html)", + "markdownDescription": "Resource Type definition for AWS::ApiGateway::DomainName. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html)", "allOf": [ { "type": "object", @@ -9694,14 +9548,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::MeteredProduct" + "AWS::ApiGateway::DomainName" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::MeteredProduct Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-meteredproduct.html)" + "Resource Type definition for AWS::ApiGateway::DomainName. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html)" ] }, "Properties": { - "$ref": "resources/aws-deadline-meteredproduct.json" + "$ref": "resources/aws-apigateway-domainname.json" } }, "required": [ @@ -9714,9 +9568,9 @@ ], "additionalProperties": false }, - "AWS_LakeFormation_DataLakeSettings": { + "AWS_ApiGateway_RestApi": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::LakeFormation::DataLakeSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html)", + "markdownDescription": "The ``AWS::ApiGateway::RestApi`` resource creates a REST API. For more information, see [restapi:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateRestApi.html) in the *Amazon API Gateway REST API Reference*.\n On January 1, 2016, the Swagger Specification was donated to the [OpenAPI initiative](https://docs.aws.amazon.com/https://www.openapis.org/), becoming the foundation of the OpenAPI Specification. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html)", "allOf": [ { "type": "object", @@ -9724,14 +9578,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LakeFormation::DataLakeSettings" + "AWS::ApiGateway::RestApi" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::LakeFormation::DataLakeSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html)" + "The ``AWS::ApiGateway::RestApi`` resource creates a REST API. For more information, see [restapi:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateRestApi.html) in the *Amazon API Gateway REST API Reference*.\n On January 1, 2016, the Swagger Specification was donated to the [OpenAPI initiative](https://docs.aws.amazon.com/https://www.openapis.org/), becoming the foundation of the OpenAPI Specification. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html)" ] }, "Properties": { - "$ref": "resources/aws-lakeformation-datalakesettings.json" + "$ref": "resources/aws-apigateway-restapi.json" } }, "required": [ @@ -9744,9 +9598,9 @@ ], "additionalProperties": false }, - "AWS_Glue_SchemaVersion": { + "AWS_S3Outposts_BucketPolicy": { "type": "object", - "markdownDescription": "This resource represents an individual schema version of a schema defined in Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversion.html)", + "markdownDescription": "Resource Type Definition for AWS::S3Outposts::BucketPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucketpolicy.html)", "allOf": [ { "type": "object", @@ -9754,14 +9608,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::SchemaVersion" + "AWS::S3Outposts::BucketPolicy" ], "markdownEnumDescriptions": [ - "This resource represents an individual schema version of a schema defined in Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversion.html)" + "Resource Type Definition for AWS::S3Outposts::BucketPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucketpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-schemaversion.json" + "$ref": "resources/aws-s3outposts-bucketpolicy.json" } }, "required": [ @@ -9775,9 +9629,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCPeeringConnection": { + "AWS_IoTAnalytics_Channel": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::VPCPeeringConnection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html)", + "markdownDescription": "Resource Type definition for AWS::IoTAnalytics::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.html)", "allOf": [ { "type": "object", @@ -9785,19 +9639,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCPeeringConnection" + "AWS::IoTAnalytics::Channel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPCPeeringConnection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html)" + "Resource Type definition for AWS::IoTAnalytics::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpcpeeringconnection.json" + "$ref": "resources/aws-iotanalytics-channel.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -9806,9 +9659,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_ADMChannel": { + "AWS_Timestream_ScheduledQuery": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::ADMChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-admchannel.html)", + "markdownDescription": "The AWS::Timestream::ScheduledQuery resource creates a Timestream Scheduled Query. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-scheduledquery.html)", "allOf": [ { "type": "object", @@ -9816,14 +9669,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::ADMChannel" + "AWS::Timestream::ScheduledQuery" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::ADMChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-admchannel.html)" + "The AWS::Timestream::ScheduledQuery resource creates a Timestream Scheduled Query. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-scheduledquery.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-admchannel.json" + "$ref": "resources/aws-timestream-scheduledquery.json" } }, "required": [ @@ -9837,9 +9690,9 @@ ], "additionalProperties": false }, - "AWS_Neptune_EventSubscription": { + "AWS_DataSync_Agent": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Neptune::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-eventsubscription.html)", + "markdownDescription": "Resource schema for AWS::DataSync::Agent. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html)", "allOf": [ { "type": "object", @@ -9847,14 +9700,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Neptune::EventSubscription" + "AWS::DataSync::Agent" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Neptune::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-eventsubscription.html)" + "Resource schema for AWS::DataSync::Agent. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html)" ] }, "Properties": { - "$ref": "resources/aws-neptune-eventsubscription.json" + "$ref": "resources/aws-datasync-agent.json" } }, "required": [ @@ -9867,9 +9720,9 @@ ], "additionalProperties": false }, - "AWS_SSMContacts_Plan": { + "AWS_ApiGatewayV2_ApiMapping": { "type": "object", - "markdownDescription": "Engagement Plan for a SSM Incident Manager Contact. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-plan.html)", + "markdownDescription": "The ``AWS::ApiGatewayV2::ApiMapping`` resource contains an API mapping. An API mapping relates a path of your custom domain name to a stage of your API. A custom domain name can have multiple API mappings, but the paths can't overlap. A custom domain can map only to APIs of the same protocol type. For more information, see [CreateApiMapping](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/domainnames-domainname-apimappings.html#CreateApiMapping) in the *Amazon API Gateway V2 API Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html)", "allOf": [ { "type": "object", @@ -9877,18 +9730,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SSMContacts::Plan" + "AWS::ApiGatewayV2::ApiMapping" ], "markdownEnumDescriptions": [ - "Engagement Plan for a SSM Incident Manager Contact. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-plan.html)" + "The ``AWS::ApiGatewayV2::ApiMapping`` resource contains an API mapping. An API mapping relates a path of your custom domain name to a stage of your API. A custom domain name can have multiple API mappings, but the paths can't overlap. A custom domain can map only to APIs of the same protocol type. For more information, see [CreateApiMapping](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/domainnames-domainname-apimappings.html#CreateApiMapping) in the *Amazon API Gateway V2 API Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html)" ] }, "Properties": { - "$ref": "resources/aws-ssmcontacts-plan.json" + "$ref": "resources/aws-apigatewayv2-apimapping.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9897,9 +9751,9 @@ ], "additionalProperties": false }, - "AWS_Backup_BackupSelection": { + "AWS_CloudFront_CloudFrontOriginAccessIdentity": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Backup::BackupSelection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupselection.html)", + "markdownDescription": "The request to create a new origin access identity (OAI). An origin access identity is a special CloudFront user that you can associate with Amazon S3 origins, so that you can secure all or just some of your Amazon S3 content. For more information, see [Restricting Access to Amazon S3 Content by Using an Origin Access Identity](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) in the *Amazon CloudFront Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cloudfrontoriginaccessidentity.html)", "allOf": [ { "type": "object", @@ -9907,14 +9761,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Backup::BackupSelection" + "AWS::CloudFront::CloudFrontOriginAccessIdentity" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Backup::BackupSelection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupselection.html)" + "The request to create a new origin access identity (OAI). An origin access identity is a special CloudFront user that you can associate with Amazon S3 origins, so that you can secure all or just some of your Amazon S3 content. For more information, see [Restricting Access to Amazon S3 Content by Using an Origin Access Identity](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) in the *Amazon CloudFront Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cloudfrontoriginaccessidentity.html)" ] }, "Properties": { - "$ref": "resources/aws-backup-backupselection.json" + "$ref": "resources/aws-cloudfront-cloudfrontoriginaccessidentity.json" } }, "required": [ @@ -9928,9 +9782,9 @@ ], "additionalProperties": false }, - "AWS_RAM_ResourceShare": { + "AWS_DMS_ReplicationInstance": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::RAM::ResourceShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html)", + "markdownDescription": "Resource Type definition for AWS::DMS::ReplicationInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html)", "allOf": [ { "type": "object", @@ -9938,14 +9792,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RAM::ResourceShare" + "AWS::DMS::ReplicationInstance" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::RAM::ResourceShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html)" + "Resource Type definition for AWS::DMS::ReplicationInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html)" ] }, "Properties": { - "$ref": "resources/aws-ram-resourceshare.json" + "$ref": "resources/aws-dms-replicationinstance.json" } }, "required": [ @@ -9959,9 +9813,9 @@ ], "additionalProperties": false }, - "AWS_EC2_ClientVpnTargetNetworkAssociation": { + "AWS_IoT_Logging": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::ClientVpnTargetNetworkAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpntargetnetworkassociation.html)", + "markdownDescription": "Logging Options enable you to configure your IoT V2 logging role and default logging level so that you can monitor progress events logs as it passes from your devices through Iot core service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-logging.html)", "allOf": [ { "type": "object", @@ -9969,14 +9823,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::ClientVpnTargetNetworkAssociation" + "AWS::IoT::Logging" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::ClientVpnTargetNetworkAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpntargetnetworkassociation.html)" + "Logging Options enable you to configure your IoT V2 logging role and default logging level so that you can monitor progress events logs as it passes from your devices through Iot core service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-logging.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-clientvpntargetnetworkassociation.json" + "$ref": "resources/aws-iot-logging.json" } }, "required": [ @@ -9990,9 +9844,9 @@ ], "additionalProperties": false }, - "AWS_Neptune_DBClusterParameterGroup": { + "AWS_DMS_InstanceProfile": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Neptune::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html)", + "markdownDescription": "Resource schema for AWS::DMS::InstanceProfile. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-instanceprofile.html)", "allOf": [ { "type": "object", @@ -10000,19 +9854,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Neptune::DBClusterParameterGroup" + "AWS::DMS::InstanceProfile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Neptune::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html)" + "Resource schema for AWS::DMS::InstanceProfile. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-instanceprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-neptune-dbclusterparametergroup.json" + "$ref": "resources/aws-dms-instanceprofile.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -10021,9 +9874,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_Segment": { + "AWS_MediaPackageV2_OriginEndpointPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::Segment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html)", + "markdownDescription": "

Represents a resource policy that allows or denies access to an origin endpoint.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-originendpointpolicy.html)", "allOf": [ { "type": "object", @@ -10031,14 +9884,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::Segment" + "AWS::MediaPackageV2::OriginEndpointPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::Segment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html)" + "

Represents a resource policy that allows or denies access to an origin endpoint.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-originendpointpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-segment.json" + "$ref": "resources/aws-mediapackagev2-originendpointpolicy.json" } }, "required": [ @@ -10052,9 +9905,9 @@ ], "additionalProperties": false }, - "AWS_Connect_Queue": { + "AWS_SES_MailManagerRelay": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::Queue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-queue.html)", + "markdownDescription": "Definition of AWS::SES::MailManagerRelay Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerrelay.html)", "allOf": [ { "type": "object", @@ -10062,14 +9915,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::Queue" + "AWS::SES::MailManagerRelay" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::Queue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-queue.html)" + "Definition of AWS::SES::MailManagerRelay Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerrelay.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-queue.json" + "$ref": "resources/aws-ses-mailmanagerrelay.json" } }, "required": [ @@ -10083,9 +9936,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_Rule": { + "AWS_QBusiness_Application": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html)", + "markdownDescription": "Definition of AWS::QBusiness::Application Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html)", "allOf": [ { "type": "object", @@ -10093,14 +9946,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::Rule" + "AWS::QBusiness::Application" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html)" + "Definition of AWS::QBusiness::Application Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-rule.json" + "$ref": "resources/aws-qbusiness-application.json" } }, "required": [ @@ -10114,9 +9967,9 @@ ], "additionalProperties": false }, - "AWS_Logs_Destination": { + "AWS_LakeFormation_Resource": { "type": "object", - "markdownDescription": "The AWS::Logs::Destination resource specifies a CloudWatch Logs destination. A destination encapsulates a physical resource (such as an Amazon Kinesis data stream) and enables you to subscribe that resource to a stream of log events. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html)", + "markdownDescription": "Resource Type definition for AWS::LakeFormation::Resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-resource.html)", "allOf": [ { "type": "object", @@ -10124,14 +9977,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::Destination" + "AWS::LakeFormation::Resource" ], "markdownEnumDescriptions": [ - "The AWS::Logs::Destination resource specifies a CloudWatch Logs destination. A destination encapsulates a physical resource (such as an Amazon Kinesis data stream) and enables you to subscribe that resource to a stream of log events. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html)" + "Resource Type definition for AWS::LakeFormation::Resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-resource.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-destination.json" + "$ref": "resources/aws-lakeformation-resource.json" } }, "required": [ @@ -10145,9 +9998,9 @@ ], "additionalProperties": false }, - "AWS_LakeFormation_Resource": { + "AWS_SSO_Assignment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::LakeFormation::Resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-resource.html)", + "markdownDescription": "Resource Type definition for SSO assignmet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html)", "allOf": [ { "type": "object", @@ -10155,14 +10008,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LakeFormation::Resource" + "AWS::SSO::Assignment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::LakeFormation::Resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-resource.html)" + "Resource Type definition for SSO assignmet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html)" ] }, "Properties": { - "$ref": "resources/aws-lakeformation-resource.json" + "$ref": "resources/aws-sso-assignment.json" } }, "required": [ @@ -10176,9 +10029,9 @@ ], "additionalProperties": false }, - "AWS_Route53_DNSSEC": { + "AWS_Logs_LogStream": { "type": "object", - "markdownDescription": "Resource used to control (enable/disable) DNSSEC in a specific hosted zone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-dnssec.html)", + "markdownDescription": "Resource Type definition for AWS::Logs::LogStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html)", "allOf": [ { "type": "object", @@ -10186,14 +10039,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53::DNSSEC" + "AWS::Logs::LogStream" ], "markdownEnumDescriptions": [ - "Resource used to control (enable/disable) DNSSEC in a specific hosted zone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-dnssec.html)" + "Resource Type definition for AWS::Logs::LogStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html)" ] }, "Properties": { - "$ref": "resources/aws-route53-dnssec.json" + "$ref": "resources/aws-logs-logstream.json" } }, "required": [ @@ -10207,9 +10060,9 @@ ], "additionalProperties": false }, - "AWS_FIS_ExperimentTemplate": { + "AWS_Glue_Workflow": { "type": "object", - "markdownDescription": "Resource schema for AWS::FIS::ExperimentTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-experimenttemplate.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html)", "allOf": [ { "type": "object", @@ -10217,19 +10070,18 @@ "Type": { "type": "string", "enum": [ - "AWS::FIS::ExperimentTemplate" + "AWS::Glue::Workflow" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::FIS::ExperimentTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-experimenttemplate.html)" + "Resource Type definition for AWS::Glue::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html)" ] }, "Properties": { - "$ref": "resources/aws-fis-experimenttemplate.json" + "$ref": "resources/aws-glue-workflow.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -10238,9 +10090,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_ModelCard": { + "AWS_WorkSpacesWeb_TrustStore": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelCard. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelcard.html)", + "markdownDescription": "Definition of AWS::WorkSpacesWeb::TrustStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-truststore.html)", "allOf": [ { "type": "object", @@ -10248,14 +10100,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::ModelCard" + "AWS::WorkSpacesWeb::TrustStore" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::ModelCard. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelcard.html)" + "Definition of AWS::WorkSpacesWeb::TrustStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-truststore.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-modelcard.json" + "$ref": "resources/aws-workspacesweb-truststore.json" } }, "required": [ @@ -10269,9 +10121,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Job": { + "AWS_NetworkFirewall_TLSInspectionConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::Job \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html)", + "markdownDescription": "Resource type definition for AWS::NetworkFirewall::TLSInspectionConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-tlsinspectionconfiguration.html)", "allOf": [ { "type": "object", @@ -10279,14 +10131,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Job" + "AWS::NetworkFirewall::TLSInspectionConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Job \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html)" + "Resource type definition for AWS::NetworkFirewall::TLSInspectionConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-tlsinspectionconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-job.json" + "$ref": "resources/aws-networkfirewall-tlsinspectionconfiguration.json" } }, "required": [ @@ -10300,9 +10152,9 @@ ], "additionalProperties": false }, - "AWS_SSO_Instance": { + "AWS_RDS_EventSubscription": { "type": "object", - "markdownDescription": "Resource Type definition for Identity Center (SSO) Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instance.html)", + "markdownDescription": "The ``AWS::RDS::EventSubscription`` resource allows you to receive notifications for Amazon Relational Database Service events through the Amazon Simple Notification Service (Amazon SNS). For more information, see [Using Amazon RDS Event Notification](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html) in the *Amazon RDS User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html)", "allOf": [ { "type": "object", @@ -10310,18 +10162,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SSO::Instance" + "AWS::RDS::EventSubscription" ], "markdownEnumDescriptions": [ - "Resource Type definition for Identity Center (SSO) Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instance.html)" + "The ``AWS::RDS::EventSubscription`` resource allows you to receive notifications for Amazon Relational Database Service events through the Amazon Simple Notification Service (Amazon SNS). For more information, see [Using Amazon RDS Event Notification](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html) in the *Amazon RDS User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-sso-instance.json" + "$ref": "resources/aws-rds-eventsubscription.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -10330,9 +10183,9 @@ ], "additionalProperties": false }, - "AWS_WAF_SqlInjectionMatchSet": { + "AWS_EC2_NetworkInterfacePermission": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAF::SqlInjectionMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sqlinjectionmatchset.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::NetworkInterfacePermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfacepermission.html)", "allOf": [ { "type": "object", @@ -10340,14 +10193,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAF::SqlInjectionMatchSet" + "AWS::EC2::NetworkInterfacePermission" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAF::SqlInjectionMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sqlinjectionmatchset.html)" + "Resource Type definition for AWS::EC2::NetworkInterfacePermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfacepermission.html)" ] }, "Properties": { - "$ref": "resources/aws-waf-sqlinjectionmatchset.json" + "$ref": "resources/aws-ec2-networkinterfacepermission.json" } }, "required": [ @@ -10361,9 +10214,9 @@ ], "additionalProperties": false }, - "AWS_DevOpsGuru_NotificationChannel": { + "AWS_Lex_BotVersion": { "type": "object", - "markdownDescription": "This resource schema represents the NotificationChannel resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-notificationchannel.html)", + "markdownDescription": "A version is a numbered snapshot of your work that you can publish for use in different parts of your workflow, such as development, beta deployment, and production. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botversion.html)", "allOf": [ { "type": "object", @@ -10371,14 +10224,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DevOpsGuru::NotificationChannel" + "AWS::Lex::BotVersion" ], "markdownEnumDescriptions": [ - "This resource schema represents the NotificationChannel resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-notificationchannel.html)" + "A version is a numbered snapshot of your work that you can publish for use in different parts of your workflow, such as development, beta deployment, and production. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botversion.html)" ] }, "Properties": { - "$ref": "resources/aws-devopsguru-notificationchannel.json" + "$ref": "resources/aws-lex-botversion.json" } }, "required": [ @@ -10392,9 +10245,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_EventBridgeRuleTemplate": { + "AWS_Transfer_Workflow": { "type": "object", - "markdownDescription": "Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-eventbridgeruletemplate.html)", + "markdownDescription": "Resource Type definition for AWS::Transfer::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-workflow.html)", "allOf": [ { "type": "object", @@ -10402,14 +10255,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::EventBridgeRuleTemplate" + "AWS::Transfer::Workflow" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-eventbridgeruletemplate.html)" + "Resource Type definition for AWS::Transfer::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-workflow.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-eventbridgeruletemplate.json" + "$ref": "resources/aws-transfer-workflow.json" } }, "required": [ @@ -10423,9 +10276,9 @@ ], "additionalProperties": false }, - "AWS_EC2_PlacementGroup": { + "AWS_EC2_SnapshotBlockPublicAccess": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::PlacementGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::SnapshotBlockPublicAccess \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-snapshotblockpublicaccess.html)", "allOf": [ { "type": "object", @@ -10433,18 +10286,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::PlacementGroup" + "AWS::EC2::SnapshotBlockPublicAccess" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::PlacementGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html)" + "Resource Type definition for AWS::EC2::SnapshotBlockPublicAccess \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-snapshotblockpublicaccess.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-placementgroup.json" + "$ref": "resources/aws-ec2-snapshotblockpublicaccess.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -10453,9 +10307,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryControl_RoutingControl": { + "AWS_SageMaker_ModelExplainabilityJobDefinition": { "type": "object", - "markdownDescription": "AWS Route53 Recovery Control Routing Control resource schema . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-routingcontrol.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelExplainabilityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.html)", "allOf": [ { "type": "object", @@ -10463,14 +10317,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryControl::RoutingControl" + "AWS::SageMaker::ModelExplainabilityJobDefinition" ], "markdownEnumDescriptions": [ - "AWS Route53 Recovery Control Routing Control resource schema . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-routingcontrol.html)" + "Resource Type definition for AWS::SageMaker::ModelExplainabilityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-route53recoverycontrol-routingcontrol.json" + "$ref": "resources/aws-sagemaker-modelexplainabilityjobdefinition.json" } }, "required": [ @@ -10484,9 +10338,9 @@ ], "additionalProperties": false }, - "AWS_StepFunctions_Activity": { + "AWS_MSK_Replicator": { "type": "object", - "markdownDescription": "Resource schema for Activity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-activity.html)", + "markdownDescription": "Resource Type definition for AWS::MSK::Replicator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-replicator.html)", "allOf": [ { "type": "object", @@ -10494,14 +10348,14 @@ "Type": { "type": "string", "enum": [ - "AWS::StepFunctions::Activity" + "AWS::MSK::Replicator" ], "markdownEnumDescriptions": [ - "Resource schema for Activity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-activity.html)" + "Resource Type definition for AWS::MSK::Replicator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-replicator.html)" ] }, "Properties": { - "$ref": "resources/aws-stepfunctions-activity.json" + "$ref": "resources/aws-msk-replicator.json" } }, "required": [ @@ -10515,9 +10369,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_PublicKey": { + "AWS_M2_Application": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::PublicKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-publickey.html)", + "markdownDescription": "Represents an application that runs on an AWS Mainframe Modernization Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-m2-application.html)", "allOf": [ { "type": "object", @@ -10525,14 +10379,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::PublicKey" + "AWS::M2::Application" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::PublicKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-publickey.html)" + "Represents an application that runs on an AWS Mainframe Modernization Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-m2-application.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-publickey.json" + "$ref": "resources/aws-m2-application.json" } }, "required": [ @@ -10546,9 +10400,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalogAppRegistry_AttributeGroup": { + "AWS_Pipes_Pipe": { "type": "object", - "markdownDescription": "Resource Schema for AWS::ServiceCatalogAppRegistry::AttributeGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroup.html)", + "markdownDescription": "Definition of AWS::Pipes::Pipe Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pipes-pipe.html)", "allOf": [ { "type": "object", @@ -10556,14 +10410,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalogAppRegistry::AttributeGroup" + "AWS::Pipes::Pipe" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::ServiceCatalogAppRegistry::AttributeGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroup.html)" + "Definition of AWS::Pipes::Pipe Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pipes-pipe.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalogappregistry-attributegroup.json" + "$ref": "resources/aws-pipes-pipe.json" } }, "required": [ @@ -10577,9 +10431,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_ApiMapping": { + "AWS_GroundStation_Config": { "type": "object", - "markdownDescription": "The ``AWS::ApiGatewayV2::ApiMapping`` resource contains an API mapping. An API mapping relates a path of your custom domain name to a stage of your API. A custom domain name can have multiple API mappings, but the paths can't overlap. A custom domain can map only to APIs of the same protocol type. For more information, see [CreateApiMapping](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/domainnames-domainname-apimappings.html#CreateApiMapping) in the *Amazon API Gateway V2 API Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html)", + "markdownDescription": "AWS Ground Station config resource type for CloudFormation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-config.html)", "allOf": [ { "type": "object", @@ -10587,14 +10441,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::ApiMapping" + "AWS::GroundStation::Config" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGatewayV2::ApiMapping`` resource contains an API mapping. An API mapping relates a path of your custom domain name to a stage of your API. A custom domain name can have multiple API mappings, but the paths can't overlap. A custom domain can map only to APIs of the same protocol type. For more information, see [CreateApiMapping](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/domainnames-domainname-apimappings.html#CreateApiMapping) in the *Amazon API Gateway V2 API Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html)" + "AWS Ground Station config resource type for CloudFormation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-config.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-apimapping.json" + "$ref": "resources/aws-groundstation-config.json" } }, "required": [ @@ -10608,9 +10462,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBSubnetGroup": { + "AWS_Backup_RestoreTestingPlan": { "type": "object", - "markdownDescription": "The ``AWS::RDS::DBSubnetGroup`` resource creates a database subnet group. Subnet groups must contain at least two subnets in two different Availability Zones in the same region. \n For more information, see [Working with DB subnet groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Subnets) in the *Amazon RDS User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnetgroup.html)", + "markdownDescription": "Definition of AWS::Backup::RestoreTestingPlan Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingplan.html)", "allOf": [ { "type": "object", @@ -10618,14 +10472,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBSubnetGroup" + "AWS::Backup::RestoreTestingPlan" ], "markdownEnumDescriptions": [ - "The ``AWS::RDS::DBSubnetGroup`` resource creates a database subnet group. Subnet groups must contain at least two subnets in two different Availability Zones in the same region. \n For more information, see [Working with DB subnet groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Subnets) in the *Amazon RDS User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnetgroup.html)" + "Definition of AWS::Backup::RestoreTestingPlan Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingplan.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbsubnetgroup.json" + "$ref": "resources/aws-backup-restoretestingplan.json" } }, "required": [ @@ -10639,9 +10493,9 @@ ], "additionalProperties": false }, - "AWS_S3_AccessGrant": { + "AWS_ServiceCatalog_ServiceAction": { "type": "object", - "markdownDescription": "The AWS::S3::AccessGrant resource is an Amazon S3 resource type representing permissions to a specific S3 bucket or prefix hosted in an S3 Access Grants instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrant.html)", + "markdownDescription": "Resource Schema for AWS::ServiceCatalog::ServiceAction \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceaction.html)", "allOf": [ { "type": "object", @@ -10649,14 +10503,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::AccessGrant" + "AWS::ServiceCatalog::ServiceAction" ], "markdownEnumDescriptions": [ - "The AWS::S3::AccessGrant resource is an Amazon S3 resource type representing permissions to a specific S3 bucket or prefix hosted in an S3 Access Grants instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrant.html)" + "Resource Schema for AWS::ServiceCatalog::ServiceAction \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceaction.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-accessgrant.json" + "$ref": "resources/aws-servicecatalog-serviceaction.json" } }, "required": [ @@ -10670,9 +10524,9 @@ ], "additionalProperties": false }, - "AWS_SES_MailManagerRuleSet": { + "AWS_AmazonMQ_Broker": { "type": "object", - "markdownDescription": "Definition of AWS::SES::MailManagerRuleSet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerruleset.html)", + "markdownDescription": "Resource Type definition for AWS::AmazonMQ::Broker \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html)", "allOf": [ { "type": "object", @@ -10680,14 +10534,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::MailManagerRuleSet" + "AWS::AmazonMQ::Broker" ], "markdownEnumDescriptions": [ - "Definition of AWS::SES::MailManagerRuleSet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerruleset.html)" + "Resource Type definition for AWS::AmazonMQ::Broker \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-mailmanagerruleset.json" + "$ref": "resources/aws-amazonmq-broker.json" } }, "required": [ @@ -10701,9 +10555,9 @@ ], "additionalProperties": false }, - "AWS_GuardDuty_IPSet": { + "AWS_GuardDuty_Member": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GuardDuty::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html)", + "markdownDescription": "Resource Type definition for AWS::GuardDuty::Member \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html)", "allOf": [ { "type": "object", @@ -10711,14 +10565,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GuardDuty::IPSet" + "AWS::GuardDuty::Member" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GuardDuty::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html)" + "Resource Type definition for AWS::GuardDuty::Member \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html)" ] }, "Properties": { - "$ref": "resources/aws-guardduty-ipset.json" + "$ref": "resources/aws-guardduty-member.json" } }, "required": [ @@ -10732,9 +10586,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_SourceApiAssociation": { + "AWS_ServiceCatalog_CloudFormationProvisionedProduct": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppSync::SourceApiAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-sourceapiassociation.html)", + "markdownDescription": "Resource Schema for AWS::ServiceCatalog::CloudFormationProvisionedProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html)", "allOf": [ { "type": "object", @@ -10742,14 +10596,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::SourceApiAssociation" + "AWS::ServiceCatalog::CloudFormationProvisionedProduct" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppSync::SourceApiAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-sourceapiassociation.html)" + "Resource Schema for AWS::ServiceCatalog::CloudFormationProvisionedProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-sourceapiassociation.json" + "$ref": "resources/aws-servicecatalog-cloudformationprovisionedproduct.json" } }, "required": [ @@ -10762,9 +10616,9 @@ ], "additionalProperties": false }, - "AWS_Shield_ProactiveEngagement": { + "AWS_Batch_JobQueue": { "type": "object", - "markdownDescription": "Authorizes the Shield Response Team (SRT) to use email and phone to notify contacts about escalations to the SRT and to initiate proactive customer support. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-proactiveengagement.html)", + "markdownDescription": "Resource Type definition for AWS::Batch::JobQueue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html)", "allOf": [ { "type": "object", @@ -10772,14 +10626,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Shield::ProactiveEngagement" + "AWS::Batch::JobQueue" ], "markdownEnumDescriptions": [ - "Authorizes the Shield Response Team (SRT) to use email and phone to notify contacts about escalations to the SRT and to initiate proactive customer support. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-proactiveengagement.html)" + "Resource Type definition for AWS::Batch::JobQueue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html)" ] }, "Properties": { - "$ref": "resources/aws-shield-proactiveengagement.json" + "$ref": "resources/aws-batch-jobqueue.json" } }, "required": [ @@ -10793,9 +10647,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_Authorizer": { + "AWS_LakeFormation_DataLakeSettings": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::Authorizer`` resource creates an authorization layer that API Gateway activates for methods that have authorization enabled. API Gateway activates the authorizer when a client calls those methods. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html)", + "markdownDescription": "Resource Type definition for AWS::LakeFormation::DataLakeSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html)", "allOf": [ { "type": "object", @@ -10803,19 +10657,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::Authorizer" + "AWS::LakeFormation::DataLakeSettings" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::Authorizer`` resource creates an authorization layer that API Gateway activates for methods that have authorization enabled. API Gateway activates the authorizer when a client calls those methods. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html)" + "Resource Type definition for AWS::LakeFormation::DataLakeSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-authorizer.json" + "$ref": "resources/aws-lakeformation-datalakesettings.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -10824,9 +10677,9 @@ ], "additionalProperties": false }, - "AWS_IVS_PlaybackRestrictionPolicy": { + "AWS_Greengrass_ResourceDefinition": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IVS::PlaybackRestrictionPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackrestrictionpolicy.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::ResourceDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html)", "allOf": [ { "type": "object", @@ -10834,14 +10687,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::PlaybackRestrictionPolicy" + "AWS::Greengrass::ResourceDefinition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IVS::PlaybackRestrictionPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackrestrictionpolicy.html)" + "Resource Type definition for AWS::Greengrass::ResourceDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-ivs-playbackrestrictionpolicy.json" + "$ref": "resources/aws-greengrass-resourcedefinition.json" } }, "required": [ @@ -10855,9 +10708,9 @@ ], "additionalProperties": false }, - "AWS_GroundStation_DataflowEndpointGroup": { + "AWS_KinesisAnalytics_Application": { "type": "object", - "markdownDescription": "AWS Ground Station DataflowEndpointGroup schema for CloudFormation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-dataflowendpointgroup.html)", + "markdownDescription": "Resource Type definition for AWS::KinesisAnalytics::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-application.html)", "allOf": [ { "type": "object", @@ -10865,14 +10718,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GroundStation::DataflowEndpointGroup" + "AWS::KinesisAnalytics::Application" ], "markdownEnumDescriptions": [ - "AWS Ground Station DataflowEndpointGroup schema for CloudFormation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-dataflowendpointgroup.html)" + "Resource Type definition for AWS::KinesisAnalytics::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-application.html)" ] }, "Properties": { - "$ref": "resources/aws-groundstation-dataflowendpointgroup.json" + "$ref": "resources/aws-kinesisanalytics-application.json" } }, "required": [ @@ -10886,9 +10739,9 @@ ], "additionalProperties": false }, - "AWS_IAM_Group": { + "AWS_Logs_SubscriptionFilter": { "type": "object", - "markdownDescription": "Creates a new group.\n For information about the number of groups you can create, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-group.html)", + "markdownDescription": "The ``AWS::Logs::SubscriptionFilter`` resource specifies a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events and have them delivered to a specific destination. Currently, the supported destinations are:\n + An Amazon Kinesis data stream belonging to the same account as the subscription filter, for same-account delivery.\n + A logical destination that belongs to a different account, for cross-account delivery.\n + An Amazon Kinesis Firehose delivery stream that belongs to the same account as the subscription filter, for same-account delivery.\n + An LAMlong function that belongs to the same account as the subscription filter, for same-account delivery.\n \n There can be as many as two subscription filters associated with a log group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html)", "allOf": [ { "type": "object", @@ -10896,18 +10749,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::Group" + "AWS::Logs::SubscriptionFilter" ], "markdownEnumDescriptions": [ - "Creates a new group.\n For information about the number of groups you can create, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-group.html)" + "The ``AWS::Logs::SubscriptionFilter`` resource specifies a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events and have them delivered to a specific destination. Currently, the supported destinations are:\n + An Amazon Kinesis data stream belonging to the same account as the subscription filter, for same-account delivery.\n + A logical destination that belongs to a different account, for cross-account delivery.\n + An Amazon Kinesis Firehose delivery stream that belongs to the same account as the subscription filter, for same-account delivery.\n + An LAMlong function that belongs to the same account as the subscription filter, for same-account delivery.\n \n There can be as many as two subscription filters associated with a log group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-group.json" + "$ref": "resources/aws-logs-subscriptionfilter.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -10916,9 +10770,9 @@ ], "additionalProperties": false }, - "AWS_EC2_DHCPOptions": { + "AWS_EC2_EIPAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::DHCPOptions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcpoptions.html)", + "markdownDescription": "Associates an Elastic IP address with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account. For more information about working with Elastic IP addresses, see [Elastic IP address concepts and rules](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#vpc-eip-overview).\n You must specify ``AllocationId`` and either ``InstanceId``, ``NetworkInterfaceId``, or ``PrivateIpAddress``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eipassociation.html)", "allOf": [ { "type": "object", @@ -10926,14 +10780,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::DHCPOptions" + "AWS::EC2::EIPAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::DHCPOptions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcpoptions.html)" + "Associates an Elastic IP address with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account. For more information about working with Elastic IP addresses, see [Elastic IP address concepts and rules](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#vpc-eip-overview).\n You must specify ``AllocationId`` and either ``InstanceId``, ``NetworkInterfaceId``, or ``PrivateIpAddress``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eipassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-dhcpoptions.json" + "$ref": "resources/aws-ec2-eipassociation.json" } }, "required": [ @@ -10946,9 +10800,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_UsagePlanKey": { + "AWS_ServiceCatalogAppRegistry_AttributeGroupAssociation": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::UsagePlanKey`` resource associates an API key with a usage plan. This association determines which users the usage plan is applied to. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html)", + "markdownDescription": "Resource Schema for AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroupassociation.html)", "allOf": [ { "type": "object", @@ -10956,14 +10810,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::UsagePlanKey" + "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::UsagePlanKey`` resource associates an API key with a usage plan. This association determines which users the usage plan is applied to. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html)" + "Resource Schema for AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroupassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-usageplankey.json" + "$ref": "resources/aws-servicecatalogappregistry-attributegroupassociation.json" } }, "required": [ @@ -10977,9 +10831,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Classifier": { + "AWS_QBusiness_DataSource": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::Classifier \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html)", + "markdownDescription": "Definition of AWS::QBusiness::DataSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html)", "allOf": [ { "type": "object", @@ -10987,18 +10841,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Classifier" + "AWS::QBusiness::DataSource" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Classifier \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html)" + "Definition of AWS::QBusiness::DataSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-classifier.json" + "$ref": "resources/aws-qbusiness-datasource.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -11007,9 +10862,9 @@ ], "additionalProperties": false }, - "AWS_ResilienceHub_App": { + "AWS_MWAA_Environment": { "type": "object", - "markdownDescription": "Resource Type Definition for AWS::ResilienceHub::App. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-app.html)", + "markdownDescription": "Resource schema for AWS::MWAA::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html)", "allOf": [ { "type": "object", @@ -11017,14 +10872,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ResilienceHub::App" + "AWS::MWAA::Environment" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::ResilienceHub::App. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-app.html)" + "Resource schema for AWS::MWAA::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html)" ] }, "Properties": { - "$ref": "resources/aws-resiliencehub-app.json" + "$ref": "resources/aws-mwaa-environment.json" } }, "required": [ @@ -11038,9 +10893,9 @@ ], "additionalProperties": false }, - "AWS_ApplicationSignals_ServiceLevelObjective": { + "AWS_MediaConnect_BridgeOutput": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ApplicationSignals::ServiceLevelObjective \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html)", + "markdownDescription": "Resource schema for AWS::MediaConnect::BridgeOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgeoutput.html)", "allOf": [ { "type": "object", @@ -11048,14 +10903,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApplicationSignals::ServiceLevelObjective" + "AWS::MediaConnect::BridgeOutput" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ApplicationSignals::ServiceLevelObjective \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html)" + "Resource schema for AWS::MediaConnect::BridgeOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgeoutput.html)" ] }, "Properties": { - "$ref": "resources/aws-applicationsignals-servicelevelobjective.json" + "$ref": "resources/aws-mediaconnect-bridgeoutput.json" } }, "required": [ @@ -11069,9 +10924,9 @@ ], "additionalProperties": false }, - "AWS_Scheduler_ScheduleGroup": { + "AWS_Organizations_OrganizationalUnit": { "type": "object", - "markdownDescription": "Definition of AWS::Scheduler::ScheduleGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedulegroup.html)", + "markdownDescription": "You can use organizational units (OUs) to group accounts together to administer as a single unit. This greatly simplifies the management of your accounts. For example, you can attach a policy-based control to an OU, and all accounts within the OU automatically inherit the policy. You can create multiple OUs within a single organization, and you can create OUs within other OUs. Each OU can contain multiple accounts, and you can move accounts from one OU to another. However, OU names must be unique within a parent OU or root. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-organizationalunit.html)", "allOf": [ { "type": "object", @@ -11079,18 +10934,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Scheduler::ScheduleGroup" + "AWS::Organizations::OrganizationalUnit" ], "markdownEnumDescriptions": [ - "Definition of AWS::Scheduler::ScheduleGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedulegroup.html)" + "You can use organizational units (OUs) to group accounts together to administer as a single unit. This greatly simplifies the management of your accounts. For example, you can attach a policy-based control to an OU, and all accounts within the OU automatically inherit the policy. You can create multiple OUs within a single organization, and you can create OUs within other OUs. Each OU can contain multiple accounts, and you can move accounts from one OU to another. However, OU names must be unique within a parent OU or root. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-organizationalunit.html)" ] }, "Properties": { - "$ref": "resources/aws-scheduler-schedulegroup.json" + "$ref": "resources/aws-organizations-organizationalunit.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -11099,9 +10955,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_KeyValueStore": { + "AWS_OpenSearchServerless_SecurityConfig": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::KeyValueStore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keyvaluestore.html)", + "markdownDescription": "Amazon OpenSearchServerless security config resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securityconfig.html)", "allOf": [ { "type": "object", @@ -11109,19 +10965,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::KeyValueStore" + "AWS::OpenSearchServerless::SecurityConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::KeyValueStore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keyvaluestore.html)" + "Amazon OpenSearchServerless security config resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securityconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-keyvaluestore.json" + "$ref": "resources/aws-opensearchserverless-securityconfig.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -11130,9 +10985,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkInsightsAnalysis": { + "AWS_MediaConnect_FlowSource": { "type": "object", - "markdownDescription": "Resource schema for AWS::EC2::NetworkInsightsAnalysis \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsanalysis.html)", + "markdownDescription": "Resource schema for AWS::MediaConnect::FlowSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html)", "allOf": [ { "type": "object", @@ -11140,14 +10995,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkInsightsAnalysis" + "AWS::MediaConnect::FlowSource" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EC2::NetworkInsightsAnalysis \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsanalysis.html)" + "Resource schema for AWS::MediaConnect::FlowSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkinsightsanalysis.json" + "$ref": "resources/aws-mediaconnect-flowsource.json" } }, "required": [ @@ -11161,9 +11016,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_ScheduledAction": { + "AWS_Connect_TrafficDistributionGroup": { "type": "object", - "markdownDescription": "The `AWS::Redshift::ScheduledAction` resource creates an Amazon Redshift Scheduled Action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-scheduledaction.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::TrafficDistributionGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-trafficdistributiongroup.html)", "allOf": [ { "type": "object", @@ -11171,14 +11026,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::ScheduledAction" + "AWS::Connect::TrafficDistributionGroup" ], "markdownEnumDescriptions": [ - "The `AWS::Redshift::ScheduledAction` resource creates an Amazon Redshift Scheduled Action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-scheduledaction.html)" + "Resource Type definition for AWS::Connect::TrafficDistributionGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-trafficdistributiongroup.html)" ] }, "Properties": { - "$ref": "resources/aws-redshift-scheduledaction.json" + "$ref": "resources/aws-connect-trafficdistributiongroup.json" } }, "required": [ @@ -11192,9 +11047,9 @@ ], "additionalProperties": false }, - "AWS_S3_StorageLens": { + "AWS_EC2_EgressOnlyInternetGateway": { "type": "object", - "markdownDescription": "The AWS::S3::StorageLens resource is an Amazon S3 resource type that you can use to create Storage Lens configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::EgressOnlyInternetGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-egressonlyinternetgateway.html)", "allOf": [ { "type": "object", @@ -11202,14 +11057,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::StorageLens" + "AWS::EC2::EgressOnlyInternetGateway" ], "markdownEnumDescriptions": [ - "The AWS::S3::StorageLens resource is an Amazon S3 resource type that you can use to create Storage Lens configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html)" + "Resource Type definition for AWS::EC2::EgressOnlyInternetGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-egressonlyinternetgateway.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-storagelens.json" + "$ref": "resources/aws-ec2-egressonlyinternetgateway.json" } }, "required": [ @@ -11223,9 +11078,9 @@ ], "additionalProperties": false }, - "AWS_Config_OrganizationConformancePack": { + "AWS_MediaConvert_JobTemplate": { "type": "object", - "markdownDescription": "Resource schema for AWS::Config::OrganizationConformancePack. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html)", + "markdownDescription": "Resource Type definition for AWS::MediaConvert::JobTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html)", "allOf": [ { "type": "object", @@ -11233,14 +11088,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::OrganizationConformancePack" + "AWS::MediaConvert::JobTemplate" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Config::OrganizationConformancePack. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html)" + "Resource Type definition for AWS::MediaConvert::JobTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-config-organizationconformancepack.json" + "$ref": "resources/aws-mediaconvert-jobtemplate.json" } }, "required": [ @@ -11254,9 +11109,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_ContainerRecipe": { + "AWS_DataZone_EnvironmentActions": { "type": "object", - "markdownDescription": "Resource schema for AWS::ImageBuilder::ContainerRecipe \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html)", + "markdownDescription": "Definition of AWS::DataZone::EnvironmentActions Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentactions.html)", "allOf": [ { "type": "object", @@ -11264,18 +11119,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::ContainerRecipe" + "AWS::DataZone::EnvironmentActions" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::ContainerRecipe \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html)" + "Definition of AWS::DataZone::EnvironmentActions Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentactions.html)" ] }, "Properties": { - "$ref": "resources/aws-imagebuilder-containerrecipe.json" + "$ref": "resources/aws-datazone-environmentactions.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -11284,9 +11140,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_Standard": { + "AWS_ServiceCatalog_LaunchRoleConstraint": { "type": "object", - "markdownDescription": "The ``AWS::SecurityHub::Standard`` resource specifies the enablement of a security standard. The standard is identified by the ``StandardsArn`` property. To view a list of ASH standards and their Amazon Resource Names (ARNs), use the [DescribeStandards](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_DescribeStandards.html) API operation.\n You must create a separate ``AWS::SecurityHub::Standard`` resource for each standard that you want to enable.\n For more information about ASH standards, see [standards reference](https://docs.aws.amazon.com/securityhub/latest/userguide/standards-reference.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-standard.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::LaunchRoleConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html)", "allOf": [ { "type": "object", @@ -11294,14 +11150,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::Standard" + "AWS::ServiceCatalog::LaunchRoleConstraint" ], "markdownEnumDescriptions": [ - "The ``AWS::SecurityHub::Standard`` resource specifies the enablement of a security standard. The standard is identified by the ``StandardsArn`` property. To view a list of ASH standards and their Amazon Resource Names (ARNs), use the [DescribeStandards](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_DescribeStandards.html) API operation.\n You must create a separate ``AWS::SecurityHub::Standard`` resource for each standard that you want to enable.\n For more information about ASH standards, see [standards reference](https://docs.aws.amazon.com/securityhub/latest/userguide/standards-reference.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-standard.html)" + "Resource Type definition for AWS::ServiceCatalog::LaunchRoleConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-standard.json" + "$ref": "resources/aws-servicecatalog-launchroleconstraint.json" } }, "required": [ @@ -11315,9 +11171,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_CacheCluster": { + "AWS_Lightsail_Distribution": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElastiCache::CacheCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-cachecluster.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::Distribution \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html)", "allOf": [ { "type": "object", @@ -11325,14 +11181,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::CacheCluster" + "AWS::Lightsail::Distribution" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElastiCache::CacheCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-cachecluster.html)" + "Resource Type definition for AWS::Lightsail::Distribution \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-cachecluster.json" + "$ref": "resources/aws-lightsail-distribution.json" } }, "required": [ @@ -11346,9 +11202,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_SecurityControl": { + "AWS_Lightsail_LoadBalancer": { "type": "object", - "markdownDescription": "A security control in Security Hub describes a security best practice related to a specific resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-securitycontrol.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::LoadBalancer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-loadbalancer.html)", "allOf": [ { "type": "object", @@ -11356,14 +11212,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::SecurityControl" + "AWS::Lightsail::LoadBalancer" ], "markdownEnumDescriptions": [ - "A security control in Security Hub describes a security best practice related to a specific resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-securitycontrol.html)" + "Resource Type definition for AWS::Lightsail::LoadBalancer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-loadbalancer.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-securitycontrol.json" + "$ref": "resources/aws-lightsail-loadbalancer.json" } }, "required": [ @@ -11377,9 +11233,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_ModelPackageGroup": { + "AWS_CloudFront_RealtimeLogConfig": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelPackageGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackagegroup.html)", + "markdownDescription": "A real-time log configuration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html)", "allOf": [ { "type": "object", @@ -11387,14 +11243,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::ModelPackageGroup" + "AWS::CloudFront::RealtimeLogConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::ModelPackageGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackagegroup.html)" + "A real-time log configuration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-modelpackagegroup.json" + "$ref": "resources/aws-cloudfront-realtimelogconfig.json" } }, "required": [ @@ -11408,9 +11264,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_PolicyAssociation": { + "AWS_EC2_NetworkPerformanceMetricSubscription": { "type": "object", - "markdownDescription": "The AWS::SecurityHub::PolicyAssociation resource represents the AWS Security Hub Central Configuration Policy associations in your Target. Only the AWS Security Hub delegated administrator can create the resouce from the home region. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-policyassociation.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::NetworkPerformanceMetricSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkperformancemetricsubscription.html)", "allOf": [ { "type": "object", @@ -11418,14 +11274,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::PolicyAssociation" + "AWS::EC2::NetworkPerformanceMetricSubscription" ], "markdownEnumDescriptions": [ - "The AWS::SecurityHub::PolicyAssociation resource represents the AWS Security Hub Central Configuration Policy associations in your Target. Only the AWS Security Hub delegated administrator can create the resouce from the home region. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-policyassociation.html)" + "Resource Type definition for AWS::EC2::NetworkPerformanceMetricSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkperformancemetricsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-policyassociation.json" + "$ref": "resources/aws-ec2-networkperformancemetricsubscription.json" } }, "required": [ @@ -11439,9 +11295,9 @@ ], "additionalProperties": false }, - "AWS_SES_Template": { + "AWS_SES_VdmAttributes": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SES::Template \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-template.html)", + "markdownDescription": "Resource Type definition for AWS::SES::VdmAttributes \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-vdmattributes.html)", "allOf": [ { "type": "object", @@ -11449,14 +11305,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::Template" + "AWS::SES::VdmAttributes" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SES::Template \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-template.html)" + "Resource Type definition for AWS::SES::VdmAttributes \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-vdmattributes.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-template.json" + "$ref": "resources/aws-ses-vdmattributes.json" } }, "required": [ @@ -11469,9 +11325,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_Destination": { + "AWS_AppSync_DataSource": { "type": "object", - "markdownDescription": "Destination's resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-destination.html)", + "markdownDescription": "Resource Type definition for AWS::AppSync::DataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html)", "allOf": [ { "type": "object", @@ -11479,14 +11335,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::Destination" + "AWS::AppSync::DataSource" ], "markdownEnumDescriptions": [ - "Destination's resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-destination.html)" + "Resource Type definition for AWS::AppSync::DataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-destination.json" + "$ref": "resources/aws-appsync-datasource.json" } }, "required": [ @@ -11500,9 +11356,9 @@ ], "additionalProperties": false }, - "AWS_Macie_CustomDataIdentifier": { + "AWS_EC2_VPC": { "type": "object", - "markdownDescription": "Macie CustomDataIdentifier resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html)", + "markdownDescription": "Specifies a virtual private cloud (VPC).\n To add an IPv6 CIDR block to the VPC, see [AWS::EC2::VPCCidrBlock](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html).\n For more information, see [Virtual private clouds (VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html)", "allOf": [ { "type": "object", @@ -11510,19 +11366,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Macie::CustomDataIdentifier" + "AWS::EC2::VPC" ], "markdownEnumDescriptions": [ - "Macie CustomDataIdentifier resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html)" + "Specifies a virtual private cloud (VPC).\n To add an IPv6 CIDR block to the VPC, see [AWS::EC2::VPCCidrBlock](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html).\n For more information, see [Virtual private clouds (VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html)" ] }, "Properties": { - "$ref": "resources/aws-macie-customdataidentifier.json" + "$ref": "resources/aws-ec2-vpc.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -11531,9 +11386,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TrafficMirrorSession": { + "AWS_OpsWorks_ElasticLoadBalancerAttachment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::TrafficMirrorSession \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html)", + "markdownDescription": "Resource Type definition for AWS::OpsWorks::ElasticLoadBalancerAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-elasticloadbalancerattachment.html)", "allOf": [ { "type": "object", @@ -11541,14 +11396,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TrafficMirrorSession" + "AWS::OpsWorks::ElasticLoadBalancerAttachment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TrafficMirrorSession \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html)" + "Resource Type definition for AWS::OpsWorks::ElasticLoadBalancerAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-elasticloadbalancerattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-trafficmirrorsession.json" + "$ref": "resources/aws-opsworks-elasticloadbalancerattachment.json" } }, "required": [ @@ -11562,9 +11417,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_LifecyclePolicy": { + "AWS_ElasticLoadBalancing_LoadBalancer": { "type": "object", - "markdownDescription": "Resource schema for AWS::ImageBuilder::LifecyclePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html)", + "markdownDescription": "Resource Type definition for AWS::ElasticLoadBalancing::LoadBalancer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html)", "allOf": [ { "type": "object", @@ -11572,14 +11427,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::LifecyclePolicy" + "AWS::ElasticLoadBalancing::LoadBalancer" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::LifecyclePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html)" + "Resource Type definition for AWS::ElasticLoadBalancing::LoadBalancer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html)" ] }, "Properties": { - "$ref": "resources/aws-imagebuilder-lifecyclepolicy.json" + "$ref": "resources/aws-elasticloadbalancing-loadbalancer.json" } }, "required": [ @@ -11593,9 +11448,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_Fleet": { + "AWS_MSK_BatchScramSecret": { "type": "object", - "markdownDescription": "Definition of AWS::Deadline::Fleet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-fleet.html)", + "markdownDescription": "Resource Type definition for AWS::MSK::BatchScramSecret \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-batchscramsecret.html)", "allOf": [ { "type": "object", @@ -11603,14 +11458,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::Fleet" + "AWS::MSK::BatchScramSecret" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::Fleet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-fleet.html)" + "Resource Type definition for AWS::MSK::BatchScramSecret \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-batchscramsecret.html)" ] }, "Properties": { - "$ref": "resources/aws-deadline-fleet.json" + "$ref": "resources/aws-msk-batchscramsecret.json" } }, "required": [ @@ -11624,9 +11479,9 @@ ], "additionalProperties": false }, - "AWS_ACMPCA_CertificateAuthorityActivation": { + "AWS_IoTTwinMaker_ComponentType": { "type": "object", - "markdownDescription": "Used to install the certificate authority certificate and update the certificate authority status. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthorityactivation.html)", + "markdownDescription": "Resource schema for AWS::IoTTwinMaker::ComponentType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-componenttype.html)", "allOf": [ { "type": "object", @@ -11634,14 +11489,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ACMPCA::CertificateAuthorityActivation" + "AWS::IoTTwinMaker::ComponentType" ], "markdownEnumDescriptions": [ - "Used to install the certificate authority certificate and update the certificate authority status. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthorityactivation.html)" + "Resource schema for AWS::IoTTwinMaker::ComponentType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-componenttype.html)" ] }, "Properties": { - "$ref": "resources/aws-acmpca-certificateauthorityactivation.json" + "$ref": "resources/aws-iottwinmaker-componenttype.json" } }, "required": [ @@ -11655,9 +11510,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_DomainNameApiAssociation": { + "AWS_EMR_StudioSessionMapping": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppSync::DomainNameApiAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainnameapiassociation.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studiosessionmapping.html)", "allOf": [ { "type": "object", @@ -11665,14 +11520,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::DomainNameApiAssociation" + "AWS::EMR::StudioSessionMapping" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppSync::DomainNameApiAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainnameapiassociation.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studiosessionmapping.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-domainnameapiassociation.json" + "$ref": "resources/aws-emr-studiosessionmapping.json" } }, "required": [ @@ -11686,9 +11541,9 @@ ], "additionalProperties": false }, - "AWS_ECS_ClusterCapacityProviderAssociations": { + "AWS_KafkaConnect_Connector": { "type": "object", - "markdownDescription": "Associate a set of ECS Capacity Providers with a specified ECS Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-clustercapacityproviderassociations.html)", + "markdownDescription": "Resource Type definition for AWS::KafkaConnect::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html)", "allOf": [ { "type": "object", @@ -11696,14 +11551,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECS::ClusterCapacityProviderAssociations" + "AWS::KafkaConnect::Connector" ], "markdownEnumDescriptions": [ - "Associate a set of ECS Capacity Providers with a specified ECS Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-clustercapacityproviderassociations.html)" + "Resource Type definition for AWS::KafkaConnect::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html)" ] }, "Properties": { - "$ref": "resources/aws-ecs-clustercapacityproviderassociations.json" + "$ref": "resources/aws-kafkaconnect-connector.json" } }, "required": [ @@ -11717,9 +11572,9 @@ ], "additionalProperties": false }, - "AWS_InspectorV2_Filter": { + "AWS_SSM_ResourceDataSync": { "type": "object", - "markdownDescription": "Inspector Filter resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspectorv2-filter.html)", + "markdownDescription": "Resource Type definition for AWS::SSM::ResourceDataSync \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html)", "allOf": [ { "type": "object", @@ -11727,14 +11582,14 @@ "Type": { "type": "string", "enum": [ - "AWS::InspectorV2::Filter" + "AWS::SSM::ResourceDataSync" ], "markdownEnumDescriptions": [ - "Inspector Filter resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspectorv2-filter.html)" + "Resource Type definition for AWS::SSM::ResourceDataSync \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html)" ] }, "Properties": { - "$ref": "resources/aws-inspectorv2-filter.json" + "$ref": "resources/aws-ssm-resourcedatasync.json" } }, "required": [ @@ -11748,9 +11603,9 @@ ], "additionalProperties": false }, - "AWS_IoTSiteWise_Asset": { + "AWS_CloudFormation_HookVersion": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTSiteWise::Asset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-asset.html)", + "markdownDescription": "Publishes new or first hook version to AWS CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html)", "allOf": [ { "type": "object", @@ -11758,14 +11613,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTSiteWise::Asset" + "AWS::CloudFormation::HookVersion" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTSiteWise::Asset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-asset.html)" + "Publishes new or first hook version to AWS CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html)" ] }, "Properties": { - "$ref": "resources/aws-iotsitewise-asset.json" + "$ref": "resources/aws-cloudformation-hookversion.json" } }, "required": [ @@ -11779,9 +11634,9 @@ ], "additionalProperties": false }, - "AWS_SupportApp_SlackChannelConfiguration": { + "AWS_S3_BucketPolicy": { "type": "object", - "markdownDescription": "An AWS Support App resource that creates, updates, lists and deletes Slack channel configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackchannelconfiguration.html)", + "markdownDescription": "Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than the root user of the AWS-account that owns the bucket, the calling identity must have the ``PutBucketPolicy`` permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.\n If you don't have ``PutBucketPolicy`` permissions, Amazon S3 returns a ``403 Access Denied`` error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a ``405 Method Not Allowed`` error.\n As a security precaution, the root user of the AWS-account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action. \n For more information, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).\n The following operations are related to ``PutBucketPolicy``:\n + [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) \n + [DeleteBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucketpolicy.html)", "allOf": [ { "type": "object", @@ -11789,14 +11644,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SupportApp::SlackChannelConfiguration" + "AWS::S3::BucketPolicy" ], "markdownEnumDescriptions": [ - "An AWS Support App resource that creates, updates, lists and deletes Slack channel configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackchannelconfiguration.html)" + "Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than the root user of the AWS-account that owns the bucket, the calling identity must have the ``PutBucketPolicy`` permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.\n If you don't have ``PutBucketPolicy`` permissions, Amazon S3 returns a ``403 Access Denied`` error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a ``405 Method Not Allowed`` error.\n As a security precaution, the root user of the AWS-account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action. \n For more information, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).\n The following operations are related to ``PutBucketPolicy``:\n + [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) \n + [DeleteBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucketpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-supportapp-slackchannelconfiguration.json" + "$ref": "resources/aws-s3-bucketpolicy.json" } }, "required": [ @@ -11810,9 +11665,9 @@ ], "additionalProperties": false }, - "AWS_Glue_CustomEntityType": { + "AWS_SageMaker_MonitoringSchedule": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::CustomEntityType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-customentitytype.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::MonitoringSchedule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html)", "allOf": [ { "type": "object", @@ -11820,18 +11675,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::CustomEntityType" + "AWS::SageMaker::MonitoringSchedule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::CustomEntityType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-customentitytype.html)" + "Resource Type definition for AWS::SageMaker::MonitoringSchedule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-customentitytype.json" + "$ref": "resources/aws-sagemaker-monitoringschedule.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -11840,9 +11696,9 @@ ], "additionalProperties": false }, - "AWS_IVS_Channel": { + "AWS_DataZone_ProjectMembership": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IVS::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html)", + "markdownDescription": "Definition of AWS::DataZone::ProjectMembership Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-projectmembership.html)", "allOf": [ { "type": "object", @@ -11850,18 +11706,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::Channel" + "AWS::DataZone::ProjectMembership" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IVS::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html)" + "Definition of AWS::DataZone::ProjectMembership Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-projectmembership.html)" ] }, "Properties": { - "$ref": "resources/aws-ivs-channel.json" + "$ref": "resources/aws-datazone-projectmembership.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -11870,9 +11727,9 @@ ], "additionalProperties": false }, - "AWS_IoT_TopicRuleDestination": { + "AWS_EC2_CarrierGateway": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT::TopicRuleDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicruledestination.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html)", "allOf": [ { "type": "object", @@ -11880,18 +11737,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::TopicRuleDestination" + "AWS::EC2::CarrierGateway" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::TopicRuleDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicruledestination.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-topicruledestination.json" + "$ref": "resources/aws-ec2-carriergateway.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -11900,9 +11758,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_ResolverRule": { + "AWS_Cognito_ManagedLoginBranding": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Route53Resolver::ResolverRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::ManagedLoginBranding \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-managedloginbranding.html)", "allOf": [ { "type": "object", @@ -11910,14 +11768,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::ResolverRule" + "AWS::Cognito::ManagedLoginBranding" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Route53Resolver::ResolverRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html)" + "Resource Type definition for AWS::Cognito::ManagedLoginBranding \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-managedloginbranding.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-resolverrule.json" + "$ref": "resources/aws-cognito-managedloginbranding.json" } }, "required": [ @@ -11931,9 +11789,9 @@ ], "additionalProperties": false }, - "AWS_Organizations_Policy": { + "AWS_Glue_SchemaVersionMetadata": { "type": "object", - "markdownDescription": "Policies in AWS Organizations enable you to manage different features of the AWS accounts in your organization. You can use policies when all features are enabled in your organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-policy.html)", + "markdownDescription": "This resource adds Key-Value metadata to a Schema version of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html)", "allOf": [ { "type": "object", @@ -11941,14 +11799,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Organizations::Policy" + "AWS::Glue::SchemaVersionMetadata" ], "markdownEnumDescriptions": [ - "Policies in AWS Organizations enable you to manage different features of the AWS accounts in your organization. You can use policies when all features are enabled in your organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-policy.html)" + "This resource adds Key-Value metadata to a Schema version of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html)" ] }, "Properties": { - "$ref": "resources/aws-organizations-policy.json" + "$ref": "resources/aws-glue-schemaversionmetadata.json" } }, "required": [ @@ -11962,9 +11820,9 @@ ], "additionalProperties": false }, - "AWS_Panorama_ApplicationInstance": { + "AWS_XRay_SamplingRule": { "type": "object", - "markdownDescription": "Creates an application instance and deploys it to a device. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-applicationinstance.html)", + "markdownDescription": "This schema provides construct and validation rules for AWS-XRay SamplingRule resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-samplingrule.html)", "allOf": [ { "type": "object", @@ -11972,19 +11830,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Panorama::ApplicationInstance" + "AWS::XRay::SamplingRule" ], "markdownEnumDescriptions": [ - "Creates an application instance and deploys it to a device. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-applicationinstance.html)" + "This schema provides construct and validation rules for AWS-XRay SamplingRule resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-samplingrule.html)" ] }, "Properties": { - "$ref": "resources/aws-panorama-applicationinstance.json" + "$ref": "resources/aws-xray-samplingrule.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -11993,9 +11850,9 @@ ], "additionalProperties": false }, - "AWS_LookoutVision_Project": { + "AWS_Omics_VariantStore": { "type": "object", - "markdownDescription": "The AWS::LookoutVision::Project type creates an Amazon Lookout for Vision project. A project is a grouping of the resources needed to create and manage a Lookout for Vision model. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutvision-project.html)", + "markdownDescription": "Definition of AWS::Omics::VariantStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-variantstore.html)", "allOf": [ { "type": "object", @@ -12003,14 +11860,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LookoutVision::Project" + "AWS::Omics::VariantStore" ], "markdownEnumDescriptions": [ - "The AWS::LookoutVision::Project type creates an Amazon Lookout for Vision project. A project is a grouping of the resources needed to create and manage a Lookout for Vision model. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutvision-project.html)" + "Definition of AWS::Omics::VariantStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-variantstore.html)" ] }, "Properties": { - "$ref": "resources/aws-lookoutvision-project.json" + "$ref": "resources/aws-omics-variantstore.json" } }, "required": [ @@ -12024,9 +11881,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_Multiplex": { + "AWS_ElasticLoadBalancingV2_ListenerRule": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaLive::Multiplex \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-multiplex.html)", + "markdownDescription": "Specifies a listener rule. The listener must be associated with an Application Load Balancer. Each rule consists of a priority, one or more actions, and one or more conditions.\n For more information, see [Quotas for your Application Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html) in the *User Guide for Application Load Balancers*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html)", "allOf": [ { "type": "object", @@ -12034,14 +11891,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::Multiplex" + "AWS::ElasticLoadBalancingV2::ListenerRule" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaLive::Multiplex \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-multiplex.html)" + "Specifies a listener rule. The listener must be associated with an Application Load Balancer. Each rule consists of a priority, one or more actions, and one or more conditions.\n For more information, see [Quotas for your Application Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html) in the *User Guide for Application Load Balancers*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-multiplex.json" + "$ref": "resources/aws-elasticloadbalancingv2-listenerrule.json" } }, "required": [ @@ -12055,9 +11912,9 @@ ], "additionalProperties": false }, - "AWS_Batch_SchedulingPolicy": { + "AWS_InspectorV2_Filter": { "type": "object", - "markdownDescription": "Resource Type schema for AWS::Batch::SchedulingPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-schedulingpolicy.html)", + "markdownDescription": "Inspector Filter resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspectorv2-filter.html)", "allOf": [ { "type": "object", @@ -12065,18 +11922,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Batch::SchedulingPolicy" + "AWS::InspectorV2::Filter" ], "markdownEnumDescriptions": [ - "Resource Type schema for AWS::Batch::SchedulingPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-schedulingpolicy.html)" + "Inspector Filter resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspectorv2-filter.html)" ] }, "Properties": { - "$ref": "resources/aws-batch-schedulingpolicy.json" + "$ref": "resources/aws-inspectorv2-filter.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -12085,9 +11943,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_NetworkAnalyzerConfiguration": { + "AWS_WorkSpacesWeb_NetworkSettings": { "type": "object", - "markdownDescription": "Create and manage NetworkAnalyzerConfiguration resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-networkanalyzerconfiguration.html)", + "markdownDescription": "Definition of AWS::WorkSpacesWeb::NetworkSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-networksettings.html)", "allOf": [ { "type": "object", @@ -12095,14 +11953,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::NetworkAnalyzerConfiguration" + "AWS::WorkSpacesWeb::NetworkSettings" ], "markdownEnumDescriptions": [ - "Create and manage NetworkAnalyzerConfiguration resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-networkanalyzerconfiguration.html)" + "Definition of AWS::WorkSpacesWeb::NetworkSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-networksettings.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-networkanalyzerconfiguration.json" + "$ref": "resources/aws-workspacesweb-networksettings.json" } }, "required": [ @@ -12116,9 +11974,9 @@ ], "additionalProperties": false }, - "AWS_EKS_PodIdentityAssociation": { + "AWS_RefactorSpaces_Service": { "type": "object", - "markdownDescription": "An object representing an Amazon EKS PodIdentityAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-podidentityassociation.html)", + "markdownDescription": "Definition of AWS::RefactorSpaces::Service Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-service.html)", "allOf": [ { "type": "object", @@ -12126,14 +11984,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EKS::PodIdentityAssociation" + "AWS::RefactorSpaces::Service" ], "markdownEnumDescriptions": [ - "An object representing an Amazon EKS PodIdentityAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-podidentityassociation.html)" + "Definition of AWS::RefactorSpaces::Service Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-service.html)" ] }, "Properties": { - "$ref": "resources/aws-eks-podidentityassociation.json" + "$ref": "resources/aws-refactorspaces-service.json" } }, "required": [ @@ -12147,9 +12005,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBSecurityGroup": { + "AWS_CodeStarConnections_RepositoryLink": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::RDS::DBSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroup.html)", + "markdownDescription": "Schema for AWS::CodeStarConnections::RepositoryLink resource which is used to aggregate repository metadata relevant to synchronizing source provider content to AWS Resources. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-repositorylink.html)", "allOf": [ { "type": "object", @@ -12157,14 +12015,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBSecurityGroup" + "AWS::CodeStarConnections::RepositoryLink" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::RDS::DBSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroup.html)" + "Schema for AWS::CodeStarConnections::RepositoryLink resource which is used to aggregate repository metadata relevant to synchronizing source provider content to AWS Resources. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-repositorylink.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbsecuritygroup.json" + "$ref": "resources/aws-codestarconnections-repositorylink.json" } }, "required": [ @@ -12178,9 +12036,9 @@ ], "additionalProperties": false }, - "AWS_S3_BucketPolicy": { + "AWS_Forecast_Dataset": { "type": "object", - "markdownDescription": "Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than the root user of the AWS-account that owns the bucket, the calling identity must have the ``PutBucketPolicy`` permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.\n If you don't have ``PutBucketPolicy`` permissions, Amazon S3 returns a ``403 Access Denied`` error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a ``405 Method Not Allowed`` error.\n As a security precaution, the root user of the AWS-account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action. \n For more information, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).\n The following operations are related to ``PutBucketPolicy``:\n + [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) \n + [DeleteBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucketpolicy.html)", + "markdownDescription": "Resource Type Definition for AWS::Forecast::Dataset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-forecast-dataset.html)", "allOf": [ { "type": "object", @@ -12188,14 +12046,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::BucketPolicy" + "AWS::Forecast::Dataset" ], "markdownEnumDescriptions": [ - "Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than the root user of the AWS-account that owns the bucket, the calling identity must have the ``PutBucketPolicy`` permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.\n If you don't have ``PutBucketPolicy`` permissions, Amazon S3 returns a ``403 Access Denied`` error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a ``405 Method Not Allowed`` error.\n As a security precaution, the root user of the AWS-account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action. \n For more information, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).\n The following operations are related to ``PutBucketPolicy``:\n + [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) \n + [DeleteBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucketpolicy.html)" + "Resource Type Definition for AWS::Forecast::Dataset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-forecast-dataset.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-bucketpolicy.json" + "$ref": "resources/aws-forecast-dataset.json" } }, "required": [ @@ -12209,9 +12067,9 @@ ], "additionalProperties": false }, - "AWS_Forecast_DatasetGroup": { + "AWS_AutoScaling_ScheduledAction": { "type": "object", - "markdownDescription": "Represents a dataset group that holds a collection of related datasets \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-forecast-datasetgroup.html)", + "markdownDescription": "The AWS::AutoScaling::ScheduledAction resource specifies an Amazon EC2 Auto Scaling scheduled action so that the Auto Scaling group can change the number of instances available for your application in response to predictable load changes. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scheduledaction.html)", "allOf": [ { "type": "object", @@ -12219,14 +12077,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Forecast::DatasetGroup" + "AWS::AutoScaling::ScheduledAction" ], "markdownEnumDescriptions": [ - "Represents a dataset group that holds a collection of related datasets \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-forecast-datasetgroup.html)" + "The AWS::AutoScaling::ScheduledAction resource specifies an Amazon EC2 Auto Scaling scheduled action so that the Auto Scaling group can change the number of instances available for your application in response to predictable load changes. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scheduledaction.html)" ] }, "Properties": { - "$ref": "resources/aws-forecast-datasetgroup.json" + "$ref": "resources/aws-autoscaling-scheduledaction.json" } }, "required": [ @@ -12240,9 +12098,9 @@ ], "additionalProperties": false }, - "AWS_Synthetics_Canary": { + "AWS_CleanRooms_ConfiguredTableAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Synthetics::Canary \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html)", + "markdownDescription": "Represents a table that can be queried within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html)", "allOf": [ { "type": "object", @@ -12250,14 +12108,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Synthetics::Canary" + "AWS::CleanRooms::ConfiguredTableAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Synthetics::Canary \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html)" + "Represents a table that can be queried within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-synthetics-canary.json" + "$ref": "resources/aws-cleanrooms-configuredtableassociation.json" } }, "required": [ @@ -12271,9 +12129,9 @@ ], "additionalProperties": false }, - "AWS_EC2_CarrierGateway": { + "AWS_OpenSearchServerless_VpcEndpoint": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html)", + "markdownDescription": "Amazon OpenSearchServerless vpc endpoint resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-vpcendpoint.html)", "allOf": [ { "type": "object", @@ -12281,14 +12139,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::CarrierGateway" + "AWS::OpenSearchServerless::VpcEndpoint" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html)" + "Amazon OpenSearchServerless vpc endpoint resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-vpcendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-carriergateway.json" + "$ref": "resources/aws-opensearchserverless-vpcendpoint.json" } }, "required": [ @@ -12302,9 +12160,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Instance": { + "AWS_EC2_VPCPeeringConnection": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-instance.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::VPCPeeringConnection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html)", "allOf": [ { "type": "object", @@ -12312,14 +12170,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Instance" + "AWS::EC2::VPCPeeringConnection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-instance.html)" + "Resource Type definition for AWS::EC2::VPCPeeringConnection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-instance.json" + "$ref": "resources/aws-ec2-vpcpeeringconnection.json" } }, "required": [ @@ -12333,9 +12191,9 @@ ], "additionalProperties": false }, - "AWS_EMRContainers_VirtualCluster": { + "AWS_FraudDetector_Detector": { "type": "object", - "markdownDescription": "Resource Schema of AWS::EMRContainers::VirtualCluster Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html)", + "markdownDescription": "A resource schema for a Detector in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-detector.html)", "allOf": [ { "type": "object", @@ -12343,14 +12201,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMRContainers::VirtualCluster" + "AWS::FraudDetector::Detector" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EMRContainers::VirtualCluster Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html)" + "A resource schema for a Detector in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-detector.html)" ] }, "Properties": { - "$ref": "resources/aws-emrcontainers-virtualcluster.json" + "$ref": "resources/aws-frauddetector-detector.json" } }, "required": [ @@ -12364,9 +12222,9 @@ ], "additionalProperties": false }, - "AWS_S3ObjectLambda_AccessPointPolicy": { + "AWS_Route53Resolver_ResolverConfig": { "type": "object", - "markdownDescription": "AWS::S3ObjectLambda::AccessPointPolicy resource is an Amazon S3ObjectLambda policy type that you can use to control permissions for your S3ObjectLambda \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspointpolicy.html)", + "markdownDescription": "Resource schema for AWS::Route53Resolver::ResolverConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverconfig.html)", "allOf": [ { "type": "object", @@ -12374,14 +12232,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3ObjectLambda::AccessPointPolicy" + "AWS::Route53Resolver::ResolverConfig" ], "markdownEnumDescriptions": [ - "AWS::S3ObjectLambda::AccessPointPolicy resource is an Amazon S3ObjectLambda policy type that you can use to control permissions for your S3ObjectLambda \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspointpolicy.html)" + "Resource schema for AWS::Route53Resolver::ResolverConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-s3objectlambda-accesspointpolicy.json" + "$ref": "resources/aws-route53resolver-resolverconfig.json" } }, "required": [ @@ -12395,9 +12253,9 @@ ], "additionalProperties": false }, - "AWS_Route53_KeySigningKey": { + "AWS_Lex_BotAlias": { "type": "object", - "markdownDescription": "Represents a key signing key (KSK) associated with a hosted zone. You can only have two KSKs per hosted zone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html)", + "markdownDescription": "A Bot Alias enables you to change the version of a bot without updating applications that use the bot \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botalias.html)", "allOf": [ { "type": "object", @@ -12405,14 +12263,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53::KeySigningKey" + "AWS::Lex::BotAlias" ], "markdownEnumDescriptions": [ - "Represents a key signing key (KSK) associated with a hosted zone. You can only have two KSKs per hosted zone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html)" + "A Bot Alias enables you to change the version of a bot without updating applications that use the bot \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botalias.html)" ] }, "Properties": { - "$ref": "resources/aws-route53-keysigningkey.json" + "$ref": "resources/aws-lex-botalias.json" } }, "required": [ @@ -12426,9 +12284,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Database": { + "AWS_Wisdom_AIPrompt": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::Database \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-database.html)", + "markdownDescription": "Definition of AWS::Wisdom::AIPrompt Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-aiprompt.html)", "allOf": [ { "type": "object", @@ -12436,14 +12294,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Database" + "AWS::Wisdom::AIPrompt" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Database \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-database.html)" + "Definition of AWS::Wisdom::AIPrompt Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-aiprompt.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-database.json" + "$ref": "resources/aws-wisdom-aiprompt.json" } }, "required": [ @@ -12457,9 +12315,9 @@ ], "additionalProperties": false }, - "AWS_Timestream_InfluxDBInstance": { + "AWS_QuickSight_Dashboard": { "type": "object", - "markdownDescription": "The AWS::Timestream::InfluxDBInstance resource creates an InfluxDB instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html)", + "markdownDescription": "Definition of the AWS::QuickSight::Dashboard Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html)", "allOf": [ { "type": "object", @@ -12467,18 +12325,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Timestream::InfluxDBInstance" + "AWS::QuickSight::Dashboard" ], "markdownEnumDescriptions": [ - "The AWS::Timestream::InfluxDBInstance resource creates an InfluxDB instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html)" + "Definition of the AWS::QuickSight::Dashboard Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html)" ] }, "Properties": { - "$ref": "resources/aws-timestream-influxdbinstance.json" + "$ref": "resources/aws-quicksight-dashboard.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -12487,9 +12346,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_KnowledgeBase": { + "AWS_EMRContainers_VirtualCluster": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::KnowledgeBase Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html)", + "markdownDescription": "Resource Schema of AWS::EMRContainers::VirtualCluster Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html)", "allOf": [ { "type": "object", @@ -12497,14 +12356,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::KnowledgeBase" + "AWS::EMRContainers::VirtualCluster" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::KnowledgeBase Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html)" + "Resource Schema of AWS::EMRContainers::VirtualCluster Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-knowledgebase.json" + "$ref": "resources/aws-emrcontainers-virtualcluster.json" } }, "required": [ @@ -12518,9 +12377,9 @@ ], "additionalProperties": false }, - "AWS_EKS_IdentityProviderConfig": { + "AWS_EC2_InternetGateway": { "type": "object", - "markdownDescription": "An object representing an Amazon EKS IdentityProviderConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-identityproviderconfig.html)", + "markdownDescription": "Allocates an internet gateway for use with a VPC. After creating the Internet gateway, you then attach it to a VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-internetgateway.html)", "allOf": [ { "type": "object", @@ -12528,19 +12387,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EKS::IdentityProviderConfig" + "AWS::EC2::InternetGateway" ], "markdownEnumDescriptions": [ - "An object representing an Amazon EKS IdentityProviderConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-identityproviderconfig.html)" + "Allocates an internet gateway for use with a VPC. After creating the Internet gateway, you then attach it to a VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-internetgateway.html)" ] }, "Properties": { - "$ref": "resources/aws-eks-identityproviderconfig.json" + "$ref": "resources/aws-ec2-internetgateway.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -12549,9 +12407,9 @@ ], "additionalProperties": false }, - "AWS_Athena_DataCatalog": { + "AWS_IVSChat_LoggingConfiguration": { "type": "object", - "markdownDescription": "Resource schema for AWS::Athena::DataCatalog \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html)", + "markdownDescription": "Resource type definition for AWS::IVSChat::LoggingConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-loggingconfiguration.html)", "allOf": [ { "type": "object", @@ -12559,14 +12417,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Athena::DataCatalog" + "AWS::IVSChat::LoggingConfiguration" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Athena::DataCatalog \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html)" + "Resource type definition for AWS::IVSChat::LoggingConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-loggingconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-athena-datacatalog.json" + "$ref": "resources/aws-ivschat-loggingconfiguration.json" } }, "required": [ @@ -12580,9 +12438,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_MonitoringSchedule": { + "AWS_ElastiCache_SecurityGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::MonitoringSchedule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html)", + "markdownDescription": "Resource Type definition for AWS::ElastiCache::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-securitygroup.html)", "allOf": [ { "type": "object", @@ -12590,14 +12448,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::MonitoringSchedule" + "AWS::ElastiCache::SecurityGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::MonitoringSchedule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html)" + "Resource Type definition for AWS::ElastiCache::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-securitygroup.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-monitoringschedule.json" + "$ref": "resources/aws-elasticache-securitygroup.json" } }, "required": [ @@ -12611,9 +12469,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_HookVersion": { + "AWS_ApiGateway_Resource": { "type": "object", - "markdownDescription": "Publishes new or first hook version to AWS CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html)", + "markdownDescription": "The ``AWS::ApiGateway::Resource`` resource creates a resource in an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html)", "allOf": [ { "type": "object", @@ -12621,14 +12479,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::HookVersion" + "AWS::ApiGateway::Resource" ], "markdownEnumDescriptions": [ - "Publishes new or first hook version to AWS CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html)" + "The ``AWS::ApiGateway::Resource`` resource creates a resource in an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-hookversion.json" + "$ref": "resources/aws-apigateway-resource.json" } }, "required": [ @@ -12642,9 +12500,9 @@ ], "additionalProperties": false }, - "AWS_AutoScaling_AutoScalingGroup": { + "AWS_ImageBuilder_InfrastructureConfiguration": { "type": "object", - "markdownDescription": "The ``AWS::AutoScaling::AutoScalingGroup`` resource defines an Amazon EC2 Auto Scaling group, which is a collection of Amazon EC2 instances that are treated as a logical grouping for the purposes of automatic scaling and management. \n For more information about Amazon EC2 Auto Scaling, see the [Amazon EC2 Auto Scaling User Guide](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html). \n Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a [launch template](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html) or a launch configuration. We strongly recommend that you do not use launch configurations. For more information, see [Launch configurations](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html) in the *Amazon EC2 Auto Scaling User Guide*.\n For help migrating from launch configurations to launch templates, see [Migrate CloudFormation stacks from launch configurations to launch templates](https://docs.aws.amazon.com/autoscaling/ec2/userguide/migrate-launch-configurations-with-cloudformation.html) in the *Amazon EC2 Auto Scaling User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html)", + "markdownDescription": "Resource schema for AWS::ImageBuilder::InfrastructureConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html)", "allOf": [ { "type": "object", @@ -12652,14 +12510,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AutoScaling::AutoScalingGroup" + "AWS::ImageBuilder::InfrastructureConfiguration" ], "markdownEnumDescriptions": [ - "The ``AWS::AutoScaling::AutoScalingGroup`` resource defines an Amazon EC2 Auto Scaling group, which is a collection of Amazon EC2 instances that are treated as a logical grouping for the purposes of automatic scaling and management. \n For more information about Amazon EC2 Auto Scaling, see the [Amazon EC2 Auto Scaling User Guide](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html). \n Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a [launch template](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html) or a launch configuration. We strongly recommend that you do not use launch configurations. For more information, see [Launch configurations](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html) in the *Amazon EC2 Auto Scaling User Guide*.\n For help migrating from launch configurations to launch templates, see [Migrate CloudFormation stacks from launch configurations to launch templates](https://docs.aws.amazon.com/autoscaling/ec2/userguide/migrate-launch-configurations-with-cloudformation.html) in the *Amazon EC2 Auto Scaling User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html)" + "Resource schema for AWS::ImageBuilder::InfrastructureConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-autoscaling-autoscalinggroup.json" + "$ref": "resources/aws-imagebuilder-infrastructureconfiguration.json" } }, "required": [ @@ -12673,9 +12531,9 @@ ], "additionalProperties": false }, - "AWS_GuardDuty_Filter": { + "AWS_CodeArtifact_PackageGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GuardDuty::Filter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html)", + "markdownDescription": "The resource schema to create a CodeArtifact package group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html)", "allOf": [ { "type": "object", @@ -12683,14 +12541,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GuardDuty::Filter" + "AWS::CodeArtifact::PackageGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GuardDuty::Filter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html)" + "The resource schema to create a CodeArtifact package group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html)" ] }, "Properties": { - "$ref": "resources/aws-guardduty-filter.json" + "$ref": "resources/aws-codeartifact-packagegroup.json" } }, "required": [ @@ -12704,9 +12562,9 @@ ], "additionalProperties": false }, - "AWS_AmplifyUIBuilder_Theme": { + "AWS_Personalize_Schema": { "type": "object", - "markdownDescription": "Definition of AWS::AmplifyUIBuilder::Theme Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-theme.html)", + "markdownDescription": "Resource schema for AWS::Personalize::Schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-schema.html)", "allOf": [ { "type": "object", @@ -12714,18 +12572,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AmplifyUIBuilder::Theme" + "AWS::Personalize::Schema" ], "markdownEnumDescriptions": [ - "Definition of AWS::AmplifyUIBuilder::Theme Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-theme.html)" + "Resource schema for AWS::Personalize::Schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-schema.html)" ] }, "Properties": { - "$ref": "resources/aws-amplifyuibuilder-theme.json" + "$ref": "resources/aws-personalize-schema.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -12734,9 +12593,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_InfrastructureConfiguration": { + "AWS_Route53Resolver_ResolverQueryLoggingConfigAssociation": { "type": "object", - "markdownDescription": "Resource schema for AWS::ImageBuilder::InfrastructureConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html)", + "markdownDescription": "Resource schema for AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfigassociation.html)", "allOf": [ { "type": "object", @@ -12744,19 +12603,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::InfrastructureConfiguration" + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::InfrastructureConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html)" + "Resource schema for AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfigassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-imagebuilder-infrastructureconfiguration.json" + "$ref": "resources/aws-route53resolver-resolverqueryloggingconfigassociation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -12765,9 +12623,9 @@ ], "additionalProperties": false }, - "AWS_NimbleStudio_StudioComponent": { + "AWS_ApiGateway_BasePathMapping": { "type": "object", - "markdownDescription": "Represents a studio component that connects a non-Nimble Studio resource in your account to your studio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-studiocomponent.html)", + "markdownDescription": "The ``AWS::ApiGateway::BasePathMapping`` resource creates a base path that clients who call your API must use in the invocation URL. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html)", "allOf": [ { "type": "object", @@ -12775,14 +12633,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NimbleStudio::StudioComponent" + "AWS::ApiGateway::BasePathMapping" ], "markdownEnumDescriptions": [ - "Represents a studio component that connects a non-Nimble Studio resource in your account to your studio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-studiocomponent.html)" + "The ``AWS::ApiGateway::BasePathMapping`` resource creates a base path that clients who call your API must use in the invocation URL. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html)" ] }, "Properties": { - "$ref": "resources/aws-nimblestudio-studiocomponent.json" + "$ref": "resources/aws-apigateway-basepathmapping.json" } }, "required": [ @@ -12796,9 +12654,9 @@ ], "additionalProperties": false }, - "AWS_S3_AccessPoint": { + "AWS_ApiGatewayV2_RouteResponse": { "type": "object", - "markdownDescription": "The AWS::S3::AccessPoint resource is an Amazon S3 resource type that you can use to access buckets. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html)", + "markdownDescription": "The ``AWS::ApiGatewayV2::RouteResponse`` resource creates a route response for a WebSocket API. For more information, see [Set up Route Responses for a WebSocket API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-route-response.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html)", "allOf": [ { "type": "object", @@ -12806,14 +12664,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::AccessPoint" + "AWS::ApiGatewayV2::RouteResponse" ], "markdownEnumDescriptions": [ - "The AWS::S3::AccessPoint resource is an Amazon S3 resource type that you can use to access buckets. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html)" + "The ``AWS::ApiGatewayV2::RouteResponse`` resource creates a route response for a WebSocket API. For more information, see [Set up Route Responses for a WebSocket API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-route-response.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-accesspoint.json" + "$ref": "resources/aws-apigatewayv2-routeresponse.json" } }, "required": [ @@ -12827,9 +12685,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_PartnerAccount": { + "AWS_Glue_Schema": { "type": "object", - "markdownDescription": "Create and manage partner account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-partneraccount.html)", + "markdownDescription": "This resource represents a schema of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html)", "allOf": [ { "type": "object", @@ -12837,18 +12695,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::PartnerAccount" + "AWS::Glue::Schema" ], "markdownEnumDescriptions": [ - "Create and manage partner account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-partneraccount.html)" + "This resource represents a schema of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-partneraccount.json" + "$ref": "resources/aws-glue-schema.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -12857,9 +12716,9 @@ ], "additionalProperties": false }, - "AWS_AppRunner_VpcConnector": { + "AWS_NetworkFirewall_RuleGroup": { "type": "object", - "markdownDescription": "The AWS::AppRunner::VpcConnector resource specifies an App Runner VpcConnector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-vpcconnector.html)", + "markdownDescription": "Resource type definition for AWS::NetworkFirewall::RuleGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-rulegroup.html)", "allOf": [ { "type": "object", @@ -12867,14 +12726,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppRunner::VpcConnector" + "AWS::NetworkFirewall::RuleGroup" ], "markdownEnumDescriptions": [ - "The AWS::AppRunner::VpcConnector resource specifies an App Runner VpcConnector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-vpcconnector.html)" + "Resource type definition for AWS::NetworkFirewall::RuleGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-rulegroup.html)" ] }, "Properties": { - "$ref": "resources/aws-apprunner-vpcconnector.json" + "$ref": "resources/aws-networkfirewall-rulegroup.json" } }, "required": [ @@ -12888,9 +12747,9 @@ ], "additionalProperties": false }, - "AWS_FraudDetector_List": { + "AWS_DataZone_Environment": { "type": "object", - "markdownDescription": "A resource schema for a List in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-list.html)", + "markdownDescription": "Definition of AWS::DataZone::Environment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environment.html)", "allOf": [ { "type": "object", @@ -12898,14 +12757,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FraudDetector::List" + "AWS::DataZone::Environment" ], "markdownEnumDescriptions": [ - "A resource schema for a List in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-list.html)" + "Definition of AWS::DataZone::Environment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environment.html)" ] }, "Properties": { - "$ref": "resources/aws-frauddetector-list.json" + "$ref": "resources/aws-datazone-environment.json" } }, "required": [ @@ -12919,9 +12778,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_DataSource": { + "AWS_WorkSpacesWeb_UserAccessLoggingSettings": { "type": "object", - "markdownDescription": "A data source is used to import technical metadata of assets (data) from the source databases or data warehouses into Amazon DataZone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-datasource.html)", + "markdownDescription": "Definition of AWS::WorkSpacesWeb::UserAccessLoggingSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-useraccessloggingsettings.html)", "allOf": [ { "type": "object", @@ -12929,14 +12788,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::DataSource" + "AWS::WorkSpacesWeb::UserAccessLoggingSettings" ], "markdownEnumDescriptions": [ - "A data source is used to import technical metadata of assets (data) from the source databases or data warehouses into Amazon DataZone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-datasource.html)" + "Definition of AWS::WorkSpacesWeb::UserAccessLoggingSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-useraccessloggingsettings.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-datasource.json" + "$ref": "resources/aws-workspacesweb-useraccessloggingsettings.json" } }, "required": [ @@ -12950,9 +12809,9 @@ ], "additionalProperties": false }, - "AWS_Evidently_Project": { + "AWS_ApiGateway_VpcLink": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Evidently::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-project.html)", + "markdownDescription": "The ``AWS::ApiGateway::VpcLink`` resource creates an API Gateway VPC link for a REST API to access resources in an Amazon Virtual Private Cloud (VPC). For more information, see [vpclink:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateVpcLink.html) in the ``Amazon API Gateway REST API Reference``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html)", "allOf": [ { "type": "object", @@ -12960,14 +12819,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Evidently::Project" + "AWS::ApiGateway::VpcLink" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Evidently::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-project.html)" + "The ``AWS::ApiGateway::VpcLink`` resource creates an API Gateway VPC link for a REST API to access resources in an Amazon Virtual Private Cloud (VPC). For more information, see [vpclink:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateVpcLink.html) in the ``Amazon API Gateway REST API Reference``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html)" ] }, "Properties": { - "$ref": "resources/aws-evidently-project.json" + "$ref": "resources/aws-apigateway-vpclink.json" } }, "required": [ @@ -12981,9 +12840,9 @@ ], "additionalProperties": false }, - "AWS_GreengrassV2_ComponentVersion": { + "AWS_Route53RecoveryReadiness_RecoveryGroup": { "type": "object", - "markdownDescription": "Resource for Greengrass component version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-componentversion.html)", + "markdownDescription": "AWS Route53 Recovery Readiness Recovery Group Schema and API specifications. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-recoverygroup.html)", "allOf": [ { "type": "object", @@ -12991,14 +12850,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GreengrassV2::ComponentVersion" + "AWS::Route53RecoveryReadiness::RecoveryGroup" ], "markdownEnumDescriptions": [ - "Resource for Greengrass component version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-componentversion.html)" + "AWS Route53 Recovery Readiness Recovery Group Schema and API specifications. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-recoverygroup.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrassv2-componentversion.json" + "$ref": "resources/aws-route53recoveryreadiness-recoverygroup.json" } }, "required": [ @@ -13011,9 +12870,9 @@ ], "additionalProperties": false }, - "AWS_ACMPCA_CertificateAuthority": { + "AWS_Connect_ContactFlow": { "type": "object", - "markdownDescription": "Private certificate authority. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::ContactFlow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-contactflow.html)", "allOf": [ { "type": "object", @@ -13021,14 +12880,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ACMPCA::CertificateAuthority" + "AWS::Connect::ContactFlow" ], "markdownEnumDescriptions": [ - "Private certificate authority. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html)" + "Resource Type definition for AWS::Connect::ContactFlow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-contactflow.html)" ] }, "Properties": { - "$ref": "resources/aws-acmpca-certificateauthority.json" + "$ref": "resources/aws-connect-contactflow.json" } }, "required": [ @@ -13042,9 +12901,9 @@ ], "additionalProperties": false }, - "AWS_Events_EventBusPolicy": { + "AWS_Shield_ProactiveEngagement": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Events::EventBusPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html)", + "markdownDescription": "Authorizes the Shield Response Team (SRT) to use email and phone to notify contacts about escalations to the SRT and to initiate proactive customer support. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-proactiveengagement.html)", "allOf": [ { "type": "object", @@ -13052,14 +12911,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Events::EventBusPolicy" + "AWS::Shield::ProactiveEngagement" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Events::EventBusPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html)" + "Authorizes the Shield Response Team (SRT) to use email and phone to notify contacts about escalations to the SRT and to initiate proactive customer support. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-proactiveengagement.html)" ] }, "Properties": { - "$ref": "resources/aws-events-eventbuspolicy.json" + "$ref": "resources/aws-shield-proactiveengagement.json" } }, "required": [ @@ -13073,9 +12932,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_Gateway": { + "AWS_Route53Profiles_ProfileResourceAssociation": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaConnect::Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-gateway.html)", + "markdownDescription": "Resource Type definition for AWS::Route53Profiles::ProfileResourceAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profileresourceassociation.html)", "allOf": [ { "type": "object", @@ -13083,14 +12942,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::Gateway" + "AWS::Route53Profiles::ProfileResourceAssociation" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-gateway.html)" + "Resource Type definition for AWS::Route53Profiles::ProfileResourceAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profileresourceassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconnect-gateway.json" + "$ref": "resources/aws-route53profiles-profileresourceassociation.json" } }, "required": [ @@ -13104,9 +12963,9 @@ ], "additionalProperties": false }, - "AWS_Connect_QuickConnect": { + "AWS_ServiceCatalog_CloudFormationProduct": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::QuickConnect \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-quickconnect.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::CloudFormationProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html)", "allOf": [ { "type": "object", @@ -13114,14 +12973,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::QuickConnect" + "AWS::ServiceCatalog::CloudFormationProduct" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::QuickConnect \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-quickconnect.html)" + "Resource Type definition for AWS::ServiceCatalog::CloudFormationProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-quickconnect.json" + "$ref": "resources/aws-servicecatalog-cloudformationproduct.json" } }, "required": [ @@ -13135,9 +12994,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorksCM_Server": { + "AWS_MediaLive_Network": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::OpsWorksCM::Server \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html)", + "markdownDescription": "Resource schema for AWS::MediaLive::Network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-network.html)", "allOf": [ { "type": "object", @@ -13145,14 +13004,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorksCM::Server" + "AWS::MediaLive::Network" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorksCM::Server \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html)" + "Resource schema for AWS::MediaLive::Network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-network.html)" ] }, "Properties": { - "$ref": "resources/aws-opsworkscm-server.json" + "$ref": "resources/aws-medialive-network.json" } }, "required": [ @@ -13166,9 +13025,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPNGatewayRoutePropagation": { + "AWS_RDS_DBSecurityGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::VPNGatewayRoutePropagation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngatewayroutepropagation.html)", + "markdownDescription": "Resource Type definition for AWS::RDS::DBSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroup.html)", "allOf": [ { "type": "object", @@ -13176,14 +13035,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPNGatewayRoutePropagation" + "AWS::RDS::DBSecurityGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPNGatewayRoutePropagation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngatewayroutepropagation.html)" + "Resource Type definition for AWS::RDS::DBSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroup.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpngatewayroutepropagation.json" + "$ref": "resources/aws-rds-dbsecuritygroup.json" } }, "required": [ @@ -13197,9 +13056,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_GameSessionQueue": { + "AWS_IoT_SecurityProfile": { "type": "object", - "markdownDescription": "The AWS::GameLift::GameSessionQueue resource creates an Amazon GameLift (GameLift) game session queue. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html)", + "markdownDescription": "A security profile defines a set of expected behaviors for devices in your account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html)", "allOf": [ { "type": "object", @@ -13207,19 +13066,18 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::GameSessionQueue" + "AWS::IoT::SecurityProfile" ], "markdownEnumDescriptions": [ - "The AWS::GameLift::GameSessionQueue resource creates an Amazon GameLift (GameLift) game session queue. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html)" + "A security profile defines a set of expected behaviors for devices in your account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-gamelift-gamesessionqueue.json" + "$ref": "resources/aws-iot-securityprofile.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -13228,9 +13086,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_LoadBalancerTlsCertificate": { + "AWS_Connect_View": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::LoadBalancerTlsCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-loadbalancertlscertificate.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::View \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-view.html)", "allOf": [ { "type": "object", @@ -13238,14 +13096,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::LoadBalancerTlsCertificate" + "AWS::Connect::View" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::LoadBalancerTlsCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-loadbalancertlscertificate.html)" + "Resource Type definition for AWS::Connect::View \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-view.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-loadbalancertlscertificate.json" + "$ref": "resources/aws-connect-view.json" } }, "required": [ @@ -13259,9 +13117,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_Alias": { + "AWS_Redshift_EndpointAccess": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lambda::Alias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html)", + "markdownDescription": "Resource schema for a Redshift-managed VPC endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-endpointaccess.html)", "allOf": [ { "type": "object", @@ -13269,14 +13127,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::Alias" + "AWS::Redshift::EndpointAccess" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lambda::Alias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html)" + "Resource schema for a Redshift-managed VPC endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-endpointaccess.html)" ] }, "Properties": { - "$ref": "resources/aws-lambda-alias.json" + "$ref": "resources/aws-redshift-endpointaccess.json" } }, "required": [ @@ -13290,9 +13148,9 @@ ], "additionalProperties": false }, - "AWS_CodeDeploy_Application": { + "AWS_AppSync_DomainName": { "type": "object", - "markdownDescription": "The AWS::CodeDeploy::Application resource creates an AWS CodeDeploy application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html)", + "markdownDescription": "Resource Type definition for AWS::AppSync::DomainName \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html)", "allOf": [ { "type": "object", @@ -13300,18 +13158,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeDeploy::Application" + "AWS::AppSync::DomainName" ], "markdownEnumDescriptions": [ - "The AWS::CodeDeploy::Application resource creates an AWS CodeDeploy application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html)" + "Resource Type definition for AWS::AppSync::DomainName \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html)" ] }, "Properties": { - "$ref": "resources/aws-codedeploy-application.json" + "$ref": "resources/aws-appsync-domainname.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -13320,9 +13179,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_Input": { + "AWS_StepFunctions_StateMachineAlias": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MediaLive::Input \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html)", + "markdownDescription": "Resource schema for StateMachineAlias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.html)", "allOf": [ { "type": "object", @@ -13330,14 +13189,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::Input" + "AWS::StepFunctions::StateMachineAlias" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MediaLive::Input \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html)" + "Resource schema for StateMachineAlias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-input.json" + "$ref": "resources/aws-stepfunctions-statemachinealias.json" } }, "required": [ @@ -13350,9 +13209,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_LoggerDefinition": { + "AWS_CloudFormation_HookTypeConfig": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::LoggerDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html)", + "markdownDescription": "Specifies the configuration data for a registered hook in CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html)", "allOf": [ { "type": "object", @@ -13360,19 +13219,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::LoggerDefinition" + "AWS::CloudFormation::HookTypeConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::LoggerDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html)" + "Specifies the configuration data for a registered hook in CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-loggerdefinition.json" + "$ref": "resources/aws-cloudformation-hooktypeconfig.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -13381,9 +13239,9 @@ ], "additionalProperties": false }, - "AWS_DataBrew_Project": { + "AWS_AppSync_FunctionConfiguration": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataBrew::Project. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-project.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html)", "allOf": [ { "type": "object", @@ -13391,14 +13249,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataBrew::Project" + "AWS::AppSync::FunctionConfiguration" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataBrew::Project. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-project.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-databrew-project.json" + "$ref": "resources/aws-appsync-functionconfiguration.json" } }, "required": [ @@ -13412,9 +13270,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_IpAccessSettings": { + "AWS_AppMesh_VirtualGateway": { "type": "object", - "markdownDescription": "Definition of AWS::WorkSpacesWeb::IpAccessSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-ipaccesssettings.html)", + "markdownDescription": "Resource Type definition for AWS::AppMesh::VirtualGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html)", "allOf": [ { "type": "object", @@ -13422,14 +13280,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::IpAccessSettings" + "AWS::AppMesh::VirtualGateway" ], "markdownEnumDescriptions": [ - "Definition of AWS::WorkSpacesWeb::IpAccessSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-ipaccesssettings.html)" + "Resource Type definition for AWS::AppMesh::VirtualGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html)" ] }, "Properties": { - "$ref": "resources/aws-workspacesweb-ipaccesssettings.json" + "$ref": "resources/aws-appmesh-virtualgateway.json" } }, "required": [ @@ -13443,9 +13301,9 @@ ], "additionalProperties": false }, - "AWS_MemoryDB_User": { + "AWS_AppMesh_Route": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MemoryDB::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-user.html)", + "markdownDescription": "Resource Type definition for AWS::AppMesh::Route \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html)", "allOf": [ { "type": "object", @@ -13453,14 +13311,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MemoryDB::User" + "AWS::AppMesh::Route" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MemoryDB::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-user.html)" + "Resource Type definition for AWS::AppMesh::Route \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html)" ] }, "Properties": { - "$ref": "resources/aws-memorydb-user.json" + "$ref": "resources/aws-appmesh-route.json" } }, "required": [ @@ -13474,9 +13332,9 @@ ], "additionalProperties": false }, - "AWS_EventSchemas_Registry": { + "AWS_DataSync_LocationS3": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EventSchemas::Registry \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationS3 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locations3.html)", "allOf": [ { "type": "object", @@ -13484,18 +13342,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EventSchemas::Registry" + "AWS::DataSync::LocationS3" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EventSchemas::Registry \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html)" + "Resource schema for AWS::DataSync::LocationS3 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locations3.html)" ] }, "Properties": { - "$ref": "resources/aws-eventschemas-registry.json" + "$ref": "resources/aws-datasync-locations3.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -13504,9 +13363,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_Flow": { + "AWS_NetworkManager_CoreNetwork": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaConnect::Flow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html)", + "markdownDescription": "AWS::NetworkManager::CoreNetwork Resource Type Definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-corenetwork.html)", "allOf": [ { "type": "object", @@ -13514,14 +13373,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::Flow" + "AWS::NetworkManager::CoreNetwork" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::Flow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html)" + "AWS::NetworkManager::CoreNetwork Resource Type Definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-corenetwork.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconnect-flow.json" + "$ref": "resources/aws-networkmanager-corenetwork.json" } }, "required": [ @@ -13535,9 +13394,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_Location": { + "AWS_SageMaker_ModelBiasJobDefinition": { "type": "object", - "markdownDescription": "The AWS::GameLift::Location resource creates an Amazon GameLift (GameLift) custom location. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-location.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelBiasJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelbiasjobdefinition.html)", "allOf": [ { "type": "object", @@ -13545,14 +13404,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::Location" + "AWS::SageMaker::ModelBiasJobDefinition" ], "markdownEnumDescriptions": [ - "The AWS::GameLift::Location resource creates an Amazon GameLift (GameLift) custom location. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-location.html)" + "Resource Type definition for AWS::SageMaker::ModelBiasJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelbiasjobdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-gamelift-location.json" + "$ref": "resources/aws-sagemaker-modelbiasjobdefinition.json" } }, "required": [ @@ -13566,9 +13425,9 @@ ], "additionalProperties": false }, - "AWS_AppRunner_VpcIngressConnection": { + "AWS_EC2_TransitGatewayMulticastGroupSource": { "type": "object", - "markdownDescription": "The AWS::AppRunner::VpcIngressConnection resource is an App Runner resource that specifies an App Runner VpcIngressConnection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-vpcingressconnection.html)", + "markdownDescription": "The AWS::EC2::TransitGatewayMulticastGroupSource registers and deregisters members and sources (network interfaces) with the transit gateway multicast group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html)", "allOf": [ { "type": "object", @@ -13576,14 +13435,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppRunner::VpcIngressConnection" + "AWS::EC2::TransitGatewayMulticastGroupSource" ], "markdownEnumDescriptions": [ - "The AWS::AppRunner::VpcIngressConnection resource is an App Runner resource that specifies an App Runner VpcIngressConnection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-vpcingressconnection.html)" + "The AWS::EC2::TransitGatewayMulticastGroupSource registers and deregisters members and sources (network interfaces) with the transit gateway multicast group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html)" ] }, "Properties": { - "$ref": "resources/aws-apprunner-vpcingressconnection.json" + "$ref": "resources/aws-ec2-transitgatewaymulticastgroupsource.json" } }, "required": [ @@ -13597,9 +13456,9 @@ ], "additionalProperties": false }, - "AWS_StepFunctions_StateMachineAlias": { + "AWS_ServiceCatalog_LaunchTemplateConstraint": { "type": "object", - "markdownDescription": "Resource schema for StateMachineAlias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::LaunchTemplateConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchtemplateconstraint.html)", "allOf": [ { "type": "object", @@ -13607,18 +13466,19 @@ "Type": { "type": "string", "enum": [ - "AWS::StepFunctions::StateMachineAlias" + "AWS::ServiceCatalog::LaunchTemplateConstraint" ], "markdownEnumDescriptions": [ - "Resource schema for StateMachineAlias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.html)" + "Resource Type definition for AWS::ServiceCatalog::LaunchTemplateConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchtemplateconstraint.html)" ] }, "Properties": { - "$ref": "resources/aws-stepfunctions-statemachinealias.json" + "$ref": "resources/aws-servicecatalog-launchtemplateconstraint.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -13627,9 +13487,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_ClientCertificate": { + "AWS_SageMaker_EndpointConfig": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::ClientCertificate`` resource creates a client certificate that API Gateway uses to configure client-side SSL authentication for sending requests to the integration endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::EndpointConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html)", "allOf": [ { "type": "object", @@ -13637,18 +13497,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::ClientCertificate" + "AWS::SageMaker::EndpointConfig" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::ClientCertificate`` resource creates a client certificate that API Gateway uses to configure client-side SSL authentication for sending requests to the integration endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html)" + "Resource Type definition for AWS::SageMaker::EndpointConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-clientcertificate.json" + "$ref": "resources/aws-sagemaker-endpointconfig.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -13657,9 +13518,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_Application": { + "AWS_Glue_Database": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::Database \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-database.html)", "allOf": [ { "type": "object", @@ -13667,14 +13528,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::Application" + "AWS::Glue::Database" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html)" + "Resource Type definition for AWS::Glue::Database \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-database.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-application.json" + "$ref": "resources/aws-glue-database.json" } }, "required": [ @@ -13688,9 +13549,9 @@ ], "additionalProperties": false }, - "AWS_RAM_Permission": { + "AWS_Route53Resolver_ResolverEndpoint": { "type": "object", - "markdownDescription": "Resource type definition for AWS::RAM::Permission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permission.html)", + "markdownDescription": "Resource Type definition for AWS::Route53Resolver::ResolverEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html)", "allOf": [ { "type": "object", @@ -13698,14 +13559,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RAM::Permission" + "AWS::Route53Resolver::ResolverEndpoint" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::RAM::Permission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permission.html)" + "Resource Type definition for AWS::Route53Resolver::ResolverEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-ram-permission.json" + "$ref": "resources/aws-route53resolver-resolverendpoint.json" } }, "required": [ @@ -13719,9 +13580,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_Agent": { + "AWS_WAFRegional_IPSet": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::Agent. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html)", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ipset.html)", "allOf": [ { "type": "object", @@ -13729,18 +13590,19 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::Agent" + "AWS::WAFRegional::IPSet" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::Agent. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html)" + "Resource Type definition for AWS::WAFRegional::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ipset.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-agent.json" + "$ref": "resources/aws-wafregional-ipset.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -13749,9 +13611,9 @@ ], "additionalProperties": false }, - "AWS_MSK_Configuration": { + "AWS_AppMesh_VirtualService": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MSK::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html)", + "markdownDescription": "Resource Type definition for AWS::AppMesh::VirtualService \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html)", "allOf": [ { "type": "object", @@ -13759,14 +13621,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MSK::Configuration" + "AWS::AppMesh::VirtualService" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MSK::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html)" + "Resource Type definition for AWS::AppMesh::VirtualService \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html)" ] }, "Properties": { - "$ref": "resources/aws-msk-configuration.json" + "$ref": "resources/aws-appmesh-virtualservice.json" } }, "required": [ @@ -13780,9 +13642,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_ImageRecipe": { + "AWS_GameLift_MatchmakingConfiguration": { "type": "object", - "markdownDescription": "Resource schema for AWS::ImageBuilder::ImageRecipe \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html)", + "markdownDescription": "The AWS::GameLift::MatchmakingConfiguration resource creates an Amazon GameLift (GameLift) matchmaking configuration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html)", "allOf": [ { "type": "object", @@ -13790,14 +13652,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::ImageRecipe" + "AWS::GameLift::MatchmakingConfiguration" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::ImageRecipe \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html)" + "The AWS::GameLift::MatchmakingConfiguration resource creates an Amazon GameLift (GameLift) matchmaking configuration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-imagebuilder-imagerecipe.json" + "$ref": "resources/aws-gamelift-matchmakingconfiguration.json" } }, "required": [ @@ -13811,9 +13673,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_Stack": { + "AWS_SSMContacts_ContactChannel": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::Stack \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html)", + "markdownDescription": "Resource Type definition for AWS::SSMContacts::ContactChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contactchannel.html)", "allOf": [ { "type": "object", @@ -13821,14 +13683,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::Stack" + "AWS::SSMContacts::ContactChannel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::Stack \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html)" + "Resource Type definition for AWS::SSMContacts::ContactChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contactchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-stack.json" + "$ref": "resources/aws-ssmcontacts-contactchannel.json" } }, "required": [ @@ -13841,9 +13703,9 @@ ], "additionalProperties": false }, - "AWS_Lex_Bot": { + "AWS_MediaPackage_Channel": { "type": "object", - "markdownDescription": "Amazon Lex conversational bot performing automated tasks such as ordering a pizza, booking a hotel, and so on. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html)", + "markdownDescription": "Resource schema for AWS::MediaPackage::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html)", "allOf": [ { "type": "object", @@ -13851,14 +13713,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lex::Bot" + "AWS::MediaPackage::Channel" ], "markdownEnumDescriptions": [ - "Amazon Lex conversational bot performing automated tasks such as ordering a pizza, booking a hotel, and so on. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html)" + "Resource schema for AWS::MediaPackage::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html)" ] }, "Properties": { - "$ref": "resources/aws-lex-bot.json" + "$ref": "resources/aws-mediapackage-channel.json" } }, "required": [ @@ -13872,9 +13734,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_AcceptedPortfolioShare": { + "AWS_SES_MailManagerAddonSubscription": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::AcceptedPortfolioShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-acceptedportfolioshare.html)", + "markdownDescription": "Definition of AWS::SES::MailManagerAddonSubscription Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddonsubscription.html)", "allOf": [ { "type": "object", @@ -13882,14 +13744,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::AcceptedPortfolioShare" + "AWS::SES::MailManagerAddonSubscription" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::AcceptedPortfolioShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-acceptedportfolioshare.html)" + "Definition of AWS::SES::MailManagerAddonSubscription Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddonsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-acceptedportfolioshare.json" + "$ref": "resources/aws-ses-mailmanageraddonsubscription.json" } }, "required": [ @@ -13903,9 +13765,9 @@ ], "additionalProperties": false }, - "AWS_CustomerProfiles_CalculatedAttributeDefinition": { + "AWS_IoT_AccountAuditConfiguration": { "type": "object", - "markdownDescription": "A calculated attribute definition for Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-calculatedattributedefinition.html)", + "markdownDescription": "Configures the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-accountauditconfiguration.html)", "allOf": [ { "type": "object", @@ -13913,14 +13775,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CustomerProfiles::CalculatedAttributeDefinition" + "AWS::IoT::AccountAuditConfiguration" ], "markdownEnumDescriptions": [ - "A calculated attribute definition for Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-calculatedattributedefinition.html)" + "Configures the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-accountauditconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-customerprofiles-calculatedattributedefinition.json" + "$ref": "resources/aws-iot-accountauditconfiguration.json" } }, "required": [ @@ -13934,9 +13796,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_CloudWatchAlarmTemplateGroup": { + "AWS_CodeDeploy_Application": { "type": "object", - "markdownDescription": "Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cloudwatchalarmtemplategroup.html)", + "markdownDescription": "The AWS::CodeDeploy::Application resource creates an AWS CodeDeploy application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html)", "allOf": [ { "type": "object", @@ -13944,19 +13806,18 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::CloudWatchAlarmTemplateGroup" + "AWS::CodeDeploy::Application" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cloudwatchalarmtemplategroup.html)" + "The AWS::CodeDeploy::Application resource creates an AWS CodeDeploy application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-cloudwatchalarmtemplategroup.json" + "$ref": "resources/aws-codedeploy-application.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -13965,9 +13826,9 @@ ], "additionalProperties": false }, - "AWS_S3_Bucket": { + "AWS_Panorama_ApplicationInstance": { "type": "object", - "markdownDescription": "The ``AWS::S3::Bucket`` resource creates an Amazon S3 bucket in the same AWS Region where you create the AWS CloudFormation stack.\n To control how AWS CloudFormation handles the bucket when the stack is deleted, you can set a deletion policy for your bucket. You can choose to *retain* the bucket or to *delete* the bucket. For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).\n You can only delete empty buckets. Deletion fails for buckets that have contents. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucket.html)", + "markdownDescription": "Creates an application instance and deploys it to a device. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-applicationinstance.html)", "allOf": [ { "type": "object", @@ -13975,18 +13836,19 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::Bucket" + "AWS::Panorama::ApplicationInstance" ], "markdownEnumDescriptions": [ - "The ``AWS::S3::Bucket`` resource creates an Amazon S3 bucket in the same AWS Region where you create the AWS CloudFormation stack.\n To control how AWS CloudFormation handles the bucket when the stack is deleted, you can set a deletion policy for your bucket. You can choose to *retain* the bucket or to *delete* the bucket. For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).\n You can only delete empty buckets. Deletion fails for buckets that have contents. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucket.html)" + "Creates an application instance and deploys it to a device. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-applicationinstance.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-bucket.json" + "$ref": "resources/aws-panorama-applicationinstance.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -13995,9 +13857,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_NotebookInstanceLifecycleConfig": { + "AWS_AmplifyUIBuilder_Component": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::NotebookInstanceLifecycleConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstancelifecycleconfig.html)", + "markdownDescription": "Definition of AWS::AmplifyUIBuilder::Component Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-component.html)", "allOf": [ { "type": "object", @@ -14005,14 +13867,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::NotebookInstanceLifecycleConfig" + "AWS::AmplifyUIBuilder::Component" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::NotebookInstanceLifecycleConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstancelifecycleconfig.html)" + "Definition of AWS::AmplifyUIBuilder::Component Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-component.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-notebookinstancelifecycleconfig.json" + "$ref": "resources/aws-amplifyuibuilder-component.json" } }, "required": [ @@ -14025,9 +13887,9 @@ ], "additionalProperties": false }, - "AWS_Backup_BackupPlan": { + "AWS_DMS_DataMigration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Backup::BackupPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupplan.html)", + "markdownDescription": "Resource schema for AWS::DMS::DataMigration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-datamigration.html)", "allOf": [ { "type": "object", @@ -14035,14 +13897,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Backup::BackupPlan" + "AWS::DMS::DataMigration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Backup::BackupPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupplan.html)" + "Resource schema for AWS::DMS::DataMigration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-datamigration.html)" ] }, "Properties": { - "$ref": "resources/aws-backup-backupplan.json" + "$ref": "resources/aws-dms-datamigration.json" } }, "required": [ @@ -14056,9 +13918,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_LicenseEndpoint": { + "AWS_IAM_ServerCertificate": { "type": "object", - "markdownDescription": "Definition of AWS::Deadline::LicenseEndpoint Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-licenseendpoint.html)", + "markdownDescription": "Resource Type definition for AWS::IAM::ServerCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servercertificate.html)", "allOf": [ { "type": "object", @@ -14066,19 +13928,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::LicenseEndpoint" + "AWS::IAM::ServerCertificate" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::LicenseEndpoint Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-licenseendpoint.html)" + "Resource Type definition for AWS::IAM::ServerCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servercertificate.html)" ] }, "Properties": { - "$ref": "resources/aws-deadline-licenseendpoint.json" + "$ref": "resources/aws-iam-servercertificate.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -14087,9 +13948,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_TransitGatewayRegistration": { + "AWS_Location_PlaceIndex": { "type": "object", - "markdownDescription": "The AWS::NetworkManager::TransitGatewayRegistration type registers a transit gateway in your global network. The transit gateway can be in any AWS Region, but it must be owned by the same AWS account that owns the global network. You cannot register a transit gateway in more than one global network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.html)", + "markdownDescription": "Definition of AWS::Location::PlaceIndex Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-placeindex.html)", "allOf": [ { "type": "object", @@ -14097,14 +13958,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::TransitGatewayRegistration" + "AWS::Location::PlaceIndex" ], "markdownEnumDescriptions": [ - "The AWS::NetworkManager::TransitGatewayRegistration type registers a transit gateway in your global network. The transit gateway can be in any AWS Region, but it must be owned by the same AWS account that owns the global network. You cannot register a transit gateway in more than one global network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.html)" + "Definition of AWS::Location::PlaceIndex Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-placeindex.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-transitgatewayregistration.json" + "$ref": "resources/aws-location-placeindex.json" } }, "required": [ @@ -14118,9 +13979,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_CloudFrontOriginAccessIdentity": { + "AWS_AppConfig_HostedConfigurationVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::CloudFrontOriginAccessIdentity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cloudfrontoriginaccessidentity.html)", + "markdownDescription": "Resource Type definition for AWS::AppConfig::HostedConfigurationVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html)", "allOf": [ { "type": "object", @@ -14128,14 +13989,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::CloudFrontOriginAccessIdentity" + "AWS::AppConfig::HostedConfigurationVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::CloudFrontOriginAccessIdentity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cloudfrontoriginaccessidentity.html)" + "Resource Type definition for AWS::AppConfig::HostedConfigurationVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-cloudfrontoriginaccessidentity.json" + "$ref": "resources/aws-appconfig-hostedconfigurationversion.json" } }, "required": [ @@ -14149,9 +14010,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_UserAccessLoggingSettings": { + "AWS_AppIntegrations_DataIntegration": { "type": "object", - "markdownDescription": "Definition of AWS::WorkSpacesWeb::UserAccessLoggingSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-useraccessloggingsettings.html)", + "markdownDescription": "Resource Type definition for AWS::AppIntegrations::DataIntegration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html)", "allOf": [ { "type": "object", @@ -14159,14 +14020,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::UserAccessLoggingSettings" + "AWS::AppIntegrations::DataIntegration" ], "markdownEnumDescriptions": [ - "Definition of AWS::WorkSpacesWeb::UserAccessLoggingSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-useraccessloggingsettings.html)" + "Resource Type definition for AWS::AppIntegrations::DataIntegration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html)" ] }, "Properties": { - "$ref": "resources/aws-workspacesweb-useraccessloggingsettings.json" + "$ref": "resources/aws-appintegrations-dataintegration.json" } }, "required": [ @@ -14180,9 +14041,9 @@ ], "additionalProperties": false }, - "AWS_Forecast_Dataset": { + "AWS_QuickSight_Folder": { "type": "object", - "markdownDescription": "Resource Type Definition for AWS::Forecast::Dataset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-forecast-dataset.html)", + "markdownDescription": "Definition of the AWS::QuickSight::Folder Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-folder.html)", "allOf": [ { "type": "object", @@ -14190,19 +14051,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Forecast::Dataset" + "AWS::QuickSight::Folder" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::Forecast::Dataset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-forecast-dataset.html)" + "Definition of the AWS::QuickSight::Folder Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-folder.html)" ] }, "Properties": { - "$ref": "resources/aws-forecast-dataset.json" + "$ref": "resources/aws-quicksight-folder.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -14211,9 +14071,9 @@ ], "additionalProperties": false }, - "AWS_Connect_PhoneNumber": { + "AWS_GameLift_MatchmakingRuleSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::PhoneNumber \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-phonenumber.html)", + "markdownDescription": "The AWS::GameLift::MatchmakingRuleSet resource creates an Amazon GameLift (GameLift) matchmaking rule set. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingruleset.html)", "allOf": [ { "type": "object", @@ -14221,14 +14081,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::PhoneNumber" + "AWS::GameLift::MatchmakingRuleSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::PhoneNumber \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-phonenumber.html)" + "The AWS::GameLift::MatchmakingRuleSet resource creates an Amazon GameLift (GameLift) matchmaking rule set. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingruleset.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-phonenumber.json" + "$ref": "resources/aws-gamelift-matchmakingruleset.json" } }, "required": [ @@ -14242,9 +14102,9 @@ ], "additionalProperties": false }, - "AWS_IoTFleetWise_Fleet": { + "AWS_KinesisAnalytics_ApplicationReferenceDataSource": { "type": "object", - "markdownDescription": "Definition of AWS::IoTFleetWise::Fleet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-fleet.html)", + "markdownDescription": "Resource Type definition for AWS::KinesisAnalytics::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationreferencedatasource.html)", "allOf": [ { "type": "object", @@ -14252,14 +14112,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTFleetWise::Fleet" + "AWS::KinesisAnalytics::ApplicationReferenceDataSource" ], "markdownEnumDescriptions": [ - "Definition of AWS::IoTFleetWise::Fleet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-fleet.html)" + "Resource Type definition for AWS::KinesisAnalytics::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationreferencedatasource.html)" ] }, "Properties": { - "$ref": "resources/aws-iotfleetwise-fleet.json" + "$ref": "resources/aws-kinesisanalytics-applicationreferencedatasource.json" } }, "required": [ @@ -14273,9 +14133,9 @@ ], "additionalProperties": false }, - "AWS_MediaTailor_VodSource": { + "AWS_AppStream_StackUserAssociation": { "type": "object", - "markdownDescription": "Definition of AWS::MediaTailor::VodSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-vodsource.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::StackUserAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html)", "allOf": [ { "type": "object", @@ -14283,14 +14143,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaTailor::VodSource" + "AWS::AppStream::StackUserAssociation" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaTailor::VodSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-vodsource.html)" + "Resource Type definition for AWS::AppStream::StackUserAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-mediatailor-vodsource.json" + "$ref": "resources/aws-appstream-stackuserassociation.json" } }, "required": [ @@ -14304,9 +14164,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationNFS": { + "AWS_IoTFleetWise_SignalCatalog": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationNFS \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationnfs.html)", + "markdownDescription": "Definition of AWS::IoTFleetWise::SignalCatalog Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-signalcatalog.html)", "allOf": [ { "type": "object", @@ -14314,19 +14174,18 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationNFS" + "AWS::IoTFleetWise::SignalCatalog" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationNFS \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationnfs.html)" + "Definition of AWS::IoTFleetWise::SignalCatalog Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-signalcatalog.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationnfs.json" + "$ref": "resources/aws-iotfleetwise-signalcatalog.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -14335,9 +14194,9 @@ ], "additionalProperties": false }, - "AWS_NetworkFirewall_TLSInspectionConfiguration": { + "AWS_RDS_DBProxy": { "type": "object", - "markdownDescription": "Resource type definition for AWS::NetworkFirewall::TLSInspectionConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-tlsinspectionconfiguration.html)", + "markdownDescription": "Resource schema for AWS::RDS::DBProxy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html)", "allOf": [ { "type": "object", @@ -14345,14 +14204,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkFirewall::TLSInspectionConfiguration" + "AWS::RDS::DBProxy" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::NetworkFirewall::TLSInspectionConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-tlsinspectionconfiguration.html)" + "Resource schema for AWS::RDS::DBProxy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html)" ] }, "Properties": { - "$ref": "resources/aws-networkfirewall-tlsinspectionconfiguration.json" + "$ref": "resources/aws-rds-dbproxy.json" } }, "required": [ @@ -14366,9 +14225,9 @@ ], "additionalProperties": false }, - "AWS_Budgets_Budget": { + "AWS_WorkSpaces_ConnectionAlias": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Budgets::Budget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html)", + "markdownDescription": "Resource Type definition for AWS::WorkSpaces::ConnectionAlias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-connectionalias.html)", "allOf": [ { "type": "object", @@ -14376,14 +14235,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Budgets::Budget" + "AWS::WorkSpaces::ConnectionAlias" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Budgets::Budget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html)" + "Resource Type definition for AWS::WorkSpaces::ConnectionAlias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-connectionalias.html)" ] }, "Properties": { - "$ref": "resources/aws-budgets-budget.json" + "$ref": "resources/aws-workspaces-connectionalias.json" } }, "required": [ @@ -14397,9 +14256,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_Collaboration": { + "AWS_Redshift_EventSubscription": { "type": "object", - "markdownDescription": "Represents a collaboration between AWS accounts that allows for secure data collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-collaboration.html)", + "markdownDescription": "The `AWS::Redshift::EventSubscription` resource creates an Amazon Redshift Event Subscription. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-eventsubscription.html)", "allOf": [ { "type": "object", @@ -14407,14 +14266,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::Collaboration" + "AWS::Redshift::EventSubscription" ], "markdownEnumDescriptions": [ - "Represents a collaboration between AWS accounts that allows for secure data collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-collaboration.html)" + "The `AWS::Redshift::EventSubscription` resource creates an Amazon Redshift Event Subscription. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-eventsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-cleanrooms-collaboration.json" + "$ref": "resources/aws-redshift-eventsubscription.json" } }, "required": [ @@ -14428,9 +14287,9 @@ ], "additionalProperties": false }, - "AWS_SES_ContactList": { + "AWS_IVSChat_Room": { "type": "object", - "markdownDescription": "Resource schema for AWS::SES::ContactList. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-contactlist.html)", + "markdownDescription": "Resource type definition for AWS::IVSChat::Room. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html)", "allOf": [ { "type": "object", @@ -14438,14 +14297,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::ContactList" + "AWS::IVSChat::Room" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::SES::ContactList. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-contactlist.html)" + "Resource type definition for AWS::IVSChat::Room. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-contactlist.json" + "$ref": "resources/aws-ivschat-room.json" } }, "required": [ @@ -14458,9 +14317,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_ChannelPlacementGroup": { + "AWS_ElastiCache_UserGroup": { "type": "object", - "markdownDescription": "Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channelplacementgroup.html)", + "markdownDescription": "Resource Type definition for AWS::ElastiCache::UserGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html)", "allOf": [ { "type": "object", @@ -14468,18 +14327,19 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::ChannelPlacementGroup" + "AWS::ElastiCache::UserGroup" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channelplacementgroup.html)" + "Resource Type definition for AWS::ElastiCache::UserGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-channelplacementgroup.json" + "$ref": "resources/aws-elasticache-usergroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -14488,9 +14348,9 @@ ], "additionalProperties": false }, - "AWS_Config_RemediationConfiguration": { + "AWS_CloudFront_KeyGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Config::RemediationConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html)", + "markdownDescription": "A key group.\n A key group contains a list of public keys that you can use with [CloudFront signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keygroup.html)", "allOf": [ { "type": "object", @@ -14498,14 +14358,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::RemediationConfiguration" + "AWS::CloudFront::KeyGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Config::RemediationConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html)" + "A key group.\n A key group contains a list of public keys that you can use with [CloudFront signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keygroup.html)" ] }, "Properties": { - "$ref": "resources/aws-config-remediationconfiguration.json" + "$ref": "resources/aws-cloudfront-keygroup.json" } }, "required": [ @@ -14519,9 +14379,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_Script": { + "AWS_CloudFormation_WaitCondition": { "type": "object", - "markdownDescription": "The AWS::GameLift::Script resource creates a new script record for your Realtime Servers script. Realtime scripts are JavaScript that provide configuration settings and optional custom game logic for your game. The script is deployed when you create a Realtime Servers fleet to host your game sessions. Script logic is executed during an active game session. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-script.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFormation::WaitCondition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitcondition.html)", "allOf": [ { "type": "object", @@ -14529,19 +14389,18 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::Script" + "AWS::CloudFormation::WaitCondition" ], "markdownEnumDescriptions": [ - "The AWS::GameLift::Script resource creates a new script record for your Realtime Servers script. Realtime scripts are JavaScript that provide configuration settings and optional custom game logic for your game. The script is deployed when you create a Realtime Servers fleet to host your game sessions. Script logic is executed during an active game session. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-script.html)" + "Resource Type definition for AWS::CloudFormation::WaitCondition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitcondition.html)" ] }, "Properties": { - "$ref": "resources/aws-gamelift-script.json" + "$ref": "resources/aws-cloudformation-waitcondition.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -14550,9 +14409,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBClusterParameterGroup": { + "AWS_MSK_VpcConnection": { "type": "object", - "markdownDescription": "The ``AWS::RDS::DBClusterParameterGroup`` resource creates a new Amazon RDS DB cluster parameter group.\n For information about configuring parameters for Amazon Aurora DB clusters, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide*.\n If you apply a parameter group to a DB cluster, then its DB instances might need to reboot. This can result in an outage while the DB instances are rebooting.\n If you apply a change to parameter group associated with a stopped DB cluster, then the updated stack waits until the DB cluster is started. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html)", + "markdownDescription": "Resource Type definition for AWS::MSK::VpcConnection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-vpcconnection.html)", "allOf": [ { "type": "object", @@ -14560,14 +14419,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBClusterParameterGroup" + "AWS::MSK::VpcConnection" ], "markdownEnumDescriptions": [ - "The ``AWS::RDS::DBClusterParameterGroup`` resource creates a new Amazon RDS DB cluster parameter group.\n For information about configuring parameters for Amazon Aurora DB clusters, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide*.\n If you apply a parameter group to a DB cluster, then its DB instances might need to reboot. This can result in an outage while the DB instances are rebooting.\n If you apply a change to parameter group associated with a stopped DB cluster, then the updated stack waits until the DB cluster is started. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html)" + "Resource Type definition for AWS::MSK::VpcConnection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-vpcconnection.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbclusterparametergroup.json" + "$ref": "resources/aws-msk-vpcconnection.json" } }, "required": [ @@ -14581,9 +14440,9 @@ ], "additionalProperties": false }, - "AWS_GuardDuty_MalwareProtectionPlan": { + "AWS_QuickSight_RefreshSchedule": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GuardDuty::MalwareProtectionPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-malwareprotectionplan.html)", + "markdownDescription": "Definition of the AWS::QuickSight::RefreshSchedule Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-refreshschedule.html)", "allOf": [ { "type": "object", @@ -14591,19 +14450,18 @@ "Type": { "type": "string", "enum": [ - "AWS::GuardDuty::MalwareProtectionPlan" + "AWS::QuickSight::RefreshSchedule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GuardDuty::MalwareProtectionPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-malwareprotectionplan.html)" + "Definition of the AWS::QuickSight::RefreshSchedule Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-refreshschedule.html)" ] }, "Properties": { - "$ref": "resources/aws-guardduty-malwareprotectionplan.json" + "$ref": "resources/aws-quicksight-refreshschedule.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -14612,9 +14470,9 @@ ], "additionalProperties": false }, - "AWS_Transfer_Profile": { + "AWS_NetworkManager_GlobalNetwork": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Transfer::Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-profile.html)", + "markdownDescription": "The AWS::NetworkManager::GlobalNetwork type specifies a global network of the user's account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html)", "allOf": [ { "type": "object", @@ -14622,19 +14480,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Transfer::Profile" + "AWS::NetworkManager::GlobalNetwork" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Transfer::Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-profile.html)" + "The AWS::NetworkManager::GlobalNetwork type specifies a global network of the user's account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html)" ] }, "Properties": { - "$ref": "resources/aws-transfer-profile.json" + "$ref": "resources/aws-networkmanager-globalnetwork.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -14643,9 +14500,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalogAppRegistry_ResourceAssociation": { + "AWS_Wisdom_AIAgentVersion": { "type": "object", - "markdownDescription": "Resource Schema for AWS::ServiceCatalogAppRegistry::ResourceAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-resourceassociation.html)", + "markdownDescription": "Definition of AWS::Wisdom::AIAgentVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-aiagentversion.html)", "allOf": [ { "type": "object", @@ -14653,14 +14510,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalogAppRegistry::ResourceAssociation" + "AWS::Wisdom::AIAgentVersion" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::ServiceCatalogAppRegistry::ResourceAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-resourceassociation.html)" + "Definition of AWS::Wisdom::AIAgentVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-aiagentversion.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalogappregistry-resourceassociation.json" + "$ref": "resources/aws-wisdom-aiagentversion.json" } }, "required": [ @@ -14674,9 +14531,9 @@ ], "additionalProperties": false }, - "AWS_CodeStarConnections_RepositoryLink": { + "AWS_OpsWorks_App": { "type": "object", - "markdownDescription": "Schema for AWS::CodeStarConnections::RepositoryLink resource which is used to aggregate repository metadata relevant to synchronizing source provider content to AWS Resources. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-repositorylink.html)", + "markdownDescription": "Resource Type definition for AWS::OpsWorks::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html)", "allOf": [ { "type": "object", @@ -14684,14 +14541,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeStarConnections::RepositoryLink" + "AWS::OpsWorks::App" ], "markdownEnumDescriptions": [ - "Schema for AWS::CodeStarConnections::RepositoryLink resource which is used to aggregate repository metadata relevant to synchronizing source provider content to AWS Resources. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-repositorylink.html)" + "Resource Type definition for AWS::OpsWorks::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html)" ] }, "Properties": { - "$ref": "resources/aws-codestarconnections-repositorylink.json" + "$ref": "resources/aws-opsworks-app.json" } }, "required": [ @@ -14705,9 +14562,9 @@ ], "additionalProperties": false }, - "AWS_IoTSiteWise_AssetModel": { + "AWS_DMS_EventSubscription": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTSiteWise::AssetModel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-assetmodel.html)", + "markdownDescription": "Resource Type definition for AWS::DMS::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html)", "allOf": [ { "type": "object", @@ -14715,14 +14572,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTSiteWise::AssetModel" + "AWS::DMS::EventSubscription" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTSiteWise::AssetModel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-assetmodel.html)" + "Resource Type definition for AWS::DMS::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-iotsitewise-assetmodel.json" + "$ref": "resources/aws-dms-eventsubscription.json" } }, "required": [ @@ -14736,9 +14593,9 @@ ], "additionalProperties": false }, - "AWS_QBusiness_Index": { + "AWS_MediaConvert_Preset": { "type": "object", - "markdownDescription": "Definition of AWS::QBusiness::Index Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-index.html)", + "markdownDescription": "Resource Type definition for AWS::MediaConvert::Preset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html)", "allOf": [ { "type": "object", @@ -14746,14 +14603,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QBusiness::Index" + "AWS::MediaConvert::Preset" ], "markdownEnumDescriptions": [ - "Definition of AWS::QBusiness::Index Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-index.html)" + "Resource Type definition for AWS::MediaConvert::Preset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html)" ] }, "Properties": { - "$ref": "resources/aws-qbusiness-index.json" + "$ref": "resources/aws-mediaconvert-preset.json" } }, "required": [ @@ -14767,9 +14624,9 @@ ], "additionalProperties": false }, - "AWS_PCAConnectorSCEP_Challenge": { + "AWS_EC2_VerifiedAccessEndpoint": { "type": "object", - "markdownDescription": "Represents a SCEP Challenge that is used for certificate enrollment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorscep-challenge.html)", + "markdownDescription": "The AWS::EC2::VerifiedAccessEndpoint resource creates an AWS EC2 Verified Access Endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html)", "allOf": [ { "type": "object", @@ -14777,14 +14634,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PCAConnectorSCEP::Challenge" + "AWS::EC2::VerifiedAccessEndpoint" ], "markdownEnumDescriptions": [ - "Represents a SCEP Challenge that is used for certificate enrollment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorscep-challenge.html)" + "The AWS::EC2::VerifiedAccessEndpoint resource creates an AWS EC2 Verified Access Endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-pcaconnectorscep-challenge.json" + "$ref": "resources/aws-ec2-verifiedaccessendpoint.json" } }, "required": [ @@ -14798,9 +14655,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_Domain": { + "AWS_SageMaker_StudioLifecycleConfig": { "type": "object", - "markdownDescription": "A domain is an organizing entity for connecting together assets, users, and their projects \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-domain.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::StudioLifecycleConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-studiolifecycleconfig.html)", "allOf": [ { "type": "object", @@ -14808,14 +14665,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::Domain" + "AWS::SageMaker::StudioLifecycleConfig" ], "markdownEnumDescriptions": [ - "A domain is an organizing entity for connecting together assets, users, and their projects \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-domain.html)" + "Resource Type definition for AWS::SageMaker::StudioLifecycleConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-studiolifecycleconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-domain.json" + "$ref": "resources/aws-sagemaker-studiolifecycleconfig.json" } }, "required": [ @@ -14829,9 +14686,9 @@ ], "additionalProperties": false }, - "AWS_MediaTailor_SourceLocation": { + "AWS_IoTWireless_WirelessDeviceImportTask": { "type": "object", - "markdownDescription": "Definition of AWS::MediaTailor::SourceLocation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-sourcelocation.html)", + "markdownDescription": "Wireless Device Import Tasks \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdeviceimporttask.html)", "allOf": [ { "type": "object", @@ -14839,14 +14696,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaTailor::SourceLocation" + "AWS::IoTWireless::WirelessDeviceImportTask" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaTailor::SourceLocation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-sourcelocation.html)" + "Wireless Device Import Tasks \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdeviceimporttask.html)" ] }, "Properties": { - "$ref": "resources/aws-mediatailor-sourcelocation.json" + "$ref": "resources/aws-iotwireless-wirelessdeviceimporttask.json" } }, "required": [ @@ -14860,9 +14717,9 @@ ], "additionalProperties": false }, - "AWS_EMR_Cluster": { + "AWS_M2_Environment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EMR::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html)", + "markdownDescription": "Represents a runtime environment that can run migrated mainframe applications. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-m2-environment.html)", "allOf": [ { "type": "object", @@ -14870,14 +14727,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::Cluster" + "AWS::M2::Environment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EMR::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html)" + "Represents a runtime environment that can run migrated mainframe applications. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-m2-environment.html)" ] }, "Properties": { - "$ref": "resources/aws-emr-cluster.json" + "$ref": "resources/aws-m2-environment.json" } }, "required": [ @@ -14891,9 +14748,9 @@ ], "additionalProperties": false }, - "AWS_Kendra_DataSource": { + "AWS_Pinpoint_SMSChannel": { "type": "object", - "markdownDescription": "Kendra DataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::SMSChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smschannel.html)", "allOf": [ { "type": "object", @@ -14901,14 +14758,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Kendra::DataSource" + "AWS::Pinpoint::SMSChannel" ], "markdownEnumDescriptions": [ - "Kendra DataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html)" + "Resource Type definition for AWS::Pinpoint::SMSChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smschannel.html)" ] }, "Properties": { - "$ref": "resources/aws-kendra-datasource.json" + "$ref": "resources/aws-pinpoint-smschannel.json" } }, "required": [ @@ -14922,9 +14779,9 @@ ], "additionalProperties": false }, - "AWS_Location_Map": { + "AWS_CustomerProfiles_Integration": { "type": "object", - "markdownDescription": "Definition of AWS::Location::Map Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-map.html)", + "markdownDescription": "The resource schema for creating an Amazon Connect Customer Profiles Integration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-integration.html)", "allOf": [ { "type": "object", @@ -14932,14 +14789,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Location::Map" + "AWS::CustomerProfiles::Integration" ], "markdownEnumDescriptions": [ - "Definition of AWS::Location::Map Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-map.html)" + "The resource schema for creating an Amazon Connect Customer Profiles Integration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-integration.html)" ] }, "Properties": { - "$ref": "resources/aws-location-map.json" + "$ref": "resources/aws-customerprofiles-integration.json" } }, "required": [ @@ -14953,9 +14810,9 @@ ], "additionalProperties": false }, - "AWS_FSx_StorageVirtualMachine": { + "AWS_Bedrock_DataSource": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::FSx::StorageVirtualMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-storagevirtualmachine.html)", + "markdownDescription": "Definition of AWS::Bedrock::DataSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html)", "allOf": [ { "type": "object", @@ -14963,14 +14820,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FSx::StorageVirtualMachine" + "AWS::Bedrock::DataSource" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::FSx::StorageVirtualMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-storagevirtualmachine.html)" + "Definition of AWS::Bedrock::DataSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html)" ] }, "Properties": { - "$ref": "resources/aws-fsx-storagevirtualmachine.json" + "$ref": "resources/aws-bedrock-datasource.json" } }, "required": [ @@ -14984,9 +14841,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_CloudFormationProvisionedProduct": { + "AWS_MemoryDB_User": { "type": "object", - "markdownDescription": "Resource Schema for AWS::ServiceCatalog::CloudFormationProvisionedProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html)", + "markdownDescription": "Resource Type definition for AWS::MemoryDB::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-user.html)", "allOf": [ { "type": "object", @@ -14994,18 +14851,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::CloudFormationProvisionedProduct" + "AWS::MemoryDB::User" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::ServiceCatalog::CloudFormationProvisionedProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html)" + "Resource Type definition for AWS::MemoryDB::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-user.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-cloudformationprovisionedproduct.json" + "$ref": "resources/aws-memorydb-user.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -15014,9 +14872,9 @@ ], "additionalProperties": false }, - "AWS_DMS_DataProvider": { + "AWS_DocDBElastic_Cluster": { "type": "object", - "markdownDescription": "Resource schema for AWS::DMS::DataProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-dataprovider.html)", + "markdownDescription": "The AWS::DocDBElastic::Cluster Amazon DocumentDB (with MongoDB compatibility) Elastic Scale resource describes a Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdbelastic-cluster.html)", "allOf": [ { "type": "object", @@ -15024,14 +14882,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::DataProvider" + "AWS::DocDBElastic::Cluster" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DMS::DataProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-dataprovider.html)" + "The AWS::DocDBElastic::Cluster Amazon DocumentDB (with MongoDB compatibility) Elastic Scale resource describes a Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdbelastic-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-dms-dataprovider.json" + "$ref": "resources/aws-docdbelastic-cluster.json" } }, "required": [ @@ -15045,9 +14903,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryReadiness_ReadinessCheck": { + "AWS_Connect_ApprovedOrigin": { "type": "object", - "markdownDescription": "Aws Route53 Recovery Readiness Check Schema and API specification. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-readinesscheck.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::ApprovedOrigin \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-approvedorigin.html)", "allOf": [ { "type": "object", @@ -15055,18 +14913,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryReadiness::ReadinessCheck" + "AWS::Connect::ApprovedOrigin" ], "markdownEnumDescriptions": [ - "Aws Route53 Recovery Readiness Check Schema and API specification. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-readinesscheck.html)" + "Resource Type definition for AWS::Connect::ApprovedOrigin \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-approvedorigin.html)" ] }, "Properties": { - "$ref": "resources/aws-route53recoveryreadiness-readinesscheck.json" + "$ref": "resources/aws-connect-approvedorigin.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -15075,9 +14934,9 @@ ], "additionalProperties": false }, - "AWS_Batch_JobQueue": { + "AWS_EntityResolution_IdMappingWorkflow": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Batch::JobQueue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html)", + "markdownDescription": "IdMappingWorkflow defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idmappingworkflow.html)", "allOf": [ { "type": "object", @@ -15085,14 +14944,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Batch::JobQueue" + "AWS::EntityResolution::IdMappingWorkflow" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Batch::JobQueue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html)" + "IdMappingWorkflow defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idmappingworkflow.html)" ] }, "Properties": { - "$ref": "resources/aws-batch-jobqueue.json" + "$ref": "resources/aws-entityresolution-idmappingworkflow.json" } }, "required": [ @@ -15106,9 +14965,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_NetworkSettings": { + "AWS_CloudTrail_Dashboard": { "type": "object", - "markdownDescription": "Definition of AWS::WorkSpacesWeb::NetworkSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-networksettings.html)", + "markdownDescription": "The Amazon CloudTrail dashboard resource allows customers to manage managed dashboards and create custom dashboards. You can manually refresh custom and managed dashboards. For custom dashboards, you can also set up an automatic refresh schedule and modify dashboard widgets. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-dashboard.html)", "allOf": [ { "type": "object", @@ -15116,19 +14975,18 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::NetworkSettings" + "AWS::CloudTrail::Dashboard" ], "markdownEnumDescriptions": [ - "Definition of AWS::WorkSpacesWeb::NetworkSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-networksettings.html)" + "The Amazon CloudTrail dashboard resource allows customers to manage managed dashboards and create custom dashboards. You can manually refresh custom and managed dashboards. For custom dashboards, you can also set up an automatic refresh schedule and modify dashboard widgets. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-dashboard.html)" ] }, "Properties": { - "$ref": "resources/aws-workspacesweb-networksettings.json" + "$ref": "resources/aws-cloudtrail-dashboard.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -15137,9 +14995,9 @@ ], "additionalProperties": false }, - "AWS_Lex_BotVersion": { + "AWS_IoT_CustomMetric": { "type": "object", - "markdownDescription": "A version is a numbered snapshot of your work that you can publish for use in different parts of your workflow, such as development, beta deployment, and production. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botversion.html)", + "markdownDescription": "A custom metric published by your devices to Device Defender. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-custommetric.html)", "allOf": [ { "type": "object", @@ -15147,14 +15005,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lex::BotVersion" + "AWS::IoT::CustomMetric" ], "markdownEnumDescriptions": [ - "A version is a numbered snapshot of your work that you can publish for use in different parts of your workflow, such as development, beta deployment, and production. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botversion.html)" + "A custom metric published by your devices to Device Defender. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-custommetric.html)" ] }, "Properties": { - "$ref": "resources/aws-lex-botversion.json" + "$ref": "resources/aws-iot-custommetric.json" } }, "required": [ @@ -15168,9 +15026,9 @@ ], "additionalProperties": false }, - "AWS_ApplicationAutoScaling_ScalingPolicy": { + "AWS_XRay_ResourcePolicy": { "type": "object", - "markdownDescription": "The ``AWS::ApplicationAutoScaling::ScalingPolicy`` resource defines a scaling policy that Application Auto Scaling uses to adjust the capacity of a scalable target. \n For more information, see [Target tracking scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) and [Step scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) in the *Application Auto Scaling User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html)", + "markdownDescription": "This schema provides construct and validation rules for AWS-XRay Resource Policy resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-resourcepolicy.html)", "allOf": [ { "type": "object", @@ -15178,14 +15036,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApplicationAutoScaling::ScalingPolicy" + "AWS::XRay::ResourcePolicy" ], "markdownEnumDescriptions": [ - "The ``AWS::ApplicationAutoScaling::ScalingPolicy`` resource defines a scaling policy that Application Auto Scaling uses to adjust the capacity of a scalable target. \n For more information, see [Target tracking scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) and [Step scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) in the *Application Auto Scaling User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html)" + "This schema provides construct and validation rules for AWS-XRay Resource Policy resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-resourcepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-applicationautoscaling-scalingpolicy.json" + "$ref": "resources/aws-xray-resourcepolicy.json" } }, "required": [ @@ -15199,9 +15057,9 @@ ], "additionalProperties": false }, - "AWS_EventSchemas_RegistryPolicy": { + "AWS_Events_Archive": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EventSchemas::RegistryPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html)", + "markdownDescription": "Resource Type definition for AWS::Events::Archive \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html)", "allOf": [ { "type": "object", @@ -15209,14 +15067,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EventSchemas::RegistryPolicy" + "AWS::Events::Archive" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EventSchemas::RegistryPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html)" + "Resource Type definition for AWS::Events::Archive \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html)" ] }, "Properties": { - "$ref": "resources/aws-eventschemas-registrypolicy.json" + "$ref": "resources/aws-events-archive.json" } }, "required": [ @@ -15230,9 +15088,9 @@ ], "additionalProperties": false }, - "AWS_DataBrew_Dataset": { + "AWS_ApiGateway_Account": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataBrew::Dataset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-dataset.html)", + "markdownDescription": "The ``AWS::ApiGateway::Account`` resource specifies the IAM role that Amazon API Gateway uses to write API logs to Amazon CloudWatch Logs. To avoid overwriting other roles, you should only have one ``AWS::ApiGateway::Account`` resource per region per account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html)", "allOf": [ { "type": "object", @@ -15240,19 +15098,18 @@ "Type": { "type": "string", "enum": [ - "AWS::DataBrew::Dataset" + "AWS::ApiGateway::Account" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataBrew::Dataset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-dataset.html)" + "The ``AWS::ApiGateway::Account`` resource specifies the IAM role that Amazon API Gateway uses to write API logs to Amazon CloudWatch Logs. To avoid overwriting other roles, you should only have one ``AWS::ApiGateway::Account`` resource per region per account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html)" ] }, "Properties": { - "$ref": "resources/aws-databrew-dataset.json" + "$ref": "resources/aws-apigateway-account.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -15261,9 +15118,9 @@ ], "additionalProperties": false }, - "AWS_EventSchemas_Discoverer": { + "AWS_Backup_BackupSelection": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EventSchemas::Discoverer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html)", + "markdownDescription": "Resource Type definition for AWS::Backup::BackupSelection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupselection.html)", "allOf": [ { "type": "object", @@ -15271,14 +15128,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EventSchemas::Discoverer" + "AWS::Backup::BackupSelection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EventSchemas::Discoverer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html)" + "Resource Type definition for AWS::Backup::BackupSelection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupselection.html)" ] }, "Properties": { - "$ref": "resources/aws-eventschemas-discoverer.json" + "$ref": "resources/aws-backup-backupselection.json" } }, "required": [ @@ -15292,9 +15149,9 @@ ], "additionalProperties": false }, - "AWS_CodeBuild_Fleet": { + "AWS_DataBrew_Project": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CodeBuild::Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-fleet.html)", + "markdownDescription": "Resource schema for AWS::DataBrew::Project. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-project.html)", "allOf": [ { "type": "object", @@ -15302,18 +15159,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeBuild::Fleet" + "AWS::DataBrew::Project" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeBuild::Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-fleet.html)" + "Resource schema for AWS::DataBrew::Project. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-project.html)" ] }, "Properties": { - "$ref": "resources/aws-codebuild-fleet.json" + "$ref": "resources/aws-databrew-project.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -15322,9 +15180,9 @@ ], "additionalProperties": false }, - "AWS_KendraRanking_ExecutionPlan": { + "AWS_CloudFront_CachePolicy": { "type": "object", - "markdownDescription": "A KendraRanking Rescore execution plan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendraranking-executionplan.html)", + "markdownDescription": "A cache policy.\n When it's attached to a cache behavior, the cache policy determines the following:\n + The values that CloudFront includes in the cache key. These values can include HTTP headers, cookies, and URL query strings. CloudFront uses the cache key to find an object in its cache that it can return to the viewer.\n + The default, minimum, and maximum time to live (TTL) values that you want objects to stay in the CloudFront cache.\n \n The headers, cookies, and query strings that are included in the cache key are also included in requests that CloudFront sends to the origin. CloudFront sends a request when it can't find a valid object in its cache that matches the request's cache key. If you want to send values to the origin but *not* include them in the cache key, use ``OriginRequestPolicy``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cachepolicy.html)", "allOf": [ { "type": "object", @@ -15332,14 +15190,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KendraRanking::ExecutionPlan" + "AWS::CloudFront::CachePolicy" ], "markdownEnumDescriptions": [ - "A KendraRanking Rescore execution plan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendraranking-executionplan.html)" + "A cache policy.\n When it's attached to a cache behavior, the cache policy determines the following:\n + The values that CloudFront includes in the cache key. These values can include HTTP headers, cookies, and URL query strings. CloudFront uses the cache key to find an object in its cache that it can return to the viewer.\n + The default, minimum, and maximum time to live (TTL) values that you want objects to stay in the CloudFront cache.\n \n The headers, cookies, and query strings that are included in the cache key are also included in requests that CloudFront sends to the origin. CloudFront sends a request when it can't find a valid object in its cache that matches the request's cache key. If you want to send values to the origin but *not* include them in the cache key, use ``OriginRequestPolicy``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cachepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-kendraranking-executionplan.json" + "$ref": "resources/aws-cloudfront-cachepolicy.json" } }, "required": [ @@ -15353,9 +15211,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Disk": { + "AWS_CustomerProfiles_CalculatedAttributeDefinition": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::Disk \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-disk.html)", + "markdownDescription": "A calculated attribute definition for Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-calculatedattributedefinition.html)", "allOf": [ { "type": "object", @@ -15363,14 +15221,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Disk" + "AWS::CustomerProfiles::CalculatedAttributeDefinition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::Disk \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-disk.html)" + "A calculated attribute definition for Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-calculatedattributedefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-disk.json" + "$ref": "resources/aws-customerprofiles-calculatedattributedefinition.json" } }, "required": [ @@ -15384,9 +15242,9 @@ ], "additionalProperties": false }, - "AWS_BackupGateway_Hypervisor": { + "AWS_Connect_Prompt": { "type": "object", - "markdownDescription": "Definition of AWS::BackupGateway::Hypervisor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backupgateway-hypervisor.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::Prompt \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-prompt.html)", "allOf": [ { "type": "object", @@ -15394,18 +15252,19 @@ "Type": { "type": "string", "enum": [ - "AWS::BackupGateway::Hypervisor" + "AWS::Connect::Prompt" ], "markdownEnumDescriptions": [ - "Definition of AWS::BackupGateway::Hypervisor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backupgateway-hypervisor.html)" + "Resource Type definition for AWS::Connect::Prompt \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-prompt.html)" ] }, "Properties": { - "$ref": "resources/aws-backupgateway-hypervisor.json" + "$ref": "resources/aws-connect-prompt.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -15414,9 +15273,9 @@ ], "additionalProperties": false }, - "AWS_ServiceDiscovery_Instance": { + "AWS_Logs_DeliveryDestination": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceDiscovery::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-instance.html)", + "markdownDescription": "This structure contains information about one delivery destination in your account.\n\nA delivery destination is an AWS resource that represents an AWS service that logs can be sent to CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverydestination.html)", "allOf": [ { "type": "object", @@ -15424,14 +15283,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceDiscovery::Instance" + "AWS::Logs::DeliveryDestination" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceDiscovery::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-instance.html)" + "This structure contains information about one delivery destination in your account.\n\nA delivery destination is an AWS resource that represents an AWS service that logs can be sent to CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverydestination.html)" ] }, "Properties": { - "$ref": "resources/aws-servicediscovery-instance.json" + "$ref": "resources/aws-logs-deliverydestination.json" } }, "required": [ @@ -15445,9 +15304,9 @@ ], "additionalProperties": false }, - "AWS_ARCZonalShift_ZonalAutoshiftConfiguration": { + "AWS_DataPipeline_Pipeline": { "type": "object", - "markdownDescription": "Definition of AWS::ARCZonalShift::ZonalAutoshiftConfiguration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-zonalautoshiftconfiguration.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html)", "allOf": [ { "type": "object", @@ -15455,18 +15314,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ARCZonalShift::ZonalAutoshiftConfiguration" + "AWS::DataPipeline::Pipeline" ], "markdownEnumDescriptions": [ - "Definition of AWS::ARCZonalShift::ZonalAutoshiftConfiguration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-zonalautoshiftconfiguration.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html)" ] }, "Properties": { - "$ref": "resources/aws-arczonalshift-zonalautoshiftconfiguration.json" + "$ref": "resources/aws-datapipeline-pipeline.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -15475,9 +15335,9 @@ ], "additionalProperties": false }, - "AWS_CustomerProfiles_EventStream": { + "AWS_EC2_TransitGatewayPeeringAttachment": { "type": "object", - "markdownDescription": "An Event Stream resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventstream.html)", + "markdownDescription": "The AWS::EC2::TransitGatewayPeeringAttachment type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.html)", "allOf": [ { "type": "object", @@ -15485,14 +15345,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CustomerProfiles::EventStream" + "AWS::EC2::TransitGatewayPeeringAttachment" ], "markdownEnumDescriptions": [ - "An Event Stream resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventstream.html)" + "The AWS::EC2::TransitGatewayPeeringAttachment type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-customerprofiles-eventstream.json" + "$ref": "resources/aws-ec2-transitgatewaypeeringattachment.json" } }, "required": [ @@ -15506,9 +15366,9 @@ ], "additionalProperties": false }, - "AWS_ACMPCA_Certificate": { + "AWS_CE_CostCategory": { "type": "object", - "markdownDescription": "The ``AWS::ACMPCA::Certificate`` resource is used to issue a certificate using your private certificate authority. For more information, see the [IssueCertificate](https://docs.aws.amazon.com/privateca/latest/APIReference/API_IssueCertificate.html) action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html)", + "markdownDescription": "Cost Category enables you to map your cost and usage into meaningful categories. You can use Cost Category to organize your costs using a rule-based engine. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html)", "allOf": [ { "type": "object", @@ -15516,14 +15376,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ACMPCA::Certificate" + "AWS::CE::CostCategory" ], "markdownEnumDescriptions": [ - "The ``AWS::ACMPCA::Certificate`` resource is used to issue a certificate using your private certificate authority. For more information, see the [IssueCertificate](https://docs.aws.amazon.com/privateca/latest/APIReference/API_IssueCertificate.html) action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html)" + "Cost Category enables you to map your cost and usage into meaningful categories. You can use Cost Category to organize your costs using a rule-based engine. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html)" ] }, "Properties": { - "$ref": "resources/aws-acmpca-certificate.json" + "$ref": "resources/aws-ce-costcategory.json" } }, "required": [ @@ -15537,9 +15397,9 @@ ], "additionalProperties": false }, - "AWS_SSMContacts_ContactChannel": { + "AWS_Timestream_Table": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SSMContacts::ContactChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contactchannel.html)", + "markdownDescription": "The AWS::Timestream::Table resource creates a Timestream Table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html)", "allOf": [ { "type": "object", @@ -15547,18 +15407,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SSMContacts::ContactChannel" + "AWS::Timestream::Table" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSMContacts::ContactChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contactchannel.html)" + "The AWS::Timestream::Table resource creates a Timestream Table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html)" ] }, "Properties": { - "$ref": "resources/aws-ssmcontacts-contactchannel.json" + "$ref": "resources/aws-timestream-table.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -15567,9 +15428,9 @@ ], "additionalProperties": false }, - "AWS_EC2_LocalGatewayRouteTable": { + "AWS_AppSync_SourceApiAssociation": { "type": "object", - "markdownDescription": "Describes a route table for a local gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetable.html)", + "markdownDescription": "Resource Type definition for AWS::AppSync::SourceApiAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-sourceapiassociation.html)", "allOf": [ { "type": "object", @@ -15577,19 +15438,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::LocalGatewayRouteTable" + "AWS::AppSync::SourceApiAssociation" ], "markdownEnumDescriptions": [ - "Describes a route table for a local gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetable.html)" + "Resource Type definition for AWS::AppSync::SourceApiAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-sourceapiassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-localgatewayroutetable.json" + "$ref": "resources/aws-appsync-sourceapiassociation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -15598,9 +15458,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_Distribution": { + "AWS_LookoutMetrics_Alert": { "type": "object", - "markdownDescription": "A distribution tells CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html)", + "markdownDescription": "Resource Type definition for AWS::LookoutMetrics::Alert \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-alert.html)", "allOf": [ { "type": "object", @@ -15608,14 +15468,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::Distribution" + "AWS::LookoutMetrics::Alert" ], "markdownEnumDescriptions": [ - "A distribution tells CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html)" + "Resource Type definition for AWS::LookoutMetrics::Alert \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-alert.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-distribution.json" + "$ref": "resources/aws-lookoutmetrics-alert.json" } }, "required": [ @@ -15629,9 +15489,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_DistributionConfiguration": { + "AWS_WAF_Rule": { "type": "object", - "markdownDescription": "Resource schema for AWS::ImageBuilder::DistributionConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::WAF::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-rule.html)", "allOf": [ { "type": "object", @@ -15639,14 +15499,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::DistributionConfiguration" + "AWS::WAF::Rule" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::DistributionConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html)" + "Resource Type definition for AWS::WAF::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-rule.html)" ] }, "Properties": { - "$ref": "resources/aws-imagebuilder-distributionconfiguration.json" + "$ref": "resources/aws-waf-rule.json" } }, "required": [ @@ -15660,9 +15520,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationFSxLustre": { + "AWS_PCAConnectorAD_TemplateGroupAccessControlEntry": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationFSxLustre. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxlustre.html)", + "markdownDescription": "Definition of AWS::PCAConnectorAD::TemplateGroupAccessControlEntry Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-templategroupaccesscontrolentry.html)", "allOf": [ { "type": "object", @@ -15670,14 +15530,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationFSxLustre" + "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationFSxLustre. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxlustre.html)" + "Definition of AWS::PCAConnectorAD::TemplateGroupAccessControlEntry Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-templategroupaccesscontrolentry.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationfsxlustre.json" + "$ref": "resources/aws-pcaconnectorad-templategroupaccesscontrolentry.json" } }, "required": [ @@ -15691,9 +15551,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_Rule": { + "AWS_Config_AggregationAuthorization": { "type": "object", - "markdownDescription": "Creates a listener rule. Each listener has a default rule for checking connection requests, but you can define additional rules. Each rule consists of a priority, one or more actions, and one or more conditions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html)", + "markdownDescription": "Resource Type definition for AWS::Config::AggregationAuthorization \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-aggregationauthorization.html)", "allOf": [ { "type": "object", @@ -15701,14 +15561,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::Rule" + "AWS::Config::AggregationAuthorization" ], "markdownEnumDescriptions": [ - "Creates a listener rule. Each listener has a default rule for checking connection requests, but you can define additional rules. Each rule consists of a priority, one or more actions, and one or more conditions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html)" + "Resource Type definition for AWS::Config::AggregationAuthorization \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-aggregationauthorization.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-rule.json" + "$ref": "resources/aws-config-aggregationauthorization.json" } }, "required": [ @@ -15722,9 +15582,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_Farm": { + "AWS_Connect_EvaluationForm": { "type": "object", - "markdownDescription": "Definition of AWS::Deadline::Farm Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-farm.html)", + "markdownDescription": "Creates an evaluation form for the specified CON instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-evaluationform.html)", "allOf": [ { "type": "object", @@ -15732,14 +15592,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::Farm" + "AWS::Connect::EvaluationForm" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::Farm Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-farm.html)" + "Creates an evaluation form for the specified CON instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-evaluationform.html)" ] }, "Properties": { - "$ref": "resources/aws-deadline-farm.json" + "$ref": "resources/aws-connect-evaluationform.json" } }, "required": [ @@ -15753,9 +15613,9 @@ ], "additionalProperties": false }, - "AWS_Rekognition_Collection": { + "AWS_WAFRegional_WebACLAssociation": { "type": "object", - "markdownDescription": "The AWS::Rekognition::Collection type creates an Amazon Rekognition Collection. A collection is a logical grouping of information about detected faces which can later be referenced for searches on the group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-collection.html)", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::WebACLAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webaclassociation.html)", "allOf": [ { "type": "object", @@ -15763,14 +15623,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Rekognition::Collection" + "AWS::WAFRegional::WebACLAssociation" ], "markdownEnumDescriptions": [ - "The AWS::Rekognition::Collection type creates an Amazon Rekognition Collection. A collection is a logical grouping of information about detected faces which can later be referenced for searches on the group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-collection.html)" + "Resource Type definition for AWS::WAFRegional::WebACLAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webaclassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-rekognition-collection.json" + "$ref": "resources/aws-wafregional-webaclassociation.json" } }, "required": [ @@ -15784,9 +15644,9 @@ ], "additionalProperties": false }, - "AWS_GlobalAccelerator_EndpointGroup": { + "AWS_IoTWireless_PartnerAccount": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GlobalAccelerator::EndpointGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html)", + "markdownDescription": "Create and manage partner account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-partneraccount.html)", "allOf": [ { "type": "object", @@ -15794,19 +15654,18 @@ "Type": { "type": "string", "enum": [ - "AWS::GlobalAccelerator::EndpointGroup" + "AWS::IoTWireless::PartnerAccount" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GlobalAccelerator::EndpointGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html)" + "Create and manage partner account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-partneraccount.html)" ] }, "Properties": { - "$ref": "resources/aws-globalaccelerator-endpointgroup.json" + "$ref": "resources/aws-iotwireless-partneraccount.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -15815,9 +15674,9 @@ ], "additionalProperties": false }, - "AWS_Route53_HostedZone": { + "AWS_SES_Template": { "type": "object", - "markdownDescription": "Creates a new public or private hosted zone. You create records in a public hosted zone to define how you want to route traffic on the internet for a domain, such as example.com, and its subdomains (apex.example.com, acme.example.com). You create records in a private hosted zone to define how you want to route traffic for a domain and its subdomains within one or more Amazon Virtual Private Clouds (Amazon VPCs). \n You can't convert a public hosted zone to a private hosted zone or vice versa. Instead, you must create a new hosted zone with the same name and create new resource record sets.\n For more information about charges for hosted zones, see [Amazon Route 53 Pricing](https://docs.aws.amazon.com/route53/pricing/).\n Note the following:\n + You can't create a hosted zone for a top-level domain (TLD) such as .com.\n + If your domain is registered with a registrar other than Route 53, you must update the name servers with your registrar to make Route 53 the DNS service for the domain. For more information, see [Migrating DNS Service for an Existing Domain to Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/MigratingDNS.html) in the *Amazon Route 53 Developer Guide*. \n \n When you submit a ``CreateHostedZone`` request, the initial status of the hosted zone is ``PENDING``. For public hosted zones, this means that the NS and SOA records are not yet available on all Route 53 DNS servers. When the NS and SOA records are available, the status of the zone changes to ``INSYNC``.\n The ``CreateHostedZone`` request requires the caller to have an ``ec2:DescribeVpcs`` permission.\n When creating private hosted zones, the Amazon VPC must belong to the same partition where the hosted zone is created. A partition is a group of AWS-Regions. Each AWS-account is scoped to one partition.\n The following are the supported partitions:\n + ``aws`` - AWS-Regions \n + ``aws-cn`` - China Regions\n + ``aws-us-gov`` - govcloud-us-region \n \n For more information, see [Access Management](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html)", + "markdownDescription": "Resource Type definition for AWS::SES::Template \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-template.html)", "allOf": [ { "type": "object", @@ -15825,14 +15684,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53::HostedZone" + "AWS::SES::Template" ], "markdownEnumDescriptions": [ - "Creates a new public or private hosted zone. You create records in a public hosted zone to define how you want to route traffic on the internet for a domain, such as example.com, and its subdomains (apex.example.com, acme.example.com). You create records in a private hosted zone to define how you want to route traffic for a domain and its subdomains within one or more Amazon Virtual Private Clouds (Amazon VPCs). \n You can't convert a public hosted zone to a private hosted zone or vice versa. Instead, you must create a new hosted zone with the same name and create new resource record sets.\n For more information about charges for hosted zones, see [Amazon Route 53 Pricing](https://docs.aws.amazon.com/route53/pricing/).\n Note the following:\n + You can't create a hosted zone for a top-level domain (TLD) such as .com.\n + If your domain is registered with a registrar other than Route 53, you must update the name servers with your registrar to make Route 53 the DNS service for the domain. For more information, see [Migrating DNS Service for an Existing Domain to Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/MigratingDNS.html) in the *Amazon Route 53 Developer Guide*. \n \n When you submit a ``CreateHostedZone`` request, the initial status of the hosted zone is ``PENDING``. For public hosted zones, this means that the NS and SOA records are not yet available on all Route 53 DNS servers. When the NS and SOA records are available, the status of the zone changes to ``INSYNC``.\n The ``CreateHostedZone`` request requires the caller to have an ``ec2:DescribeVpcs`` permission.\n When creating private hosted zones, the Amazon VPC must belong to the same partition where the hosted zone is created. A partition is a group of AWS-Regions. Each AWS-account is scoped to one partition.\n The following are the supported partitions:\n + ``aws`` - AWS-Regions \n + ``aws-cn`` - China Regions\n + ``aws-us-gov`` - govcloud-us-region \n \n For more information, see [Access Management](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html)" + "Resource Type definition for AWS::SES::Template \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-template.html)" ] }, "Properties": { - "$ref": "resources/aws-route53-hostedzone.json" + "$ref": "resources/aws-ses-template.json" } }, "required": [ @@ -15845,9 +15704,9 @@ ], "additionalProperties": false }, - "AWS_Transfer_User": { + "AWS_Transfer_Agreement": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Transfer::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html)", + "markdownDescription": "Resource Type definition for AWS::Transfer::Agreement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html)", "allOf": [ { "type": "object", @@ -15855,14 +15714,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Transfer::User" + "AWS::Transfer::Agreement" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Transfer::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html)" + "Resource Type definition for AWS::Transfer::Agreement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html)" ] }, "Properties": { - "$ref": "resources/aws-transfer-user.json" + "$ref": "resources/aws-transfer-agreement.json" } }, "required": [ @@ -15876,9 +15735,9 @@ ], "additionalProperties": false }, - "AWS_ServiceDiscovery_HttpNamespace": { + "AWS_DataSync_LocationFSxWindows": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceDiscovery::HttpNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-httpnamespace.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationFSxWindows. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxwindows.html)", "allOf": [ { "type": "object", @@ -15886,14 +15745,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceDiscovery::HttpNamespace" + "AWS::DataSync::LocationFSxWindows" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceDiscovery::HttpNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-httpnamespace.html)" + "Resource schema for AWS::DataSync::LocationFSxWindows. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxwindows.html)" ] }, "Properties": { - "$ref": "resources/aws-servicediscovery-httpnamespace.json" + "$ref": "resources/aws-datasync-locationfsxwindows.json" } }, "required": [ @@ -15907,9 +15766,9 @@ ], "additionalProperties": false }, - "AWS_MediaTailor_PlaybackConfiguration": { + "AWS_Route53Resolver_OutpostResolver": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaTailor::PlaybackConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html)", + "markdownDescription": "Resource schema for AWS::Route53Resolver::OutpostResolver. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-outpostresolver.html)", "allOf": [ { "type": "object", @@ -15917,14 +15776,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaTailor::PlaybackConfiguration" + "AWS::Route53Resolver::OutpostResolver" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaTailor::PlaybackConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html)" + "Resource schema for AWS::Route53Resolver::OutpostResolver. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-outpostresolver.html)" ] }, "Properties": { - "$ref": "resources/aws-mediatailor-playbackconfiguration.json" + "$ref": "resources/aws-route53resolver-outpostresolver.json" } }, "required": [ @@ -15938,9 +15797,9 @@ ], "additionalProperties": false }, - "AWS_VerifiedPermissions_PolicyStore": { + "AWS_IoTSiteWise_Dashboard": { "type": "object", - "markdownDescription": "Represents a policy store that you can place schema, policies, and policy templates in to validate authorization requests \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policystore.html)", + "markdownDescription": "Resource schema for AWS::IoTSiteWise::Dashboard \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html)", "allOf": [ { "type": "object", @@ -15948,14 +15807,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VerifiedPermissions::PolicyStore" + "AWS::IoTSiteWise::Dashboard" ], "markdownEnumDescriptions": [ - "Represents a policy store that you can place schema, policies, and policy templates in to validate authorization requests \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policystore.html)" + "Resource schema for AWS::IoTSiteWise::Dashboard \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html)" ] }, "Properties": { - "$ref": "resources/aws-verifiedpermissions-policystore.json" + "$ref": "resources/aws-iotsitewise-dashboard.json" } }, "required": [ @@ -15969,9 +15828,9 @@ ], "additionalProperties": false }, - "AWS_DevOpsGuru_ResourceCollection": { + "AWS_Bedrock_Flow": { "type": "object", - "markdownDescription": "This resource schema represents the ResourceCollection resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-resourcecollection.html)", + "markdownDescription": "Definition of AWS::Bedrock::Flow Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html)", "allOf": [ { "type": "object", @@ -15979,14 +15838,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DevOpsGuru::ResourceCollection" + "AWS::Bedrock::Flow" ], "markdownEnumDescriptions": [ - "This resource schema represents the ResourceCollection resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-resourcecollection.html)" + "Definition of AWS::Bedrock::Flow Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html)" ] }, "Properties": { - "$ref": "resources/aws-devopsguru-resourcecollection.json" + "$ref": "resources/aws-bedrock-flow.json" } }, "required": [ @@ -16000,9 +15859,9 @@ ], "additionalProperties": false }, - "AWS_WAF_SizeConstraintSet": { + "AWS_DMS_MigrationProject": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAF::SizeConstraintSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sizeconstraintset.html)", + "markdownDescription": "Resource schema for AWS::DMS::MigrationProject \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-migrationproject.html)", "allOf": [ { "type": "object", @@ -16010,19 +15869,18 @@ "Type": { "type": "string", "enum": [ - "AWS::WAF::SizeConstraintSet" + "AWS::DMS::MigrationProject" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAF::SizeConstraintSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sizeconstraintset.html)" + "Resource schema for AWS::DMS::MigrationProject \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-migrationproject.html)" ] }, "Properties": { - "$ref": "resources/aws-waf-sizeconstraintset.json" + "$ref": "resources/aws-dms-migrationproject.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -16031,9 +15889,9 @@ ], "additionalProperties": false }, - "AWS_DocDB_DBInstance": { + "AWS_SES_ConfigurationSetEventDestination": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DocDB::DBInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html)", + "markdownDescription": "Resource Type definition for AWS::SES::ConfigurationSetEventDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationseteventdestination.html)", "allOf": [ { "type": "object", @@ -16041,14 +15899,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DocDB::DBInstance" + "AWS::SES::ConfigurationSetEventDestination" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DocDB::DBInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html)" + "Resource Type definition for AWS::SES::ConfigurationSetEventDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationseteventdestination.html)" ] }, "Properties": { - "$ref": "resources/aws-docdb-dbinstance.json" + "$ref": "resources/aws-ses-configurationseteventdestination.json" } }, "required": [ @@ -16062,39 +15920,9 @@ ], "additionalProperties": false }, - "AWS_S3_AccessGrantsLocation": { - "type": "object", - "markdownDescription": "The AWS::S3::AccessGrantsLocation resource is an Amazon S3 resource type hosted in an access grants instance which can be the target of S3 access grants. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantslocation.html)", - "allOf": [ - { - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "AWS::S3::AccessGrantsLocation" - ], - "markdownEnumDescriptions": [ - "The AWS::S3::AccessGrantsLocation resource is an Amazon S3 resource type hosted in an access grants instance which can be the target of S3 access grants. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantslocation.html)" - ] - }, - "Properties": { - "$ref": "resources/aws-s3-accessgrantslocation.json" - } - }, - "required": [ - "Type" - ] - }, - { - "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" - } - ], - "additionalProperties": false - }, - "AWS_SageMaker_NotebookInstance": { + "AWS_Lambda_EventSourceMapping": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::NotebookInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html)", + "markdownDescription": "The ``AWS::Lambda::EventSourceMapping`` resource creates a mapping between an event source and an LAMlong function. LAM reads items from the event source and triggers the function.\n For details about each event source type, see the following topics. In particular, each of the topics describes the required and optional parameters for the specific event source. \n + [Configuring a Dynamo DB stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-dynamodb-eventsourcemapping) \n + [Configuring a Kinesis stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-eventsourcemapping) \n + [Configuring an SQS queue as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-eventsource) \n + [Configuring an MQ broker as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-eventsourcemapping) \n + [Configuring MSK as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html) \n + [Configuring Self-Managed Apache Kafka as an event source](https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html) \n + [Configuring Amazon DocumentDB as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)", "allOf": [ { "type": "object", @@ -16102,14 +15930,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::NotebookInstance" + "AWS::Lambda::EventSourceMapping" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::NotebookInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html)" + "The ``AWS::Lambda::EventSourceMapping`` resource creates a mapping between an event source and an LAMlong function. LAM reads items from the event source and triggers the function.\n For details about each event source type, see the following topics. In particular, each of the topics describes the required and optional parameters for the specific event source. \n + [Configuring a Dynamo DB stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-dynamodb-eventsourcemapping) \n + [Configuring a Kinesis stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-eventsourcemapping) \n + [Configuring an SQS queue as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-eventsource) \n + [Configuring an MQ broker as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-eventsourcemapping) \n + [Configuring MSK as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html) \n + [Configuring Self-Managed Apache Kafka as an event source](https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html) \n + [Configuring Amazon DocumentDB as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-notebookinstance.json" + "$ref": "resources/aws-lambda-eventsourcemapping.json" } }, "required": [ @@ -16123,9 +15951,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_BridgeOutput": { + "AWS_QuickSight_CustomPermissions": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaConnect::BridgeOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgeoutput.html)", + "markdownDescription": "Definition of the AWS::QuickSight::CustomPermissions Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-custompermissions.html)", "allOf": [ { "type": "object", @@ -16133,14 +15961,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::BridgeOutput" + "AWS::QuickSight::CustomPermissions" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::BridgeOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgeoutput.html)" + "Definition of the AWS::QuickSight::CustomPermissions Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-custompermissions.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconnect-bridgeoutput.json" + "$ref": "resources/aws-quicksight-custompermissions.json" } }, "required": [ @@ -16154,9 +15982,9 @@ ], "additionalProperties": false }, - "AWS_ResourceExplorer2_DefaultViewAssociation": { + "AWS_EC2_SecurityGroupEgress": { "type": "object", - "markdownDescription": "Definition of AWS::ResourceExplorer2::DefaultViewAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-defaultviewassociation.html)", + "markdownDescription": "Adds the specified outbound (egress) rule to a security group.\n An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 address range, the IP addresses that are specified by a prefix list, or the instances that are associated with a destination security group. For more information, see [Security group rules](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html).\n You must specify exactly one of the following destinations: an IPv4 address range, an IPv6 address range, a prefix list, or a security group.\n You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP/ICMPv6 type and code. To specify all types or all codes, use -1.\n Rule changes are propagated to instances associated with the security group as quickly as possible. However, a small delay might occur. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupegress.html)", "allOf": [ { "type": "object", @@ -16164,14 +15992,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ResourceExplorer2::DefaultViewAssociation" + "AWS::EC2::SecurityGroupEgress" ], "markdownEnumDescriptions": [ - "Definition of AWS::ResourceExplorer2::DefaultViewAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-defaultviewassociation.html)" + "Adds the specified outbound (egress) rule to a security group.\n An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 address range, the IP addresses that are specified by a prefix list, or the instances that are associated with a destination security group. For more information, see [Security group rules](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html).\n You must specify exactly one of the following destinations: an IPv4 address range, an IPv6 address range, a prefix list, or a security group.\n You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP/ICMPv6 type and code. To specify all types or all codes, use -1.\n Rule changes are propagated to instances associated with the security group as quickly as possible. However, a small delay might occur. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupegress.html)" ] }, "Properties": { - "$ref": "resources/aws-resourceexplorer2-defaultviewassociation.json" + "$ref": "resources/aws-ec2-securitygroupegress.json" } }, "required": [ @@ -16185,9 +16013,9 @@ ], "additionalProperties": false }, - "AWS_ECS_Cluster": { + "AWS_SES_DedicatedIpPool": { "type": "object", - "markdownDescription": "The ``AWS::ECS::Cluster`` resource creates an Amazon Elastic Container Service (Amazon ECS) cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html)", + "markdownDescription": "Resource Type definition for AWS::SES::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-dedicatedippool.html)", "allOf": [ { "type": "object", @@ -16195,14 +16023,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECS::Cluster" + "AWS::SES::DedicatedIpPool" ], "markdownEnumDescriptions": [ - "The ``AWS::ECS::Cluster`` resource creates an Amazon Elastic Container Service (Amazon ECS) cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html)" + "Resource Type definition for AWS::SES::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-dedicatedippool.html)" ] }, "Properties": { - "$ref": "resources/aws-ecs-cluster.json" + "$ref": "resources/aws-ses-dedicatedippool.json" } }, "required": [ @@ -16215,40 +16043,9 @@ ], "additionalProperties": false }, - "AWS_IoT_JobTemplate": { - "type": "object", - "markdownDescription": "Job templates enable you to preconfigure jobs so that you can deploy them to multiple sets of target devices. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html)", - "allOf": [ - { - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "AWS::IoT::JobTemplate" - ], - "markdownEnumDescriptions": [ - "Job templates enable you to preconfigure jobs so that you can deploy them to multiple sets of target devices. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html)" - ] - }, - "Properties": { - "$ref": "resources/aws-iot-jobtemplate.json" - } - }, - "required": [ - "Type", - "Properties" - ] - }, - { - "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" - } - ], - "additionalProperties": false - }, - "AWS_IdentityStore_GroupMembership": { + "AWS_NetworkFirewall_Firewall": { "type": "object", - "markdownDescription": "Resource Type Definition for AWS:IdentityStore::GroupMembership \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-groupmembership.html)", + "markdownDescription": "Resource type definition for AWS::NetworkFirewall::Firewall \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html)", "allOf": [ { "type": "object", @@ -16256,14 +16053,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IdentityStore::GroupMembership" + "AWS::NetworkFirewall::Firewall" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS:IdentityStore::GroupMembership \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-groupmembership.html)" + "Resource type definition for AWS::NetworkFirewall::Firewall \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html)" ] }, "Properties": { - "$ref": "resources/aws-identitystore-groupmembership.json" + "$ref": "resources/aws-networkfirewall-firewall.json" } }, "required": [ @@ -16277,9 +16074,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_Bridge": { + "AWS_Organizations_Policy": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaConnect::Bridge \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridge.html)", + "markdownDescription": "Policies in AWS Organizations enable you to manage different features of the AWS accounts in your organization. You can use policies when all features are enabled in your organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-policy.html)", "allOf": [ { "type": "object", @@ -16287,14 +16084,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::Bridge" + "AWS::Organizations::Policy" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::Bridge \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridge.html)" + "Policies in AWS Organizations enable you to manage different features of the AWS accounts in your organization. You can use policies when all features are enabled in your organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-policy.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconnect-bridge.json" + "$ref": "resources/aws-organizations-policy.json" } }, "required": [ @@ -16308,9 +16105,9 @@ ], "additionalProperties": false }, - "AWS_IoTThingsGraph_FlowTemplate": { + "AWS_DMS_Endpoint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoTThingsGraph::FlowTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotthingsgraph-flowtemplate.html)", + "markdownDescription": "Resource Type definition for AWS::DMS::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html)", "allOf": [ { "type": "object", @@ -16318,14 +16115,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTThingsGraph::FlowTemplate" + "AWS::DMS::Endpoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoTThingsGraph::FlowTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotthingsgraph-flowtemplate.html)" + "Resource Type definition for AWS::DMS::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-iotthingsgraph-flowtemplate.json" + "$ref": "resources/aws-dms-endpoint.json" } }, "required": [ @@ -16339,9 +16136,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_CloudFormationProduct": { + "AWS_S3_AccessPoint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::CloudFormationProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html)", + "markdownDescription": "The AWS::S3::AccessPoint resource is an Amazon S3 resource type that you can use to access buckets. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html)", "allOf": [ { "type": "object", @@ -16349,14 +16146,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::CloudFormationProduct" + "AWS::S3::AccessPoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::CloudFormationProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html)" + "The AWS::S3::AccessPoint resource is an Amazon S3 resource type that you can use to access buckets. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-cloudformationproduct.json" + "$ref": "resources/aws-s3-accesspoint.json" } }, "required": [ @@ -16370,9 +16167,9 @@ ], "additionalProperties": false }, - "AWS_Neptune_DBParameterGroup": { + "AWS_EC2_ClientVpnEndpoint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Neptune::DBParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbparametergroup.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::ClientVpnEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html)", "allOf": [ { "type": "object", @@ -16380,14 +16177,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Neptune::DBParameterGroup" + "AWS::EC2::ClientVpnEndpoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Neptune::DBParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbparametergroup.html)" + "Resource Type definition for AWS::EC2::ClientVpnEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-neptune-dbparametergroup.json" + "$ref": "resources/aws-ec2-clientvpnendpoint.json" } }, "required": [ @@ -16401,9 +16198,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_PromptVersion": { + "AWS_AppSync_ApiKey": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::PromptVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-promptversion.html)", + "markdownDescription": "Resource Type definition for AWS::AppSync::ApiKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html)", "allOf": [ { "type": "object", @@ -16411,14 +16208,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::PromptVersion" + "AWS::AppSync::ApiKey" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::PromptVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-promptversion.html)" + "Resource Type definition for AWS::AppSync::ApiKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-promptversion.json" + "$ref": "resources/aws-appsync-apikey.json" } }, "required": [ @@ -16432,39 +16229,9 @@ ], "additionalProperties": false }, - "AWS_Organizations_Organization": { - "type": "object", - "markdownDescription": "Resource schema for AWS::Organizations::Organization \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-organization.html)", - "allOf": [ - { - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "AWS::Organizations::Organization" - ], - "markdownEnumDescriptions": [ - "Resource schema for AWS::Organizations::Organization \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-organization.html)" - ] - }, - "Properties": { - "$ref": "resources/aws-organizations-organization.json" - } - }, - "required": [ - "Type" - ] - }, - { - "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" - } - ], - "additionalProperties": false - }, - "AWS_RolesAnywhere_Profile": { + "AWS_MediaConnect_Flow": { "type": "object", - "markdownDescription": "Definition of AWS::RolesAnywhere::Profile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html)", + "markdownDescription": "Resource schema for AWS::MediaConnect::Flow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html)", "allOf": [ { "type": "object", @@ -16472,14 +16239,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RolesAnywhere::Profile" + "AWS::MediaConnect::Flow" ], "markdownEnumDescriptions": [ - "Definition of AWS::RolesAnywhere::Profile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html)" + "Resource schema for AWS::MediaConnect::Flow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html)" ] }, "Properties": { - "$ref": "resources/aws-rolesanywhere-profile.json" + "$ref": "resources/aws-mediaconnect-flow.json" } }, "required": [ @@ -16493,9 +16260,9 @@ ], "additionalProperties": false }, - "AWS_EC2_KeyPair": { + "AWS_ElastiCache_SecurityGroupIngress": { "type": "object", - "markdownDescription": "Specifies a key pair for use with an EC2long instance as follows:\n + To import an existing key pair, include the ``PublicKeyMaterial`` property.\n + To create a new key pair, omit the ``PublicKeyMaterial`` property.\n \n When you import an existing key pair, you specify the public key material for the key. We assume that you have the private key material for the key. CFNlong does not create or return the private key material when you import a key pair.\n When you create a new key pair, the private key is saved to SYSlong Parameter Store, using a parameter with the following name: ``/ec2/keypair/{key_pair_id}``. For more information about retrieving private key, and the required permissions, see [Create a key pair using](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html#create-key-pair-cloudformation) in the *User Guide*.\n When CFN deletes a key pair that was created or imported by a stack, it also deletes the parameter that was used to store the private key material in Parameter Store. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html)", + "markdownDescription": "Resource Type definition for AWS::ElastiCache::SecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-securitygroupingress.html)", "allOf": [ { "type": "object", @@ -16503,14 +16270,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::KeyPair" + "AWS::ElastiCache::SecurityGroupIngress" ], "markdownEnumDescriptions": [ - "Specifies a key pair for use with an EC2long instance as follows:\n + To import an existing key pair, include the ``PublicKeyMaterial`` property.\n + To create a new key pair, omit the ``PublicKeyMaterial`` property.\n \n When you import an existing key pair, you specify the public key material for the key. We assume that you have the private key material for the key. CFNlong does not create or return the private key material when you import a key pair.\n When you create a new key pair, the private key is saved to SYSlong Parameter Store, using a parameter with the following name: ``/ec2/keypair/{key_pair_id}``. For more information about retrieving private key, and the required permissions, see [Create a key pair using](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html#create-key-pair-cloudformation) in the *User Guide*.\n When CFN deletes a key pair that was created or imported by a stack, it also deletes the parameter that was used to store the private key material in Parameter Store. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html)" + "Resource Type definition for AWS::ElastiCache::SecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-securitygroupingress.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-keypair.json" + "$ref": "resources/aws-elasticache-securitygroupingress.json" } }, "required": [ @@ -16524,9 +16291,9 @@ ], "additionalProperties": false }, - "AWS_DMS_Endpoint": { + "AWS_IoTFleetWise_DecoderManifest": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DMS::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html)", + "markdownDescription": "Definition of AWS::IoTFleetWise::DecoderManifest Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-decodermanifest.html)", "allOf": [ { "type": "object", @@ -16534,14 +16301,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::Endpoint" + "AWS::IoTFleetWise::DecoderManifest" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DMS::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html)" + "Definition of AWS::IoTFleetWise::DecoderManifest Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-decodermanifest.html)" ] }, "Properties": { - "$ref": "resources/aws-dms-endpoint.json" + "$ref": "resources/aws-iotfleetwise-decodermanifest.json" } }, "required": [ @@ -16555,9 +16322,9 @@ ], "additionalProperties": false }, - "AWS_SecurityLake_Subscriber": { + "AWS_EventSchemas_Discoverer": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SecurityLake::Subscriber \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscriber.html)", + "markdownDescription": "Resource Type definition for AWS::EventSchemas::Discoverer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html)", "allOf": [ { "type": "object", @@ -16565,14 +16332,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityLake::Subscriber" + "AWS::EventSchemas::Discoverer" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SecurityLake::Subscriber \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscriber.html)" + "Resource Type definition for AWS::EventSchemas::Discoverer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html)" ] }, "Properties": { - "$ref": "resources/aws-securitylake-subscriber.json" + "$ref": "resources/aws-eventschemas-discoverer.json" } }, "required": [ @@ -16586,9 +16353,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkInterfacePermission": { + "AWS_PCS_ComputeNodeGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::NetworkInterfacePermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfacepermission.html)", + "markdownDescription": "AWS::PCS::ComputeNodeGroup resource creates an AWS PCS compute node group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html)", "allOf": [ { "type": "object", @@ -16596,14 +16363,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkInterfacePermission" + "AWS::PCS::ComputeNodeGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::NetworkInterfacePermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfacepermission.html)" + "AWS::PCS::ComputeNodeGroup resource creates an AWS PCS compute node group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-computenodegroup.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkinterfacepermission.json" + "$ref": "resources/aws-pcs-computenodegroup.json" } }, "required": [ @@ -16617,9 +16384,9 @@ ], "additionalProperties": false }, - "AWS_IoTAnalytics_Pipeline": { + "AWS_AppStream_DirectoryConfig": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoTAnalytics::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-pipeline.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::DirectoryConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.html)", "allOf": [ { "type": "object", @@ -16627,14 +16394,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTAnalytics::Pipeline" + "AWS::AppStream::DirectoryConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoTAnalytics::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-pipeline.html)" + "Resource Type definition for AWS::AppStream::DirectoryConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-iotanalytics-pipeline.json" + "$ref": "resources/aws-appstream-directoryconfig.json" } }, "required": [ @@ -16648,9 +16415,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_AnalysisTemplate": { + "AWS_NetworkManager_DirectConnectGatewayAttachment": { "type": "object", - "markdownDescription": "Represents a stored analysis within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-analysistemplate.html)", + "markdownDescription": "AWS::NetworkManager::DirectConnectGatewayAttachment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-directconnectgatewayattachment.html)", "allOf": [ { "type": "object", @@ -16658,14 +16425,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::AnalysisTemplate" + "AWS::NetworkManager::DirectConnectGatewayAttachment" ], "markdownEnumDescriptions": [ - "Represents a stored analysis within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-analysistemplate.html)" + "AWS::NetworkManager::DirectConnectGatewayAttachment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-directconnectgatewayattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-cleanrooms-analysistemplate.json" + "$ref": "resources/aws-networkmanager-directconnectgatewayattachment.json" } }, "required": [ @@ -16709,9 +16476,9 @@ ], "additionalProperties": false }, - "AWS_AppMesh_VirtualService": { + "AWS_AuditManager_Assessment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppMesh::VirtualService \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html)", + "markdownDescription": "An entity that defines the scope of audit evidence collected by AWS Audit Manager. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-auditmanager-assessment.html)", "allOf": [ { "type": "object", @@ -16719,19 +16486,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AppMesh::VirtualService" + "AWS::AuditManager::Assessment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppMesh::VirtualService \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html)" + "An entity that defines the scope of audit evidence collected by AWS Audit Manager. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-auditmanager-assessment.html)" ] }, "Properties": { - "$ref": "resources/aws-appmesh-virtualservice.json" + "$ref": "resources/aws-auditmanager-assessment.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -16740,9 +16506,9 @@ ], "additionalProperties": false }, - "AWS_ApplicationAutoScaling_ScalableTarget": { + "AWS_GroundStation_MissionProfile": { "type": "object", - "markdownDescription": "The ``AWS::ApplicationAutoScaling::ScalableTarget`` resource specifies a resource that Application Auto Scaling can scale, such as an AWS::DynamoDB::Table or AWS::ECS::Service resource.\n For more information, see [Getting started](https://docs.aws.amazon.com/autoscaling/application/userguide/getting-started.html) in the *Application Auto Scaling User Guide*.\n If the resource that you want Application Auto Scaling to scale is not yet created in your account, add a dependency on the resource when registering it as a scalable target using the [DependsOn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) attribute. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html)", + "markdownDescription": "AWS Ground Station Mission Profile resource type for CloudFormation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-missionprofile.html)", "allOf": [ { "type": "object", @@ -16750,14 +16516,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApplicationAutoScaling::ScalableTarget" + "AWS::GroundStation::MissionProfile" ], "markdownEnumDescriptions": [ - "The ``AWS::ApplicationAutoScaling::ScalableTarget`` resource specifies a resource that Application Auto Scaling can scale, such as an AWS::DynamoDB::Table or AWS::ECS::Service resource.\n For more information, see [Getting started](https://docs.aws.amazon.com/autoscaling/application/userguide/getting-started.html) in the *Application Auto Scaling User Guide*.\n If the resource that you want Application Auto Scaling to scale is not yet created in your account, add a dependency on the resource when registering it as a scalable target using the [DependsOn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) attribute. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html)" + "AWS Ground Station Mission Profile resource type for CloudFormation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-missionprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-applicationautoscaling-scalabletarget.json" + "$ref": "resources/aws-groundstation-missionprofile.json" } }, "required": [ @@ -16771,9 +16537,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorks_Stack": { + "AWS_IoTWireless_WirelessGateway": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::OpsWorks::Stack \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html)", + "markdownDescription": "Create and manage wireless gateways, including LoRa gateways. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html)", "allOf": [ { "type": "object", @@ -16781,14 +16547,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorks::Stack" + "AWS::IoTWireless::WirelessGateway" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorks::Stack \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html)" + "Create and manage wireless gateways, including LoRa gateways. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html)" ] }, "Properties": { - "$ref": "resources/aws-opsworks-stack.json" + "$ref": "resources/aws-iotwireless-wirelessgateway.json" } }, "required": [ @@ -16802,9 +16568,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationS3": { + "AWS_FMS_NotificationChannel": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationS3 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locations3.html)", + "markdownDescription": "Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-notificationchannel.html)", "allOf": [ { "type": "object", @@ -16812,14 +16578,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationS3" + "AWS::FMS::NotificationChannel" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationS3 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locations3.html)" + "Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-notificationchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locations3.json" + "$ref": "resources/aws-fms-notificationchannel.json" } }, "required": [ @@ -16833,9 +16599,9 @@ ], "additionalProperties": false }, - "AWS_IoT1Click_Project": { + "AWS_Synthetics_Canary": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT1Click::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html)", + "markdownDescription": "Resource Type definition for AWS::Synthetics::Canary \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html)", "allOf": [ { "type": "object", @@ -16843,14 +16609,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT1Click::Project" + "AWS::Synthetics::Canary" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT1Click::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html)" + "Resource Type definition for AWS::Synthetics::Canary \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html)" ] }, "Properties": { - "$ref": "resources/aws-iot1click-project.json" + "$ref": "resources/aws-synthetics-canary.json" } }, "required": [ @@ -16864,9 +16630,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_OriginAccessControl": { + "AWS_RoboMaker_Robot": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::OriginAccessControl \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.html)", + "markdownDescription": "AWS::RoboMaker::Robot resource creates an AWS RoboMaker Robot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robot.html)", "allOf": [ { "type": "object", @@ -16874,14 +16640,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::OriginAccessControl" + "AWS::RoboMaker::Robot" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::OriginAccessControl \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.html)" + "AWS::RoboMaker::Robot resource creates an AWS RoboMaker Robot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robot.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-originaccesscontrol.json" + "$ref": "resources/aws-robomaker-robot.json" } }, "required": [ @@ -16895,9 +16661,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpaces_ConnectionAlias": { + "AWS_OpsWorks_Stack": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WorkSpaces::ConnectionAlias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-connectionalias.html)", + "markdownDescription": "Resource Type definition for AWS::OpsWorks::Stack \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html)", "allOf": [ { "type": "object", @@ -16905,14 +16671,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpaces::ConnectionAlias" + "AWS::OpsWorks::Stack" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WorkSpaces::ConnectionAlias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-connectionalias.html)" + "Resource Type definition for AWS::OpsWorks::Stack \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html)" ] }, "Properties": { - "$ref": "resources/aws-workspaces-connectionalias.json" + "$ref": "resources/aws-opsworks-stack.json" } }, "required": [ @@ -16926,9 +16692,9 @@ ], "additionalProperties": false }, - "AWS_IoT_AccountAuditConfiguration": { + "AWS_RoboMaker_SimulationApplication": { "type": "object", - "markdownDescription": "Configures the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-accountauditconfiguration.html)", + "markdownDescription": "This schema is for testing purpose only. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html)", "allOf": [ { "type": "object", @@ -16936,14 +16702,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::AccountAuditConfiguration" + "AWS::RoboMaker::SimulationApplication" ], "markdownEnumDescriptions": [ - "Configures the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-accountauditconfiguration.html)" + "This schema is for testing purpose only. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-accountauditconfiguration.json" + "$ref": "resources/aws-robomaker-simulationapplication.json" } }, "required": [ @@ -16957,9 +16723,9 @@ ], "additionalProperties": false }, - "AWS_IVS_StorageConfiguration": { + "AWS_NetworkFirewall_LoggingConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IVS::StorageConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-storageconfiguration.html)", + "markdownDescription": "Resource type definition for AWS::NetworkFirewall::LoggingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-loggingconfiguration.html)", "allOf": [ { "type": "object", @@ -16967,14 +16733,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::StorageConfiguration" + "AWS::NetworkFirewall::LoggingConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IVS::StorageConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-storageconfiguration.html)" + "Resource type definition for AWS::NetworkFirewall::LoggingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-loggingconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-ivs-storageconfiguration.json" + "$ref": "resources/aws-networkfirewall-loggingconfiguration.json" } }, "required": [ @@ -16988,9 +16754,9 @@ ], "additionalProperties": false }, - "AWS_Glue_SecurityConfiguration": { + "AWS_KinesisAnalyticsV2_ApplicationCloudWatchLoggingOption": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::SecurityConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-securityconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption.html)", "allOf": [ { "type": "object", @@ -16998,14 +16764,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::SecurityConfiguration" + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::SecurityConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-securityconfiguration.html)" + "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-securityconfiguration.json" + "$ref": "resources/aws-kinesisanalyticsv2-applicationcloudwatchloggingoption.json" } }, "required": [ @@ -17019,9 +16785,9 @@ ], "additionalProperties": false }, - "AWS_Kendra_Faq": { + "AWS_IVS_RecordingConfiguration": { "type": "object", - "markdownDescription": "A Kendra FAQ resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html)", + "markdownDescription": "Resource Type definition for AWS::IVS::RecordingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html)", "allOf": [ { "type": "object", @@ -17029,14 +16795,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Kendra::Faq" + "AWS::IVS::RecordingConfiguration" ], "markdownEnumDescriptions": [ - "A Kendra FAQ resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html)" + "Resource Type definition for AWS::IVS::RecordingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-kendra-faq.json" + "$ref": "resources/aws-ivs-recordingconfiguration.json" } }, "required": [ @@ -17050,9 +16816,9 @@ ], "additionalProperties": false }, - "AWS_IoTAnalytics_Dataset": { + "AWS_AmazonMQ_ConfigurationAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoTAnalytics::Dataset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html)", + "markdownDescription": "Resource Type definition for AWS::AmazonMQ::ConfigurationAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configurationassociation.html)", "allOf": [ { "type": "object", @@ -17060,14 +16826,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTAnalytics::Dataset" + "AWS::AmazonMQ::ConfigurationAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoTAnalytics::Dataset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html)" + "Resource Type definition for AWS::AmazonMQ::ConfigurationAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configurationassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-iotanalytics-dataset.json" + "$ref": "resources/aws-amazonmq-configurationassociation.json" } }, "required": [ @@ -17081,9 +16847,9 @@ ], "additionalProperties": false }, - "AWS_Detective_OrganizationAdmin": { + "AWS_DMS_DataProvider": { "type": "object", - "markdownDescription": "Resource schema for AWS::Detective::OrganizationAdmin \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-organizationadmin.html)", + "markdownDescription": "Resource schema for AWS::DMS::DataProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-dataprovider.html)", "allOf": [ { "type": "object", @@ -17091,14 +16857,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Detective::OrganizationAdmin" + "AWS::DMS::DataProvider" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Detective::OrganizationAdmin \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-organizationadmin.html)" + "Resource schema for AWS::DMS::DataProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-dataprovider.html)" ] }, "Properties": { - "$ref": "resources/aws-detective-organizationadmin.json" + "$ref": "resources/aws-dms-dataprovider.json" } }, "required": [ @@ -17112,9 +16878,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_RealtimeLogConfig": { + "AWS_S3_AccessGrant": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::RealtimeLogConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html)", + "markdownDescription": "The AWS::S3::AccessGrant resource is an Amazon S3 resource type representing permissions to a specific S3 bucket or prefix hosted in an S3 Access Grants instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrant.html)", "allOf": [ { "type": "object", @@ -17122,14 +16888,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::RealtimeLogConfig" + "AWS::S3::AccessGrant" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::RealtimeLogConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html)" + "The AWS::S3::AccessGrant resource is an Amazon S3 resource type representing permissions to a specific S3 bucket or prefix hosted in an S3 Access Grants instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrant.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-realtimelogconfig.json" + "$ref": "resources/aws-s3-accessgrant.json" } }, "required": [ @@ -17143,9 +16909,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_ResourceDefinitionVersion": { + "AWS_Shield_Protection": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::ResourceDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html)", + "markdownDescription": "Enables AWS Shield Advanced for a specific AWS resource. The resource can be an Amazon CloudFront distribution, Amazon Route 53 hosted zone, AWS Global Accelerator standard accelerator, Elastic IP Address, Application Load Balancer, or a Classic Load Balancer. You can protect Amazon EC2 instances and Network Load Balancers by association with protected Amazon EC2 Elastic IP addresses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protection.html)", "allOf": [ { "type": "object", @@ -17153,14 +16919,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::ResourceDefinitionVersion" + "AWS::Shield::Protection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::ResourceDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html)" + "Enables AWS Shield Advanced for a specific AWS resource. The resource can be an Amazon CloudFront distribution, Amazon Route 53 hosted zone, AWS Global Accelerator standard accelerator, Elastic IP Address, Application Load Balancer, or a Classic Load Balancer. You can protect Amazon EC2 instances and Network Load Balancers by association with protected Amazon EC2 Elastic IP addresses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protection.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-resourcedefinitionversion.json" + "$ref": "resources/aws-shield-protection.json" } }, "required": [ @@ -17174,9 +16940,9 @@ ], "additionalProperties": false }, - "AWS_AppMesh_VirtualNode": { + "AWS_ApplicationAutoScaling_ScalingPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppMesh::VirtualNode \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html)", + "markdownDescription": "The ``AWS::ApplicationAutoScaling::ScalingPolicy`` resource defines a scaling policy that Application Auto Scaling uses to adjust the capacity of a scalable target. \n For more information, see [Target tracking scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) and [Step scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) in the *Application Auto Scaling User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html)", "allOf": [ { "type": "object", @@ -17184,14 +16950,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppMesh::VirtualNode" + "AWS::ApplicationAutoScaling::ScalingPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppMesh::VirtualNode \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html)" + "The ``AWS::ApplicationAutoScaling::ScalingPolicy`` resource defines a scaling policy that Application Auto Scaling uses to adjust the capacity of a scalable target. \n For more information, see [Target tracking scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) and [Step scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) in the *Application Auto Scaling User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-appmesh-virtualnode.json" + "$ref": "resources/aws-applicationautoscaling-scalingpolicy.json" } }, "required": [ @@ -17205,9 +16971,9 @@ ], "additionalProperties": false }, - "AWS_Events_EventBus": { + "AWS_EC2_NetworkInsightsPath": { "type": "object", - "markdownDescription": "Resource type definition for AWS::Events::EventBus \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html)", + "markdownDescription": "Resource schema for AWS::EC2::NetworkInsightsPath \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html)", "allOf": [ { "type": "object", @@ -17215,14 +16981,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Events::EventBus" + "AWS::EC2::NetworkInsightsPath" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::Events::EventBus \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html)" + "Resource schema for AWS::EC2::NetworkInsightsPath \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html)" ] }, "Properties": { - "$ref": "resources/aws-events-eventbus.json" + "$ref": "resources/aws-ec2-networkinsightspath.json" } }, "required": [ @@ -17236,9 +17002,9 @@ ], "additionalProperties": false }, - "AWS_ECR_ReplicationConfiguration": { + "AWS_OpenSearchService_Application": { "type": "object", - "markdownDescription": "The AWS::ECR::ReplicationConfiguration resource configures the replication destinations for an Amazon Elastic Container Registry (Amazon Private ECR). For more information, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/replication.html \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-replicationconfiguration.html)", + "markdownDescription": "Amazon OpenSearchService application resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchservice-application.html)", "allOf": [ { "type": "object", @@ -17246,14 +17012,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECR::ReplicationConfiguration" + "AWS::OpenSearchService::Application" ], "markdownEnumDescriptions": [ - "The AWS::ECR::ReplicationConfiguration resource configures the replication destinations for an Amazon Elastic Container Registry (Amazon Private ECR). For more information, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/replication.html \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-replicationconfiguration.html)" + "Amazon OpenSearchService application resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchservice-application.html)" ] }, "Properties": { - "$ref": "resources/aws-ecr-replicationconfiguration.json" + "$ref": "resources/aws-opensearchservice-application.json" } }, "required": [ @@ -17267,9 +17033,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Table": { + "AWS_ARCZonalShift_AutoshiftObserverNotificationStatus": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::Table \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html)", + "markdownDescription": "Definition of AWS::ARCZonalShift::AutoshiftObserverNotificationStatus Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-autoshiftobservernotificationstatus.html)", "allOf": [ { "type": "object", @@ -17277,14 +17043,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Table" + "AWS::ARCZonalShift::AutoshiftObserverNotificationStatus" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Table \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html)" + "Definition of AWS::ARCZonalShift::AutoshiftObserverNotificationStatus Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-autoshiftobservernotificationstatus.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-table.json" + "$ref": "resources/aws-arczonalshift-autoshiftobservernotificationstatus.json" } }, "required": [ @@ -17298,9 +17064,9 @@ ], "additionalProperties": false }, - "AWS_SSMIncidents_ResponsePlan": { + "AWS_SageMaker_Endpoint": { "type": "object", - "markdownDescription": "Resource type definition for AWS::SSMIncidents::ResponsePlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-responseplan.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html)", "allOf": [ { "type": "object", @@ -17308,14 +17074,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSMIncidents::ResponsePlan" + "AWS::SageMaker::Endpoint" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::SSMIncidents::ResponsePlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-responseplan.html)" + "Resource Type definition for AWS::SageMaker::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-ssmincidents-responseplan.json" + "$ref": "resources/aws-sagemaker-endpoint.json" } }, "required": [ @@ -17329,9 +17095,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_PortfolioPrincipalAssociation": { + "AWS_NimbleStudio_StudioComponent": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::PortfolioPrincipalAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html)", + "markdownDescription": "Resource Type definition for AWS::NimbleStudio::StudioComponent \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-studiocomponent.html)", "allOf": [ { "type": "object", @@ -17339,14 +17105,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::PortfolioPrincipalAssociation" + "AWS::NimbleStudio::StudioComponent" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::PortfolioPrincipalAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html)" + "Resource Type definition for AWS::NimbleStudio::StudioComponent \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-studiocomponent.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-portfolioprincipalassociation.json" + "$ref": "resources/aws-nimblestudio-studiocomponent.json" } }, "required": [ @@ -17360,9 +17126,9 @@ ], "additionalProperties": false }, - "AWS_IoT_BillingGroup": { + "AWS_DevOpsGuru_LogAnomalyDetectionIntegration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT::BillingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-billinggroup.html)", + "markdownDescription": "This resource schema represents the LogAnomalyDetectionIntegration resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-loganomalydetectionintegration.html)", "allOf": [ { "type": "object", @@ -17370,14 +17136,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::BillingGroup" + "AWS::DevOpsGuru::LogAnomalyDetectionIntegration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::BillingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-billinggroup.html)" + "This resource schema represents the LogAnomalyDetectionIntegration resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-loganomalydetectionintegration.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-billinggroup.json" + "$ref": "resources/aws-devopsguru-loganomalydetectionintegration.json" } }, "required": [ @@ -17390,9 +17156,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_DelegatedAdmin": { + "AWS_Greengrass_LoggerDefinition": { "type": "object", - "markdownDescription": "The ``AWS::SecurityHub::DelegatedAdmin`` resource designates the delegated ASHlong administrator account for an organization. You must enable the integration between ASH and AOlong before you can designate a delegated ASH administrator. Only the management account for an organization can designate the delegated ASH administrator account. For more information, see [Designating the delegated administrator](https://docs.aws.amazon.com/securityhub/latest/userguide/designate-orgs-admin-account.html#designate-admin-instructions) in the *User Guide*.\n To change the delegated administrator account, remove the current delegated administrator account, and then designate the new account.\n To designate multiple delegated administrators in different organizations and AWS-Regions, we recommend using [mappings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html).\n Tags aren't supported for this resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-delegatedadmin.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::LoggerDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html)", "allOf": [ { "type": "object", @@ -17400,14 +17166,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::DelegatedAdmin" + "AWS::Greengrass::LoggerDefinition" ], "markdownEnumDescriptions": [ - "The ``AWS::SecurityHub::DelegatedAdmin`` resource designates the delegated ASHlong administrator account for an organization. You must enable the integration between ASH and AOlong before you can designate a delegated ASH administrator. Only the management account for an organization can designate the delegated ASH administrator account. For more information, see [Designating the delegated administrator](https://docs.aws.amazon.com/securityhub/latest/userguide/designate-orgs-admin-account.html#designate-admin-instructions) in the *User Guide*.\n To change the delegated administrator account, remove the current delegated administrator account, and then designate the new account.\n To designate multiple delegated administrators in different organizations and AWS-Regions, we recommend using [mappings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html).\n Tags aren't supported for this resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-delegatedadmin.html)" + "Resource Type definition for AWS::Greengrass::LoggerDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-delegatedadmin.json" + "$ref": "resources/aws-greengrass-loggerdefinition.json" } }, "required": [ @@ -17421,9 +17187,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_SizeConstraintSet": { + "AWS_Omics_AnnotationStore": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::SizeConstraintSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sizeconstraintset.html)", + "markdownDescription": "Definition of AWS::Omics::AnnotationStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-annotationstore.html)", "allOf": [ { "type": "object", @@ -17431,14 +17197,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::SizeConstraintSet" + "AWS::Omics::AnnotationStore" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::SizeConstraintSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sizeconstraintset.html)" + "Definition of AWS::Omics::AnnotationStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-annotationstore.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-sizeconstraintset.json" + "$ref": "resources/aws-omics-annotationstore.json" } }, "required": [ @@ -17452,9 +17218,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_Stage": { + "AWS_AppStream_StackFleetAssociation": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::Stage`` resource creates a stage for a deployment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::StackFleetAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html)", "allOf": [ { "type": "object", @@ -17462,14 +17228,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::Stage" + "AWS::AppStream::StackFleetAssociation" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::Stage`` resource creates a stage for a deployment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html)" + "Resource Type definition for AWS::AppStream::StackFleetAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-stage.json" + "$ref": "resources/aws-appstream-stackfleetassociation.json" } }, "required": [ @@ -17483,9 +17249,9 @@ ], "additionalProperties": false }, - "AWS_CodeDeploy_DeploymentConfig": { + "AWS_SSO_InstanceAccessControlAttributeConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CodeDeploy::DeploymentConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html)", + "markdownDescription": "Resource Type definition for SSO InstanceAccessControlAttributeConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instanceaccesscontrolattributeconfiguration.html)", "allOf": [ { "type": "object", @@ -17493,18 +17259,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeDeploy::DeploymentConfig" + "AWS::SSO::InstanceAccessControlAttributeConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeDeploy::DeploymentConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html)" + "Resource Type definition for SSO InstanceAccessControlAttributeConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instanceaccesscontrolattributeconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-codedeploy-deploymentconfig.json" + "$ref": "resources/aws-sso-instanceaccesscontrolattributeconfiguration.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -17513,9 +17280,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_Component": { + "AWS_MemoryDB_MultiRegionCluster": { "type": "object", - "markdownDescription": "Resource schema for AWS::ImageBuilder::Component \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html)", + "markdownDescription": "The AWS::MemoryDB::Multi Region Cluster resource creates an Amazon MemoryDB Multi Region Cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-multiregioncluster.html)", "allOf": [ { "type": "object", @@ -17523,14 +17290,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::Component" + "AWS::MemoryDB::MultiRegionCluster" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::Component \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html)" + "The AWS::MemoryDB::Multi Region Cluster resource creates an Amazon MemoryDB Multi Region Cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-multiregioncluster.html)" ] }, "Properties": { - "$ref": "resources/aws-imagebuilder-component.json" + "$ref": "resources/aws-memorydb-multiregioncluster.json" } }, "required": [ @@ -17544,9 +17311,9 @@ ], "additionalProperties": false }, - "AWS_GroundStation_MissionProfile": { + "AWS_ApiGatewayV2_IntegrationResponse": { "type": "object", - "markdownDescription": "AWS Ground Station Mission Profile resource type for CloudFormation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-missionprofile.html)", + "markdownDescription": "The ``AWS::ApiGatewayV2::IntegrationResponse`` resource updates an integration response for an WebSocket API. For more information, see [Set up WebSocket API Integration Responses in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-integration-responses.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html)", "allOf": [ { "type": "object", @@ -17554,14 +17321,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GroundStation::MissionProfile" + "AWS::ApiGatewayV2::IntegrationResponse" ], "markdownEnumDescriptions": [ - "AWS Ground Station Mission Profile resource type for CloudFormation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-missionprofile.html)" + "The ``AWS::ApiGatewayV2::IntegrationResponse`` resource updates an integration response for an WebSocket API. For more information, see [Set up WebSocket API Integration Responses in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-integration-responses.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html)" ] }, "Properties": { - "$ref": "resources/aws-groundstation-missionprofile.json" + "$ref": "resources/aws-apigatewayv2-integrationresponse.json" } }, "required": [ @@ -17575,9 +17342,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_ExtensionAssociation": { + "AWS_ApiGatewayV2_DomainName": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extensionassociation.html)", + "markdownDescription": "The ``AWS::ApiGatewayV2::DomainName`` resource specifies a custom domain name for your API in Amazon API Gateway (API Gateway). \n You can use a custom domain name to provide a URL that's more intuitive and easier to recall. For more information about using custom domain names, see [Set up Custom Domain Name for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html)", "allOf": [ { "type": "object", @@ -17585,18 +17352,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::ExtensionAssociation" + "AWS::ApiGatewayV2::DomainName" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extensionassociation.html)" + "The ``AWS::ApiGatewayV2::DomainName`` resource specifies a custom domain name for your API in Amazon API Gateway (API Gateway). \n You can use a custom domain name to provide a URL that's more intuitive and easier to recall. For more information about using custom domain names, see [Set up Custom Domain Name for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html)" ] }, "Properties": { - "$ref": "resources/aws-appconfig-extensionassociation.json" + "$ref": "resources/aws-apigatewayv2-domainname.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -17605,9 +17373,9 @@ ], "additionalProperties": false }, - "AWS_Config_ConfigRule": { + "AWS_Lex_Bot": { "type": "object", - "markdownDescription": "You must first create and start the CC configuration recorder in order to create CC managed rules with CFNlong. For more information, see [Managing the Configuration Recorder](https://docs.aws.amazon.com/config/latest/developerguide/stop-start-recorder.html).\n Adds or updates an CC rule to evaluate if your AWS resources comply with your desired configurations. For information on how many CC rules you can have per account, see [Service Limits](https://docs.aws.amazon.com/config/latest/developerguide/configlimits.html) in the *Developer Guide*.\n There are two types of rules: *Managed Rules* and *Custom Rules*. You can use the ``ConfigRule`` resource to create both CC Managed Rules and CC Custom Rules.\n CC Managed Rules are predefined, customizable rules created by CC. For a list of managed rules, see [List of Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html). If you are adding an CC managed rule, you must specify the rule's identifier for the ``SourceIdentifier`` key.\n CC Custom Rules are rules that you create from scratch. There are two ways to create CC custom rules: with Lambda functions ([Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/gettingstarted-concepts.html#gettingstarted-concepts-function)) and with CFNGUARDshort ([Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard)), a policy-as-code language. CC custom rules created with LAMlong are called *Custom Lambda Rules* and CC custom rules created with CFNGUARDshort are called *Custom Policy Rules*.\n If you are adding a new CC Custom LAM rule, you first need to create an LAMlong function that the rule invokes to evaluate your resources. When you use the ``ConfigRule`` resource to add a Custom LAM rule to CC, you must specify the Amazon Resource Name (ARN) that LAMlong assigns to the function. You specify the ARN in the ``SourceIdentifier`` key. This key is part of the ``Source`` object, which is part of the ``ConfigRule`` object. \n For any new CC rule that you add, specify the ``ConfigRuleName`` in the ``ConfigRule`` object. Do not specify the ``ConfigRuleArn`` or the ``ConfigRuleId``. These values are generated by CC for new rules.\n If you are updating a rule that you added previously, you can specify the rule by ``ConfigRuleName``, ``ConfigRuleId``, or ``ConfigRuleArn`` in the ``ConfigRule`` data type that you use in this request.\n For more information about developing and using CC rules, see [Evaluating Resources with Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html)", + "markdownDescription": "Amazon Lex conversational bot performing automated tasks such as ordering a pizza, booking a hotel, and so on. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html)", "allOf": [ { "type": "object", @@ -17615,14 +17383,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::ConfigRule" + "AWS::Lex::Bot" ], "markdownEnumDescriptions": [ - "You must first create and start the CC configuration recorder in order to create CC managed rules with CFNlong. For more information, see [Managing the Configuration Recorder](https://docs.aws.amazon.com/config/latest/developerguide/stop-start-recorder.html).\n Adds or updates an CC rule to evaluate if your AWS resources comply with your desired configurations. For information on how many CC rules you can have per account, see [Service Limits](https://docs.aws.amazon.com/config/latest/developerguide/configlimits.html) in the *Developer Guide*.\n There are two types of rules: *Managed Rules* and *Custom Rules*. You can use the ``ConfigRule`` resource to create both CC Managed Rules and CC Custom Rules.\n CC Managed Rules are predefined, customizable rules created by CC. For a list of managed rules, see [List of Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html). If you are adding an CC managed rule, you must specify the rule's identifier for the ``SourceIdentifier`` key.\n CC Custom Rules are rules that you create from scratch. There are two ways to create CC custom rules: with Lambda functions ([Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/gettingstarted-concepts.html#gettingstarted-concepts-function)) and with CFNGUARDshort ([Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard)), a policy-as-code language. CC custom rules created with LAMlong are called *Custom Lambda Rules* and CC custom rules created with CFNGUARDshort are called *Custom Policy Rules*.\n If you are adding a new CC Custom LAM rule, you first need to create an LAMlong function that the rule invokes to evaluate your resources. When you use the ``ConfigRule`` resource to add a Custom LAM rule to CC, you must specify the Amazon Resource Name (ARN) that LAMlong assigns to the function. You specify the ARN in the ``SourceIdentifier`` key. This key is part of the ``Source`` object, which is part of the ``ConfigRule`` object. \n For any new CC rule that you add, specify the ``ConfigRuleName`` in the ``ConfigRule`` object. Do not specify the ``ConfigRuleArn`` or the ``ConfigRuleId``. These values are generated by CC for new rules.\n If you are updating a rule that you added previously, you can specify the rule by ``ConfigRuleName``, ``ConfigRuleId``, or ``ConfigRuleArn`` in the ``ConfigRule`` data type that you use in this request.\n For more information about developing and using CC rules, see [Evaluating Resources with Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html)" + "Amazon Lex conversational bot performing automated tasks such as ordering a pizza, booking a hotel, and so on. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html)" ] }, "Properties": { - "$ref": "resources/aws-config-configrule.json" + "$ref": "resources/aws-lex-bot.json" } }, "required": [ @@ -17636,9 +17404,9 @@ ], "additionalProperties": false }, - "AWS_WAF_Rule": { + "AWS_AppFlow_ConnectorProfile": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAF::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-rule.html)", + "markdownDescription": "Resource Type definition for AWS::AppFlow::ConnectorProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connectorprofile.html)", "allOf": [ { "type": "object", @@ -17646,14 +17414,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAF::Rule" + "AWS::AppFlow::ConnectorProfile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAF::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-rule.html)" + "Resource Type definition for AWS::AppFlow::ConnectorProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connectorprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-waf-rule.json" + "$ref": "resources/aws-appflow-connectorprofile.json" } }, "required": [ @@ -17667,9 +17435,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Device": { + "AWS_EC2_VerifiedAccessInstance": { "type": "object", - "markdownDescription": "Resource schema for AWS::SageMaker::Device \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-device.html)", + "markdownDescription": "The AWS::EC2::VerifiedAccessInstance resource creates an AWS EC2 Verified Access Instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html)", "allOf": [ { "type": "object", @@ -17677,19 +17445,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Device" + "AWS::EC2::VerifiedAccessInstance" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::SageMaker::Device \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-device.html)" + "The AWS::EC2::VerifiedAccessInstance resource creates an AWS EC2 Verified Access Instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-device.json" + "$ref": "resources/aws-ec2-verifiedaccessinstance.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -17698,9 +17465,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_Deployment": { + "AWS_OpenSearchService_Domain": { "type": "object", - "markdownDescription": "The ``AWS::ApiGatewayV2::Deployment`` resource creates a deployment for an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-deployment.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchservice-domain.html)", "allOf": [ { "type": "object", @@ -17708,19 +17475,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::Deployment" + "AWS::OpenSearchService::Domain" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGatewayV2::Deployment`` resource creates a deployment for an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-deployment.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchservice-domain.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-deployment.json" + "$ref": "resources/aws-opensearchservice-domain.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -17729,9 +17495,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_InputSecurityGroup": { + "AWS_SES_EmailIdentity": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MediaLive::InputSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-inputsecuritygroup.html)", + "markdownDescription": "Resource Type definition for AWS::SES::EmailIdentity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-emailidentity.html)", "allOf": [ { "type": "object", @@ -17739,18 +17505,19 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::InputSecurityGroup" + "AWS::SES::EmailIdentity" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MediaLive::InputSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-inputsecuritygroup.html)" + "Resource Type definition for AWS::SES::EmailIdentity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-emailidentity.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-inputsecuritygroup.json" + "$ref": "resources/aws-ses-emailidentity.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -17759,9 +17526,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_Image": { + "AWS_AppIntegrations_EventIntegration": { "type": "object", - "markdownDescription": "Resource schema for AWS::ImageBuilder::Image \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html)", + "markdownDescription": "Resource Type definition for AWS::AppIntegrations::EventIntegration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-eventintegration.html)", "allOf": [ { "type": "object", @@ -17769,18 +17536,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::Image" + "AWS::AppIntegrations::EventIntegration" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::Image \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html)" + "Resource Type definition for AWS::AppIntegrations::EventIntegration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-eventintegration.html)" ] }, "Properties": { - "$ref": "resources/aws-imagebuilder-image.json" + "$ref": "resources/aws-appintegrations-eventintegration.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -17789,9 +17557,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolRiskConfigurationAttachment": { + "AWS_DevOpsGuru_ResourceCollection": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolRiskConfigurationAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html)", + "markdownDescription": "This resource schema represents the ResourceCollection resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-resourcecollection.html)", "allOf": [ { "type": "object", @@ -17799,14 +17567,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolRiskConfigurationAttachment" + "AWS::DevOpsGuru::ResourceCollection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolRiskConfigurationAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html)" + "This resource schema represents the ResourceCollection resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-resourcecollection.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-userpoolriskconfigurationattachment.json" + "$ref": "resources/aws-devopsguru-resourcecollection.json" } }, "required": [ @@ -17820,9 +17588,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_Portfolio": { + "AWS_SimSpaceWeaver_Simulation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::Portfolio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.html)", + "markdownDescription": "AWS::SimSpaceWeaver::Simulation resource creates an AWS Simulation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-simspaceweaver-simulation.html)", "allOf": [ { "type": "object", @@ -17830,14 +17598,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::Portfolio" + "AWS::SimSpaceWeaver::Simulation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::Portfolio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.html)" + "AWS::SimSpaceWeaver::Simulation resource creates an AWS Simulation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-simspaceweaver-simulation.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-portfolio.json" + "$ref": "resources/aws-simspaceweaver-simulation.json" } }, "required": [ @@ -17851,9 +17619,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_Environment": { + "AWS_Kinesis_ResourcePolicy": { "type": "object", - "markdownDescription": "Definition of AWS::DataZone::Environment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environment.html)", + "markdownDescription": "Resource Type definition for AWS::Kinesis::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-resourcepolicy.html)", "allOf": [ { "type": "object", @@ -17861,14 +17629,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::Environment" + "AWS::Kinesis::ResourcePolicy" ], "markdownEnumDescriptions": [ - "Definition of AWS::DataZone::Environment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environment.html)" + "Resource Type definition for AWS::Kinesis::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-resourcepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-environment.json" + "$ref": "resources/aws-kinesis-resourcepolicy.json" } }, "required": [ @@ -17882,9 +17650,9 @@ ], "additionalProperties": false }, - "AWS_IdentityStore_Group": { + "AWS_QuickSight_Template": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IdentityStore::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-group.html)", + "markdownDescription": "Definition of the AWS::QuickSight::Template Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html)", "allOf": [ { "type": "object", @@ -17892,14 +17660,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IdentityStore::Group" + "AWS::QuickSight::Template" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IdentityStore::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-group.html)" + "Definition of the AWS::QuickSight::Template Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html)" ] }, "Properties": { - "$ref": "resources/aws-identitystore-group.json" + "$ref": "resources/aws-quicksight-template.json" } }, "required": [ @@ -17913,9 +17681,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_EventSubscription": { + "AWS_Detective_OrganizationAdmin": { "type": "object", - "markdownDescription": "The `AWS::Redshift::EventSubscription` resource creates an Amazon Redshift Event Subscription. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-eventsubscription.html)", + "markdownDescription": "Resource schema for AWS::Detective::OrganizationAdmin \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-organizationadmin.html)", "allOf": [ { "type": "object", @@ -17923,14 +17691,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::EventSubscription" + "AWS::Detective::OrganizationAdmin" ], "markdownEnumDescriptions": [ - "The `AWS::Redshift::EventSubscription` resource creates an Amazon Redshift Event Subscription. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-eventsubscription.html)" + "Resource schema for AWS::Detective::OrganizationAdmin \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-organizationadmin.html)" ] }, "Properties": { - "$ref": "resources/aws-redshift-eventsubscription.json" + "$ref": "resources/aws-detective-organizationadmin.json" } }, "required": [ @@ -17944,9 +17712,9 @@ ], "additionalProperties": false }, - "AWS_Backup_BackupVault": { + "AWS_MediaPackage_OriginEndpoint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Backup::BackupVault \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html)", + "markdownDescription": "Resource schema for AWS::MediaPackage::OriginEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html)", "allOf": [ { "type": "object", @@ -17954,14 +17722,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Backup::BackupVault" + "AWS::MediaPackage::OriginEndpoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Backup::BackupVault \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html)" + "Resource schema for AWS::MediaPackage::OriginEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-backup-backupvault.json" + "$ref": "resources/aws-mediapackage-originendpoint.json" } }, "required": [ @@ -17975,9 +17743,9 @@ ], "additionalProperties": false }, - "AWS_DLM_LifecyclePolicy": { + "AWS_Bedrock_Agent": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DLM::LifecyclePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html)", + "markdownDescription": "Definition of AWS::Bedrock::Agent Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html)", "allOf": [ { "type": "object", @@ -17985,18 +17753,19 @@ "Type": { "type": "string", "enum": [ - "AWS::DLM::LifecyclePolicy" + "AWS::Bedrock::Agent" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DLM::LifecyclePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html)" + "Definition of AWS::Bedrock::Agent Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html)" ] }, "Properties": { - "$ref": "resources/aws-dlm-lifecyclepolicy.json" + "$ref": "resources/aws-bedrock-agent.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -18005,9 +17774,9 @@ ], "additionalProperties": false }, - "AWS_Signer_ProfilePermission": { + "AWS_EC2_TrafficMirrorFilter": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-profilepermission.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::TrafficMirrorFilter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html)", "allOf": [ { "type": "object", @@ -18015,19 +17784,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Signer::ProfilePermission" + "AWS::EC2::TrafficMirrorFilter" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-profilepermission.html)" + "Resource Type definition for AWS::EC2::TrafficMirrorFilter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html)" ] }, "Properties": { - "$ref": "resources/aws-signer-profilepermission.json" + "$ref": "resources/aws-ec2-trafficmirrorfilter.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -18036,9 +17804,9 @@ ], "additionalProperties": false }, - "AWS_IoT_SoftwarePackageVersion": { + "AWS_IAM_ManagedPolicy": { "type": "object", - "markdownDescription": "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackageversion.html)", + "markdownDescription": "Creates a new managed policy for your AWS-account.\n This operation creates a policy version with a version identifier of ``v1`` and sets v1 as the policy's default version. For more information about policy versions, see [Versioning for managed policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) in the *IAM User Guide*.\n As a best practice, you can validate your IAM policies. To learn more, see [Validating IAM policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_policy-validator.html) in the *IAM User Guide*.\n For more information about managed policies in general, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html)", "allOf": [ { "type": "object", @@ -18046,14 +17814,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::SoftwarePackageVersion" + "AWS::IAM::ManagedPolicy" ], "markdownEnumDescriptions": [ - "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackageversion.html)" + "Creates a new managed policy for your AWS-account.\n This operation creates a policy version with a version identifier of ``v1`` and sets v1 as the policy's default version. For more information about policy versions, see [Versioning for managed policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) in the *IAM User Guide*.\n As a best practice, you can validate your IAM policies. To learn more, see [Validating IAM policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_policy-validator.html) in the *IAM User Guide*.\n For more information about managed policies in general, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-softwarepackageversion.json" + "$ref": "resources/aws-iam-managedpolicy.json" } }, "required": [ @@ -18067,9 +17835,9 @@ ], "additionalProperties": false }, - "AWS_CloudWatch_InsightRule": { + "AWS_Redshift_Cluster": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudWatch::InsightRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html)", "allOf": [ { "type": "object", @@ -18077,14 +17845,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudWatch::InsightRule" + "AWS::Redshift::Cluster" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudWatch::InsightRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudwatch-insightrule.json" + "$ref": "resources/aws-redshift-cluster.json" } }, "required": [ @@ -18098,9 +17866,9 @@ ], "additionalProperties": false }, - "AWS_VoiceID_Domain": { + "AWS_ApiGatewayV2_VpcLink": { "type": "object", - "markdownDescription": "The AWS::VoiceID::Domain resource specifies an Amazon VoiceID Domain. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-voiceid-domain.html)", + "markdownDescription": "The ``AWS::ApiGatewayV2::VpcLink`` resource creates a VPC link. Supported only for HTTP APIs. The VPC link status must transition from ``PENDING`` to ``AVAILABLE`` to successfully create a VPC link, which can take up to 10 minutes. To learn more, see [Working with VPC Links for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-vpc-links.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html)", "allOf": [ { "type": "object", @@ -18108,14 +17876,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VoiceID::Domain" + "AWS::ApiGatewayV2::VpcLink" ], "markdownEnumDescriptions": [ - "The AWS::VoiceID::Domain resource specifies an Amazon VoiceID Domain. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-voiceid-domain.html)" + "The ``AWS::ApiGatewayV2::VpcLink`` resource creates a VPC link. Supported only for HTTP APIs. The VPC link status must transition from ``PENDING`` to ``AVAILABLE`` to successfully create a VPC link, which can take up to 10 minutes. To learn more, see [Working with VPC Links for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-vpc-links.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html)" ] }, "Properties": { - "$ref": "resources/aws-voiceid-domain.json" + "$ref": "resources/aws-apigatewayv2-vpclink.json" } }, "required": [ @@ -18129,9 +17897,9 @@ ], "additionalProperties": false }, - "AWS_Config_ConfigurationRecorder": { + "AWS_S3_MultiRegionAccessPoint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Config::ConfigurationRecorder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html)", + "markdownDescription": "AWS::S3::MultiRegionAccessPoint is an Amazon S3 resource type that dynamically routes S3 requests to easily satisfy geographic compliance requirements based on customer-defined routing policies. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html)", "allOf": [ { "type": "object", @@ -18139,14 +17907,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::ConfigurationRecorder" + "AWS::S3::MultiRegionAccessPoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Config::ConfigurationRecorder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html)" + "AWS::S3::MultiRegionAccessPoint is an Amazon S3 resource type that dynamically routes S3 requests to easily satisfy geographic compliance requirements based on customer-defined routing policies. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html)" ] }, "Properties": { - "$ref": "resources/aws-config-configurationrecorder.json" + "$ref": "resources/aws-s3-multiregionaccesspoint.json" } }, "required": [ @@ -18160,9 +17928,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_ConnectorDefinitionVersion": { + "AWS_CustomerProfiles_EventTrigger": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::ConnectorDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html)", + "markdownDescription": "An event trigger resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventtrigger.html)", "allOf": [ { "type": "object", @@ -18170,14 +17938,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::ConnectorDefinitionVersion" + "AWS::CustomerProfiles::EventTrigger" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::ConnectorDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html)" + "An event trigger resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventtrigger.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-connectordefinitionversion.json" + "$ref": "resources/aws-customerprofiles-eventtrigger.json" } }, "required": [ @@ -18191,9 +17959,9 @@ ], "additionalProperties": false }, - "AWS_CUR_ReportDefinition": { + "AWS_ElasticLoadBalancingV2_ListenerCertificate": { "type": "object", - "markdownDescription": "The AWS::CUR::ReportDefinition resource creates a Cost & Usage Report with user-defined settings. You can use this resource to define settings like time granularity (hourly, daily, monthly), file format (Parquet, CSV), and S3 bucket for delivery of these reports. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html)", + "markdownDescription": "Resource Type definition for AWS::ElasticLoadBalancingV2::ListenerCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html)", "allOf": [ { "type": "object", @@ -18201,14 +17969,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CUR::ReportDefinition" + "AWS::ElasticLoadBalancingV2::ListenerCertificate" ], "markdownEnumDescriptions": [ - "The AWS::CUR::ReportDefinition resource creates a Cost & Usage Report with user-defined settings. You can use this resource to define settings like time granularity (hourly, daily, monthly), file format (Parquet, CSV), and S3 bucket for delivery of these reports. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html)" + "Resource Type definition for AWS::ElasticLoadBalancingV2::ListenerCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html)" ] }, "Properties": { - "$ref": "resources/aws-cur-reportdefinition.json" + "$ref": "resources/aws-elasticloadbalancingv2-listenercertificate.json" } }, "required": [ @@ -18222,9 +17990,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolUICustomizationAttachment": { + "AWS_SES_MailManagerAddonInstance": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolUICustomizationAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html)", + "markdownDescription": "Definition of AWS::SES::MailManagerAddonInstance Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddoninstance.html)", "allOf": [ { "type": "object", @@ -18232,14 +18000,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolUICustomizationAttachment" + "AWS::SES::MailManagerAddonInstance" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolUICustomizationAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html)" + "Definition of AWS::SES::MailManagerAddonInstance Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddoninstance.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-userpooluicustomizationattachment.json" + "$ref": "resources/aws-ses-mailmanageraddoninstance.json" } }, "required": [ @@ -18253,9 +18021,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_Cluster": { + "AWS_Logs_Integration": { "type": "object", - "markdownDescription": "Definition of AWS::MediaLive::Cluster Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cluster.html)", + "markdownDescription": "Resource Schema for Logs Integration Resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-integration.html)", "allOf": [ { "type": "object", @@ -18263,18 +18031,19 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::Cluster" + "AWS::Logs::Integration" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaLive::Cluster Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cluster.html)" + "Resource Schema for Logs Integration Resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-integration.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-cluster.json" + "$ref": "resources/aws-logs-integration.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -18283,9 +18052,9 @@ ], "additionalProperties": false }, - "AWS_Logs_DeliveryDestination": { + "AWS_ElasticLoadBalancingV2_TargetGroup": { "type": "object", - "markdownDescription": "This structure contains information about one delivery destination in your account.\n\nA delivery destination is an AWS resource that represents an AWS service that logs can be sent to CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverydestination.html)", + "markdownDescription": "Resource Type definition for AWS::ElasticLoadBalancingV2::TargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html)", "allOf": [ { "type": "object", @@ -18293,19 +18062,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::DeliveryDestination" + "AWS::ElasticLoadBalancingV2::TargetGroup" ], "markdownEnumDescriptions": [ - "This structure contains information about one delivery destination in your account.\n\nA delivery destination is an AWS resource that represents an AWS service that logs can be sent to CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverydestination.html)" + "Resource Type definition for AWS::ElasticLoadBalancingV2::TargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-deliverydestination.json" + "$ref": "resources/aws-elasticloadbalancingv2-targetgroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -18314,9 +18082,9 @@ ], "additionalProperties": false }, - "AWS_IAM_ManagedPolicy": { + "AWS_Cognito_UserPoolDomain": { "type": "object", - "markdownDescription": "Creates a new managed policy for your AWS-account.\n This operation creates a policy version with a version identifier of ``v1`` and sets v1 as the policy's default version. For more information about policy versions, see [Versioning for managed policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) in the *IAM User Guide*.\n As a best practice, you can validate your IAM policies. To learn more, see [Validating IAM policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_policy-validator.html) in the *IAM User Guide*.\n For more information about managed policies in general, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolDomain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html)", "allOf": [ { "type": "object", @@ -18324,14 +18092,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::ManagedPolicy" + "AWS::Cognito::UserPoolDomain" ], "markdownEnumDescriptions": [ - "Creates a new managed policy for your AWS-account.\n This operation creates a policy version with a version identifier of ``v1`` and sets v1 as the policy's default version. For more information about policy versions, see [Versioning for managed policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) in the *IAM User Guide*.\n As a best practice, you can validate your IAM policies. To learn more, see [Validating IAM policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_policy-validator.html) in the *IAM User Guide*.\n For more information about managed policies in general, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html)" + "Resource Type definition for AWS::Cognito::UserPoolDomain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-managedpolicy.json" + "$ref": "resources/aws-cognito-userpooldomain.json" } }, "required": [ @@ -18345,9 +18113,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Workflow": { + "AWS_ApiGateway_UsagePlan": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html)", + "markdownDescription": "The ``AWS::ApiGateway::UsagePlan`` resource creates a usage plan for deployed APIs. A usage plan sets a target for the throttling and quota limits on individual client API keys. For more information, see [Creating and Using API Usage Plans in Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) in the *API Gateway Developer Guide*.\n In some cases clients can exceed the targets that you set. Don\u2019t rely on usage plans to control costs. Consider using [](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html) to monitor costs and [](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) to manage API requests. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html)", "allOf": [ { "type": "object", @@ -18355,14 +18123,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Workflow" + "AWS::ApiGateway::UsagePlan" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html)" + "The ``AWS::ApiGateway::UsagePlan`` resource creates a usage plan for deployed APIs. A usage plan sets a target for the throttling and quota limits on individual client API keys. For more information, see [Creating and Using API Usage Plans in Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) in the *API Gateway Developer Guide*.\n In some cases clients can exceed the targets that you set. Don\u2019t rely on usage plans to control costs. Consider using [](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html) to monitor costs and [](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) to manage API requests. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-workflow.json" + "$ref": "resources/aws-apigateway-usageplan.json" } }, "required": [ @@ -18375,9 +18143,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_ServerlessCache": { + "AWS_Connect_HoursOfOperation": { "type": "object", - "markdownDescription": "The AWS::ElastiCache::ServerlessCache resource creates an Amazon ElastiCache Serverless Cache. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::HoursOfOperation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-hoursofoperation.html)", "allOf": [ { "type": "object", @@ -18385,14 +18153,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::ServerlessCache" + "AWS::Connect::HoursOfOperation" ], "markdownEnumDescriptions": [ - "The AWS::ElastiCache::ServerlessCache resource creates an Amazon ElastiCache Serverless Cache. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html)" + "Resource Type definition for AWS::Connect::HoursOfOperation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-hoursofoperation.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-serverlesscache.json" + "$ref": "resources/aws-connect-hoursofoperation.json" } }, "required": [ @@ -18406,9 +18174,9 @@ ], "additionalProperties": false }, - "AWS_ACMPCA_Permission": { + "AWS_Events_ApiDestination": { "type": "object", - "markdownDescription": "Permission set on private certificate authority \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-permission.html)", + "markdownDescription": "Resource Type definition for AWS::Events::ApiDestination. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html)", "allOf": [ { "type": "object", @@ -18416,14 +18184,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ACMPCA::Permission" + "AWS::Events::ApiDestination" ], "markdownEnumDescriptions": [ - "Permission set on private certificate authority \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-permission.html)" + "Resource Type definition for AWS::Events::ApiDestination. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html)" ] }, "Properties": { - "$ref": "resources/aws-acmpca-permission.json" + "$ref": "resources/aws-events-apidestination.json" } }, "required": [ @@ -18437,9 +18205,9 @@ ], "additionalProperties": false }, - "AWS_OpenSearchServerless_Collection": { + "AWS_VerifiedPermissions_IdentitySource": { "type": "object", - "markdownDescription": "Amazon OpenSearchServerless collection resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html)", + "markdownDescription": "Definition of AWS::VerifiedPermissions::IdentitySource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-identitysource.html)", "allOf": [ { "type": "object", @@ -18447,14 +18215,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpenSearchServerless::Collection" + "AWS::VerifiedPermissions::IdentitySource" ], "markdownEnumDescriptions": [ - "Amazon OpenSearchServerless collection resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html)" + "Definition of AWS::VerifiedPermissions::IdentitySource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-identitysource.html)" ] }, "Properties": { - "$ref": "resources/aws-opensearchserverless-collection.json" + "$ref": "resources/aws-verifiedpermissions-identitysource.json" } }, "required": [ @@ -18468,9 +18236,9 @@ ], "additionalProperties": false }, - "AWS_PinpointEmail_DedicatedIpPool": { + "AWS_ConnectCampaignsV2_Campaign": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::PinpointEmail::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-dedicatedippool.html)", + "markdownDescription": "Definition of AWS::ConnectCampaignsV2::Campaign Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaignsv2-campaign.html)", "allOf": [ { "type": "object", @@ -18478,18 +18246,19 @@ "Type": { "type": "string", "enum": [ - "AWS::PinpointEmail::DedicatedIpPool" + "AWS::ConnectCampaignsV2::Campaign" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::PinpointEmail::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-dedicatedippool.html)" + "Definition of AWS::ConnectCampaignsV2::Campaign Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaignsv2-campaign.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpointemail-dedicatedippool.json" + "$ref": "resources/aws-connectcampaignsv2-campaign.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -18498,9 +18267,9 @@ ], "additionalProperties": false }, - "AWS_AmplifyUIBuilder_Component": { + "AWS_ECS_TaskDefinition": { "type": "object", - "markdownDescription": "Definition of AWS::AmplifyUIBuilder::Component Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-component.html)", + "markdownDescription": "Registers a new task definition from the supplied ``family`` and ``containerDefinitions``. Optionally, you can add data volumes to your containers with the ``volumes`` parameter. For more information about task definition parameters and defaults, see [Amazon ECS Task Definitions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) in the *Amazon Elastic Container Service Developer Guide*.\n You can specify a role for your task with the ``taskRoleArn`` parameter. When you specify a role for a task, its containers can then use the latest versions of the CLI or SDKs to make API requests to the AWS services that are specified in the policy that's associated with the role. For more information, see [IAM Roles for Tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) in the *Amazon Elastic Container Service Developer Guide*.\n You can specify a Docker networking mode for the containers in your task definition with the ``networkMode`` parameter. If you specify the ``awsvpc`` network mode, the task is allocated an elastic network interface, and you must specify a [NetworkConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_NetworkConfiguration.html) when you create a service or run a task with the task definition. For more information, see [Task Networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) in the *Amazon Elastic Container Service Developer Guide*.\n In the following example or examples, the Authorization header contents (``AUTHPARAMS``) must be replaced with an AWS Signature Version 4 signature. For more information, see [Signature Version 4 Signing Process](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) in the *General Reference*.\n You only need to learn how to sign HTTP requests if you intend to create them manually. When you use the [](https://docs.aws.amazon.com/cli/) or one of the [SDKs](https://docs.aws.amazon.com/tools/) to make requests to AWS, these tools automatically sign the requests for you, with the access key that you specify when you configure the tools. When you use these tools, you don't have to sign requests yourself. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html)", "allOf": [ { "type": "object", @@ -18508,14 +18277,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AmplifyUIBuilder::Component" + "AWS::ECS::TaskDefinition" ], "markdownEnumDescriptions": [ - "Definition of AWS::AmplifyUIBuilder::Component Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-component.html)" + "Registers a new task definition from the supplied ``family`` and ``containerDefinitions``. Optionally, you can add data volumes to your containers with the ``volumes`` parameter. For more information about task definition parameters and defaults, see [Amazon ECS Task Definitions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) in the *Amazon Elastic Container Service Developer Guide*.\n You can specify a role for your task with the ``taskRoleArn`` parameter. When you specify a role for a task, its containers can then use the latest versions of the CLI or SDKs to make API requests to the AWS services that are specified in the policy that's associated with the role. For more information, see [IAM Roles for Tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) in the *Amazon Elastic Container Service Developer Guide*.\n You can specify a Docker networking mode for the containers in your task definition with the ``networkMode`` parameter. If you specify the ``awsvpc`` network mode, the task is allocated an elastic network interface, and you must specify a [NetworkConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_NetworkConfiguration.html) when you create a service or run a task with the task definition. For more information, see [Task Networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) in the *Amazon Elastic Container Service Developer Guide*.\n In the following example or examples, the Authorization header contents (``AUTHPARAMS``) must be replaced with an AWS Signature Version 4 signature. For more information, see [Signature Version 4 Signing Process](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) in the *General Reference*.\n You only need to learn how to sign HTTP requests if you intend to create them manually. When you use the [](https://docs.aws.amazon.com/cli/) or one of the [SDKs](https://docs.aws.amazon.com/tools/) to make requests to AWS, these tools automatically sign the requests for you, with the access key that you specify when you configure the tools. When you use these tools, you don't have to sign requests yourself. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-amplifyuibuilder-component.json" + "$ref": "resources/aws-ecs-taskdefinition.json" } }, "required": [ @@ -18528,9 +18297,9 @@ ], "additionalProperties": false }, - "AWS_OpenSearchService_Domain": { + "AWS_MediaConvert_Queue": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchservice-domain.html)", + "markdownDescription": "Resource Type definition for AWS::MediaConvert::Queue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html)", "allOf": [ { "type": "object", @@ -18538,14 +18307,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpenSearchService::Domain" + "AWS::MediaConvert::Queue" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchservice-domain.html)" + "Resource Type definition for AWS::MediaConvert::Queue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html)" ] }, "Properties": { - "$ref": "resources/aws-opensearchservice-domain.json" + "$ref": "resources/aws-mediaconvert-queue.json" } }, "required": [ @@ -18558,9 +18327,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_IdentityPoolRoleAttachment": { + "AWS_ECR_RepositoryCreationTemplate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::IdentityPoolRoleAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html)", + "markdownDescription": "AWS::ECR::RepositoryCreationTemplate is used to create repository with configuration from a pre-defined template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html)", "allOf": [ { "type": "object", @@ -18568,14 +18337,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::IdentityPoolRoleAttachment" + "AWS::ECR::RepositoryCreationTemplate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::IdentityPoolRoleAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html)" + "AWS::ECR::RepositoryCreationTemplate is used to create repository with configuration from a pre-defined template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-identitypoolroleattachment.json" + "$ref": "resources/aws-ecr-repositorycreationtemplate.json" } }, "required": [ @@ -18589,9 +18358,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_SiteToSiteVpnAttachment": { + "AWS_ApiGatewayV2_Api": { "type": "object", - "markdownDescription": "AWS::NetworkManager::SiteToSiteVpnAttachment Resource Type definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-sitetositevpnattachment.html)", + "markdownDescription": "The ``AWS::ApiGatewayV2::Api`` resource creates an API. WebSocket APIs and HTTP APIs are supported. For more information about WebSocket APIs, see [About WebSocket APIs in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-overview.html) in the *API Gateway Developer Guide*. For more information about HTTP APIs, see [HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html) in the *API Gateway Developer Guide.* \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html)", "allOf": [ { "type": "object", @@ -18599,19 +18368,18 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::SiteToSiteVpnAttachment" + "AWS::ApiGatewayV2::Api" ], "markdownEnumDescriptions": [ - "AWS::NetworkManager::SiteToSiteVpnAttachment Resource Type definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-sitetositevpnattachment.html)" + "The ``AWS::ApiGatewayV2::Api`` resource creates an API. WebSocket APIs and HTTP APIs are supported. For more information about WebSocket APIs, see [About WebSocket APIs in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-overview.html) in the *API Gateway Developer Guide*. For more information about HTTP APIs, see [HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html) in the *API Gateway Developer Guide.* \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-sitetositevpnattachment.json" + "$ref": "resources/aws-apigatewayv2-api.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -18620,9 +18388,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_CloudWatchAlarmTemplate": { + "AWS_SecretsManager_ResourcePolicy": { "type": "object", - "markdownDescription": "Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cloudwatchalarmtemplate.html)", + "markdownDescription": "Resource Type definition for AWS::SecretsManager::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-resourcepolicy.html)", "allOf": [ { "type": "object", @@ -18630,14 +18398,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::CloudWatchAlarmTemplate" + "AWS::SecretsManager::ResourcePolicy" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cloudwatchalarmtemplate.html)" + "Resource Type definition for AWS::SecretsManager::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-resourcepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-cloudwatchalarmtemplate.json" + "$ref": "resources/aws-secretsmanager-resourcepolicy.json" } }, "required": [ @@ -18651,9 +18419,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_EnvironmentProfile": { + "AWS_Deadline_Fleet": { "type": "object", - "markdownDescription": "AWS Datazone Environment Profile is pre-configured set of resources and blueprints that provide reusable templates for creating environments. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentprofile.html)", + "markdownDescription": "Definition of AWS::Deadline::Fleet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-fleet.html)", "allOf": [ { "type": "object", @@ -18661,14 +18429,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::EnvironmentProfile" + "AWS::Deadline::Fleet" ], "markdownEnumDescriptions": [ - "AWS Datazone Environment Profile is pre-configured set of resources and blueprints that provide reusable templates for creating environments. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentprofile.html)" + "Definition of AWS::Deadline::Fleet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-fleet.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-environmentprofile.json" + "$ref": "resources/aws-deadline-fleet.json" } }, "required": [ @@ -18682,9 +18450,9 @@ ], "additionalProperties": false }, - "AWS_FraudDetector_EventType": { + "AWS_Route53RecoveryControl_Cluster": { "type": "object", - "markdownDescription": "A resource schema for an EventType in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-eventtype.html)", + "markdownDescription": "AWS Route53 Recovery Control Cluster resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-cluster.html)", "allOf": [ { "type": "object", @@ -18692,14 +18460,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FraudDetector::EventType" + "AWS::Route53RecoveryControl::Cluster" ], "markdownEnumDescriptions": [ - "A resource schema for an EventType in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-eventtype.html)" + "AWS Route53 Recovery Control Cluster resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-frauddetector-eventtype.json" + "$ref": "resources/aws-route53recoverycontrol-cluster.json" } }, "required": [ @@ -18713,9 +18481,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_WirelessGateway": { + "AWS_IoTSiteWise_Project": { "type": "object", - "markdownDescription": "Create and manage wireless gateways, including LoRa gateways. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html)", + "markdownDescription": "Resource schema for AWS::IoTSiteWise::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.html)", "allOf": [ { "type": "object", @@ -18723,14 +18491,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::WirelessGateway" + "AWS::IoTSiteWise::Project" ], "markdownEnumDescriptions": [ - "Create and manage wireless gateways, including LoRa gateways. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html)" + "Resource schema for AWS::IoTSiteWise::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-wirelessgateway.json" + "$ref": "resources/aws-iotsitewise-project.json" } }, "required": [ @@ -18744,9 +18512,9 @@ ], "additionalProperties": false }, - "AWS_IVS_StreamKey": { + "AWS_CloudFormation_WaitConditionHandle": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IVS::StreamKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-streamkey.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFormation::WaitConditionHandle \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitconditionhandle.html)", "allOf": [ { "type": "object", @@ -18754,19 +18522,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::StreamKey" + "AWS::CloudFormation::WaitConditionHandle" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IVS::StreamKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-streamkey.html)" + "Resource Type definition for AWS::CloudFormation::WaitConditionHandle \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitconditionhandle.html)" ] }, "Properties": { - "$ref": "resources/aws-ivs-streamkey.json" + "$ref": "resources/aws-cloudformation-waitconditionhandle.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -18775,9 +18542,9 @@ ], "additionalProperties": false }, - "AWS_Personalize_Solution": { + "AWS_ECS_ClusterCapacityProviderAssociations": { "type": "object", - "markdownDescription": "Resource schema for AWS::Personalize::Solution. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-solution.html)", + "markdownDescription": "Associate a set of ECS Capacity Providers with a specified ECS Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-clustercapacityproviderassociations.html)", "allOf": [ { "type": "object", @@ -18785,14 +18552,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Personalize::Solution" + "AWS::ECS::ClusterCapacityProviderAssociations" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Personalize::Solution. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-solution.html)" + "Associate a set of ECS Capacity Providers with a specified ECS Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-clustercapacityproviderassociations.html)" ] }, "Properties": { - "$ref": "resources/aws-personalize-solution.json" + "$ref": "resources/aws-ecs-clustercapacityproviderassociations.json" } }, "required": [ @@ -18806,9 +18573,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_FlowOutput": { + "AWS_IoT_DomainConfiguration": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaConnect::FlowOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html)", + "markdownDescription": "Create and manage a Domain Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.html)", "allOf": [ { "type": "object", @@ -18816,19 +18583,18 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::FlowOutput" + "AWS::IoT::DomainConfiguration" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::FlowOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html)" + "Create and manage a Domain Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconnect-flowoutput.json" + "$ref": "resources/aws-iot-domainconfiguration.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -18837,9 +18603,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_FlowVpcInterface": { + "AWS_WorkSpaces_WorkspacesPool": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaConnect::FlowVpcInterface \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html)", + "markdownDescription": "Resource Type definition for AWS::WorkSpaces::WorkspacesPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html)", "allOf": [ { "type": "object", @@ -18847,14 +18613,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::FlowVpcInterface" + "AWS::WorkSpaces::WorkspacesPool" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::FlowVpcInterface \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html)" + "Resource Type definition for AWS::WorkSpaces::WorkspacesPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconnect-flowvpcinterface.json" + "$ref": "resources/aws-workspaces-workspacespool.json" } }, "required": [ @@ -18868,9 +18634,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_Cluster": { + "AWS_ElasticLoadBalancingV2_LoadBalancer": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html)", + "markdownDescription": "Specifies an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html)", "allOf": [ { "type": "object", @@ -18878,19 +18644,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::Cluster" + "AWS::ElasticLoadBalancingV2::LoadBalancer" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html)" + "Specifies an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html)" ] }, "Properties": { - "$ref": "resources/aws-redshift-cluster.json" + "$ref": "resources/aws-elasticloadbalancingv2-loadbalancer.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -18899,9 +18664,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_Theme": { + "AWS_ResourceExplorer2_Index": { "type": "object", - "markdownDescription": "Definition of the AWS::QuickSight::Theme Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html)", + "markdownDescription": "Definition of AWS::ResourceExplorer2::Index Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-index.html)", "allOf": [ { "type": "object", @@ -18909,14 +18674,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::Theme" + "AWS::ResourceExplorer2::Index" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::Theme Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html)" + "Definition of AWS::ResourceExplorer2::Index Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-index.html)" ] }, "Properties": { - "$ref": "resources/aws-quicksight-theme.json" + "$ref": "resources/aws-resourceexplorer2-index.json" } }, "required": [ @@ -18930,9 +18695,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayConnect": { + "AWS_Signer_SigningProfile": { "type": "object", - "markdownDescription": "The AWS::EC2::TransitGatewayConnect type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnect.html)", + "markdownDescription": "A signing profile is a signing template that can be used to carry out a pre-defined signing job. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-signingprofile.html)", "allOf": [ { "type": "object", @@ -18940,14 +18705,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayConnect" + "AWS::Signer::SigningProfile" ], "markdownEnumDescriptions": [ - "The AWS::EC2::TransitGatewayConnect type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnect.html)" + "A signing profile is a signing template that can be used to carry out a pre-defined signing job. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-signingprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewayconnect.json" + "$ref": "resources/aws-signer-signingprofile.json" } }, "required": [ @@ -18961,9 +18726,9 @@ ], "additionalProperties": false }, - "AWS_ECR_RegistryPolicy": { + "AWS_Amplify_App": { "type": "object", - "markdownDescription": "The ``AWS::ECR::RegistryPolicy`` resource creates or updates the permissions policy for a private registry.\n A private registry policy is used to specify permissions for another AWS-account and is used when configuring cross-account replication. For more information, see [Registry permissions](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry-permissions.html) in the *Amazon Elastic Container Registry User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-registrypolicy.html)", + "markdownDescription": "The AWS::Amplify::App resource creates Apps in the Amplify Console. An App is a collection of branches. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html)", "allOf": [ { "type": "object", @@ -18971,14 +18736,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECR::RegistryPolicy" + "AWS::Amplify::App" ], "markdownEnumDescriptions": [ - "The ``AWS::ECR::RegistryPolicy`` resource creates or updates the permissions policy for a private registry.\n A private registry policy is used to specify permissions for another AWS-account and is used when configuring cross-account replication. For more information, see [Registry permissions](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry-permissions.html) in the *Amazon Elastic Container Registry User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-registrypolicy.html)" + "The AWS::Amplify::App resource creates Apps in the Amplify Console. An App is a collection of branches. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html)" ] }, "Properties": { - "$ref": "resources/aws-ecr-registrypolicy.json" + "$ref": "resources/aws-amplify-app.json" } }, "required": [ @@ -18992,9 +18757,9 @@ ], "additionalProperties": false }, - "AWS_RUM_AppMonitor": { + "AWS_PCS_Cluster": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::RUM::AppMonitor \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rum-appmonitor.html)", + "markdownDescription": "AWS::PCS::Cluster resource creates an AWS PCS cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-cluster.html)", "allOf": [ { "type": "object", @@ -19002,14 +18767,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RUM::AppMonitor" + "AWS::PCS::Cluster" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::RUM::AppMonitor \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rum-appmonitor.html)" + "AWS::PCS::Cluster resource creates an AWS PCS cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcs-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-rum-appmonitor.json" + "$ref": "resources/aws-pcs-cluster.json" } }, "required": [ @@ -19023,9 +18788,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_DocumentationVersion": { + "AWS_DataSync_LocationHDFS": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::DocumentationVersion`` resource creates a snapshot of the documentation for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationHDFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationhdfs.html)", "allOf": [ { "type": "object", @@ -19033,14 +18798,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::DocumentationVersion" + "AWS::DataSync::LocationHDFS" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::DocumentationVersion`` resource creates a snapshot of the documentation for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html)" + "Resource schema for AWS::DataSync::LocationHDFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationhdfs.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-documentationversion.json" + "$ref": "resources/aws-datasync-locationhdfs.json" } }, "required": [ @@ -19054,9 +18819,9 @@ ], "additionalProperties": false }, - "AWS_FraudDetector_Outcome": { + "AWS_SDB_Domain": { "type": "object", - "markdownDescription": "An outcome for rule evaluation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-outcome.html)", + "markdownDescription": "Resource Type definition for AWS::SDB::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sdb-domain.html)", "allOf": [ { "type": "object", @@ -19064,19 +18829,18 @@ "Type": { "type": "string", "enum": [ - "AWS::FraudDetector::Outcome" + "AWS::SDB::Domain" ], "markdownEnumDescriptions": [ - "An outcome for rule evaluation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-outcome.html)" + "Resource Type definition for AWS::SDB::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sdb-domain.html)" ] }, "Properties": { - "$ref": "resources/aws-frauddetector-outcome.json" + "$ref": "resources/aws-sdb-domain.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -19085,9 +18849,9 @@ ], "additionalProperties": false }, - "AWS_SNS_TopicPolicy": { + "AWS_VpcLattice_ServiceNetworkVpcAssociation": { "type": "object", - "markdownDescription": "The ``AWS::SNS::TopicPolicy`` resource associates SNS topics with a policy. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sns-policy) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicpolicy.html)", + "markdownDescription": "Associates a VPC with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkvpcassociation.html)", "allOf": [ { "type": "object", @@ -19095,19 +18859,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SNS::TopicPolicy" + "AWS::VpcLattice::ServiceNetworkVpcAssociation" ], "markdownEnumDescriptions": [ - "The ``AWS::SNS::TopicPolicy`` resource associates SNS topics with a policy. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sns-policy) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicpolicy.html)" + "Associates a VPC with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkvpcassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-sns-topicpolicy.json" + "$ref": "resources/aws-vpclattice-servicenetworkvpcassociation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -19116,9 +18879,9 @@ ], "additionalProperties": false }, - "AWS_IoT_ThingPrincipalAttachment": { + "AWS_CloudFront_KeyValueStore": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT::ThingPrincipalAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingprincipalattachment.html)", + "markdownDescription": "The key value store. Use this to separate data from function code, allowing you to update data without having to publish a new version of a function. The key value store holds keys and their corresponding values. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keyvaluestore.html)", "allOf": [ { "type": "object", @@ -19126,14 +18889,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::ThingPrincipalAttachment" + "AWS::CloudFront::KeyValueStore" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::ThingPrincipalAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingprincipalattachment.html)" + "The key value store. Use this to separate data from function code, allowing you to update data without having to publish a new version of a function. The key value store holds keys and their corresponding values. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keyvaluestore.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-thingprincipalattachment.json" + "$ref": "resources/aws-cloudfront-keyvaluestore.json" } }, "required": [ @@ -19147,9 +18910,9 @@ ], "additionalProperties": false }, - "AWS_EC2_Route": { + "AWS_Batch_ComputeEnvironment": { "type": "object", - "markdownDescription": "Specifies a route in a route table. For more information, see [Routes](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html#route-table-routes) in the *Amazon VPC User Guide*.\n You must specify either a destination CIDR block or prefix list ID. You must also specify exactly one of the resources as the target.\n If you create a route that references a transit gateway in the same template where you create the transit gateway, you must declare a dependency on the transit gateway attachment. The route table cannot use the transit gateway until it has successfully attached to the VPC. Add a [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) in the ``AWS::EC2::Route`` resource to explicitly declare a dependency on the ``AWS::EC2::TransitGatewayAttachment`` resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html)", + "markdownDescription": "Resource Type definition for AWS::Batch::ComputeEnvironment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html)", "allOf": [ { "type": "object", @@ -19157,14 +18920,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::Route" + "AWS::Batch::ComputeEnvironment" ], "markdownEnumDescriptions": [ - "Specifies a route in a route table. For more information, see [Routes](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html#route-table-routes) in the *Amazon VPC User Guide*.\n You must specify either a destination CIDR block or prefix list ID. You must also specify exactly one of the resources as the target.\n If you create a route that references a transit gateway in the same template where you create the transit gateway, you must declare a dependency on the transit gateway attachment. The route table cannot use the transit gateway until it has successfully attached to the VPC. Add a [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) in the ``AWS::EC2::Route`` resource to explicitly declare a dependency on the ``AWS::EC2::TransitGatewayAttachment`` resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html)" + "Resource Type definition for AWS::Batch::ComputeEnvironment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-route.json" + "$ref": "resources/aws-batch-computeenvironment.json" } }, "required": [ @@ -19178,9 +18941,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_DeviceDefinition": { + "AWS_QuickSight_Topic": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::DeviceDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html)", + "markdownDescription": "Definition of the AWS::QuickSight::Topic Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-topic.html)", "allOf": [ { "type": "object", @@ -19188,19 +18951,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::DeviceDefinition" + "AWS::QuickSight::Topic" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::DeviceDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html)" + "Definition of the AWS::QuickSight::Topic Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-topic.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-devicedefinition.json" + "$ref": "resources/aws-quicksight-topic.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -19209,9 +18971,9 @@ ], "additionalProperties": false }, - "AWS_Connect_TaskTemplate": { + "AWS_Lambda_EventInvokeConfig": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::TaskTemplate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-tasktemplate.html)", + "markdownDescription": "The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html)", "allOf": [ { "type": "object", @@ -19219,14 +18981,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::TaskTemplate" + "AWS::Lambda::EventInvokeConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::TaskTemplate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-tasktemplate.html)" + "The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-tasktemplate.json" + "$ref": "resources/aws-lambda-eventinvokeconfig.json" } }, "required": [ @@ -19240,9 +19002,9 @@ ], "additionalProperties": false }, - "AWS_IVS_PublicKey": { + "AWS_OpsWorksCM_Server": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IVS::PublicKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-publickey.html)", + "markdownDescription": "Resource Type definition for AWS::OpsWorksCM::Server \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html)", "allOf": [ { "type": "object", @@ -19250,18 +19012,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::PublicKey" + "AWS::OpsWorksCM::Server" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IVS::PublicKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-publickey.html)" + "Resource Type definition for AWS::OpsWorksCM::Server \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html)" ] }, "Properties": { - "$ref": "resources/aws-ivs-publickey.json" + "$ref": "resources/aws-opsworkscm-server.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -19270,9 +19033,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Bucket": { + "AWS_EC2_IPAMResourceDiscovery": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::Bucket \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html)", + "markdownDescription": "Resource Schema of AWS::EC2::IPAMResourceDiscovery Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscovery.html)", "allOf": [ { "type": "object", @@ -19280,19 +19043,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Bucket" + "AWS::EC2::IPAMResourceDiscovery" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::Bucket \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html)" + "Resource Schema of AWS::EC2::IPAMResourceDiscovery Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscovery.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-bucket.json" + "$ref": "resources/aws-ec2-ipamresourcediscovery.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -19301,9 +19063,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Partition": { + "AWS_Location_TrackerConsumer": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::Partition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html)", + "markdownDescription": "Definition of AWS::Location::TrackerConsumer Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-trackerconsumer.html)", "allOf": [ { "type": "object", @@ -19311,14 +19073,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Partition" + "AWS::Location::TrackerConsumer" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Partition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html)" + "Definition of AWS::Location::TrackerConsumer Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-trackerconsumer.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-partition.json" + "$ref": "resources/aws-location-trackerconsumer.json" } }, "required": [ @@ -19332,9 +19094,9 @@ ], "additionalProperties": false }, - "AWS_Timestream_ScheduledQuery": { + "AWS_S3Outposts_Endpoint": { "type": "object", - "markdownDescription": "The AWS::Timestream::ScheduledQuery resource creates a Timestream Scheduled Query. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-scheduledquery.html)", + "markdownDescription": "Resource Type Definition for AWS::S3Outposts::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-endpoint.html)", "allOf": [ { "type": "object", @@ -19342,14 +19104,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Timestream::ScheduledQuery" + "AWS::S3Outposts::Endpoint" ], "markdownEnumDescriptions": [ - "The AWS::Timestream::ScheduledQuery resource creates a Timestream Scheduled Query. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-scheduledquery.html)" + "Resource Type Definition for AWS::S3Outposts::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-endpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-timestream-scheduledquery.json" + "$ref": "resources/aws-s3outposts-endpoint.json" } }, "required": [ @@ -19363,9 +19125,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolUserToGroupAttachment": { + "AWS_Scheduler_ScheduleGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolUserToGroupAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html)", + "markdownDescription": "Definition of AWS::Scheduler::ScheduleGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedulegroup.html)", "allOf": [ { "type": "object", @@ -19373,19 +19135,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolUserToGroupAttachment" + "AWS::Scheduler::ScheduleGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolUserToGroupAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html)" + "Definition of AWS::Scheduler::ScheduleGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedulegroup.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-userpoolusertogroupattachment.json" + "$ref": "resources/aws-scheduler-schedulegroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -19394,9 +19155,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_SdiSource": { + "AWS_Pinpoint_APNSChannel": { "type": "object", - "markdownDescription": "Definition of AWS::MediaLive::SdiSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-sdisource.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::APNSChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html)", "allOf": [ { "type": "object", @@ -19404,14 +19165,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::SdiSource" + "AWS::Pinpoint::APNSChannel" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaLive::SdiSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-sdisource.html)" + "Resource Type definition for AWS::Pinpoint::APNSChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-sdisource.json" + "$ref": "resources/aws-pinpoint-apnschannel.json" } }, "required": [ @@ -19425,9 +19186,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPNConnectionRoute": { + "AWS_AmazonMQ_Configuration": { "type": "object", - "markdownDescription": "Specifies a static route for a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnectionroute.html)", + "markdownDescription": "Resource Type definition for AWS::AmazonMQ::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html)", "allOf": [ { "type": "object", @@ -19435,14 +19196,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPNConnectionRoute" + "AWS::AmazonMQ::Configuration" ], "markdownEnumDescriptions": [ - "Specifies a static route for a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnectionroute.html)" + "Resource Type definition for AWS::AmazonMQ::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpnconnectionroute.json" + "$ref": "resources/aws-amazonmq-configuration.json" } }, "required": [ @@ -19456,9 +19217,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_ResolverConfig": { + "AWS_LakeFormation_TagAssociation": { "type": "object", - "markdownDescription": "Resource schema for AWS::Route53Resolver::ResolverConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverconfig.html)", + "markdownDescription": "A resource schema representing a Lake Formation Tag Association. While tag associations are not explicit Lake Formation resources, this CloudFormation resource can be used to associate tags with Lake Formation entities. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-tagassociation.html)", "allOf": [ { "type": "object", @@ -19466,14 +19227,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::ResolverConfig" + "AWS::LakeFormation::TagAssociation" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::ResolverConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverconfig.html)" + "A resource schema representing a Lake Formation Tag Association. While tag associations are not explicit Lake Formation resources, this CloudFormation resource can be used to associate tags with Lake Formation entities. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-tagassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-resolverconfig.json" + "$ref": "resources/aws-lakeformation-tagassociation.json" } }, "required": [ @@ -19487,9 +19248,9 @@ ], "additionalProperties": false }, - "AWS_Logs_AccountPolicy": { + "AWS_Config_RemediationConfiguration": { "type": "object", - "markdownDescription": "The AWS::Logs::AccountPolicy resource specifies a CloudWatch Logs AccountPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-accountpolicy.html)", + "markdownDescription": "Resource Type definition for AWS::Config::RemediationConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html)", "allOf": [ { "type": "object", @@ -19497,14 +19258,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::AccountPolicy" + "AWS::Config::RemediationConfiguration" ], "markdownEnumDescriptions": [ - "The AWS::Logs::AccountPolicy resource specifies a CloudWatch Logs AccountPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-accountpolicy.html)" + "Resource Type definition for AWS::Config::RemediationConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-accountpolicy.json" + "$ref": "resources/aws-config-remediationconfiguration.json" } }, "required": [ @@ -19518,9 +19279,9 @@ ], "additionalProperties": false }, - "AWS_OSIS_Pipeline": { + "AWS_WorkSpacesWeb_Portal": { "type": "object", - "markdownDescription": "An OpenSearch Ingestion Service Data Prepper pipeline running Data Prepper. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-osis-pipeline.html)", + "markdownDescription": "Definition of AWS::WorkSpacesWeb::Portal Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-portal.html)", "allOf": [ { "type": "object", @@ -19528,19 +19289,18 @@ "Type": { "type": "string", "enum": [ - "AWS::OSIS::Pipeline" + "AWS::WorkSpacesWeb::Portal" ], "markdownEnumDescriptions": [ - "An OpenSearch Ingestion Service Data Prepper pipeline running Data Prepper. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-osis-pipeline.html)" + "Definition of AWS::WorkSpacesWeb::Portal Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-portal.html)" ] }, "Properties": { - "$ref": "resources/aws-osis-pipeline.json" + "$ref": "resources/aws-workspacesweb-portal.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -19549,9 +19309,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayAttachment": { + "AWS_EC2_CapacityReservationFleet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::TransitGatewayAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::CapacityReservationFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html)", "allOf": [ { "type": "object", @@ -19559,19 +19319,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayAttachment" + "AWS::EC2::CapacityReservationFleet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TransitGatewayAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html)" + "Resource Type definition for AWS::EC2::CapacityReservationFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewayattachment.json" + "$ref": "resources/aws-ec2-capacityreservationfleet.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -19580,9 +19339,9 @@ ], "additionalProperties": false }, - "AWS_SecretsManager_ResourcePolicy": { + "AWS_ElasticBeanstalk_ApplicationVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SecretsManager::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-resourcepolicy.html)", + "markdownDescription": "Resource Type definition for AWS::ElasticBeanstalk::ApplicationVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-applicationversion.html)", "allOf": [ { "type": "object", @@ -19590,14 +19349,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecretsManager::ResourcePolicy" + "AWS::ElasticBeanstalk::ApplicationVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SecretsManager::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-resourcepolicy.html)" + "Resource Type definition for AWS::ElasticBeanstalk::ApplicationVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-applicationversion.html)" ] }, "Properties": { - "$ref": "resources/aws-secretsmanager-resourcepolicy.json" + "$ref": "resources/aws-elasticbeanstalk-applicationversion.json" } }, "required": [ @@ -19611,9 +19370,9 @@ ], "additionalProperties": false }, - "AWS_CertificateManager_Certificate": { + "AWS_EC2_NetworkInsightsAccessScopeAnalysis": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CertificateManager::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html)", + "markdownDescription": "Resource schema for AWS::EC2::NetworkInsightsAccessScopeAnalysis \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscopeanalysis.html)", "allOf": [ { "type": "object", @@ -19621,14 +19380,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CertificateManager::Certificate" + "AWS::EC2::NetworkInsightsAccessScopeAnalysis" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CertificateManager::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html)" + "Resource schema for AWS::EC2::NetworkInsightsAccessScopeAnalysis \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscopeanalysis.html)" ] }, "Properties": { - "$ref": "resources/aws-certificatemanager-certificate.json" + "$ref": "resources/aws-ec2-networkinsightsaccessscopeanalysis.json" } }, "required": [ @@ -19642,9 +19401,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryReadiness_Cell": { + "AWS_MSK_ServerlessCluster": { "type": "object", - "markdownDescription": "The API Schema for AWS Route53 Recovery Readiness Cells. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-cell.html)", + "markdownDescription": "Resource Type definition for AWS::MSK::ServerlessCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-serverlesscluster.html)", "allOf": [ { "type": "object", @@ -19652,18 +19411,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryReadiness::Cell" + "AWS::MSK::ServerlessCluster" ], "markdownEnumDescriptions": [ - "The API Schema for AWS Route53 Recovery Readiness Cells. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-cell.html)" + "Resource Type definition for AWS::MSK::ServerlessCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-serverlesscluster.html)" ] }, "Properties": { - "$ref": "resources/aws-route53recoveryreadiness-cell.json" + "$ref": "resources/aws-msk-serverlesscluster.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -19672,9 +19432,9 @@ ], "additionalProperties": false }, - "AWS_EFS_AccessPoint": { + "AWS_Config_StoredQuery": { "type": "object", - "markdownDescription": "The ``AWS::EFS::AccessPoint`` resource creates an EFS access point. An access point is an application-specific view into an EFS file system that applies an operating system user and group, and a file system path, to any file system request made through the access point. The operating system user and group override any identity information provided by the NFS client. The file system path is exposed as the access point's root directory. Applications using the access point can only access data in its own directory and below. To learn more, see [Mounting a file system using EFS access points](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html).\n This operation requires permissions for the ``elasticfilesystem:CreateAccessPoint`` action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html)", + "markdownDescription": "Resource Type definition for AWS::Config::StoredQuery \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-storedquery.html)", "allOf": [ { "type": "object", @@ -19682,14 +19442,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EFS::AccessPoint" + "AWS::Config::StoredQuery" ], "markdownEnumDescriptions": [ - "The ``AWS::EFS::AccessPoint`` resource creates an EFS access point. An access point is an application-specific view into an EFS file system that applies an operating system user and group, and a file system path, to any file system request made through the access point. The operating system user and group override any identity information provided by the NFS client. The file system path is exposed as the access point's root directory. Applications using the access point can only access data in its own directory and below. To learn more, see [Mounting a file system using EFS access points](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html).\n This operation requires permissions for the ``elasticfilesystem:CreateAccessPoint`` action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html)" + "Resource Type definition for AWS::Config::StoredQuery \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-storedquery.html)" ] }, "Properties": { - "$ref": "resources/aws-efs-accesspoint.json" + "$ref": "resources/aws-config-storedquery.json" } }, "required": [ @@ -19703,9 +19463,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_SMSChannel": { + "AWS_CloudFront_ResponseHeadersPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::SMSChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smschannel.html)", + "markdownDescription": "A response headers policy.\n A response headers policy contains information about a set of HTTP response headers.\n After you create a response headers policy, you can use its ID to attach it to one or more cache behaviors in a CloudFront distribution. When it's attached to a cache behavior, the response headers policy affects the HTTP headers that CloudFront includes in HTTP responses to requests that match the cache behavior. CloudFront adds or removes response headers according to the configuration of the response headers policy.\n For more information, see [Adding or removing HTTP headers in CloudFront responses](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/modifying-response-headers.html) in the *Amazon CloudFront Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-responseheaderspolicy.html)", "allOf": [ { "type": "object", @@ -19713,14 +19473,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::SMSChannel" + "AWS::CloudFront::ResponseHeadersPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::SMSChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smschannel.html)" + "A response headers policy.\n A response headers policy contains information about a set of HTTP response headers.\n After you create a response headers policy, you can use its ID to attach it to one or more cache behaviors in a CloudFront distribution. When it's attached to a cache behavior, the response headers policy affects the HTTP headers that CloudFront includes in HTTP responses to requests that match the cache behavior. CloudFront adds or removes response headers according to the configuration of the response headers policy.\n For more information, see [Adding or removing HTTP headers in CloudFront responses](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/modifying-response-headers.html) in the *Amazon CloudFront Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-responseheaderspolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-smschannel.json" + "$ref": "resources/aws-cloudfront-responseheaderspolicy.json" } }, "required": [ @@ -19734,9 +19494,9 @@ ], "additionalProperties": false }, - "AWS_ControlTower_EnabledBaseline": { + "AWS_Chatbot_CustomAction": { "type": "object", - "markdownDescription": "Definition of AWS::ControlTower::EnabledBaseline Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledbaseline.html)", + "markdownDescription": "Definition of AWS::Chatbot::CustomAction Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-customaction.html)", "allOf": [ { "type": "object", @@ -19744,14 +19504,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ControlTower::EnabledBaseline" + "AWS::Chatbot::CustomAction" ], "markdownEnumDescriptions": [ - "Definition of AWS::ControlTower::EnabledBaseline Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledbaseline.html)" + "Definition of AWS::Chatbot::CustomAction Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-customaction.html)" ] }, "Properties": { - "$ref": "resources/aws-controltower-enabledbaseline.json" + "$ref": "resources/aws-chatbot-customaction.json" } }, "required": [ @@ -19765,9 +19525,9 @@ ], "additionalProperties": false }, - "AWS_Glue_DataQualityRuleset": { + "AWS_DAX_SubnetGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::DataQualityRuleset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-dataqualityruleset.html)", + "markdownDescription": "Resource Type definition for AWS::DAX::SubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html)", "allOf": [ { "type": "object", @@ -19775,18 +19535,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::DataQualityRuleset" + "AWS::DAX::SubnetGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::DataQualityRuleset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-dataqualityruleset.html)" + "Resource Type definition for AWS::DAX::SubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-dataqualityruleset.json" + "$ref": "resources/aws-dax-subnetgroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -19795,9 +19556,9 @@ ], "additionalProperties": false }, - "AWS_IoTTwinMaker_Workspace": { + "AWS_InternetMonitor_Monitor": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTTwinMaker::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-workspace.html)", + "markdownDescription": "Represents a monitor, which defines the monitoring boundaries for measurements that Internet Monitor publishes information about for an application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-internetmonitor-monitor.html)", "allOf": [ { "type": "object", @@ -19805,14 +19566,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTTwinMaker::Workspace" + "AWS::InternetMonitor::Monitor" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTTwinMaker::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-workspace.html)" + "Represents a monitor, which defines the monitoring boundaries for measurements that Internet Monitor publishes information about for an application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-internetmonitor-monitor.html)" ] }, "Properties": { - "$ref": "resources/aws-iottwinmaker-workspace.json" + "$ref": "resources/aws-internetmonitor-monitor.json" } }, "required": [ @@ -19826,9 +19587,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_FunctionDefinitionVersion": { + "AWS_CloudFront_OriginRequestPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::FunctionDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html)", + "markdownDescription": "An origin request policy.\n When it's attached to a cache behavior, the origin request policy determines the values that CloudFront includes in requests that it sends to the origin. Each request that CloudFront sends to the origin includes the following:\n + The request body and the URL path (without the domain name) from the viewer request.\n + The headers that CloudFront automatically includes in every origin request, including ``Host``, ``User-Agent``, and ``X-Amz-Cf-Id``.\n + All HTTP headers, cookies, and URL query strings that are specified in the cache policy or the origin request policy. These can include items from the viewer request and, in the case of headers, additional ones that are added by CloudFront.\n \n CloudFront sends a request when it can't find an object in its cache that matches the request. If you want to send values to the origin and also include them in the cache key, use ``CachePolicy``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originrequestpolicy.html)", "allOf": [ { "type": "object", @@ -19836,14 +19597,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::FunctionDefinitionVersion" + "AWS::CloudFront::OriginRequestPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::FunctionDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html)" + "An origin request policy.\n When it's attached to a cache behavior, the origin request policy determines the values that CloudFront includes in requests that it sends to the origin. Each request that CloudFront sends to the origin includes the following:\n + The request body and the URL path (without the domain name) from the viewer request.\n + The headers that CloudFront automatically includes in every origin request, including ``Host``, ``User-Agent``, and ``X-Amz-Cf-Id``.\n + All HTTP headers, cookies, and URL query strings that are specified in the cache policy or the origin request policy. These can include items from the viewer request and, in the case of headers, additional ones that are added by CloudFront.\n \n CloudFront sends a request when it can't find an object in its cache that matches the request. If you want to send values to the origin and also include them in the cache key, use ``CachePolicy``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originrequestpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-functiondefinitionversion.json" + "$ref": "resources/aws-cloudfront-originrequestpolicy.json" } }, "required": [ @@ -19857,9 +19618,9 @@ ], "additionalProperties": false }, - "AWS_S3Outposts_Bucket": { + "AWS_EC2_PlacementGroup": { "type": "object", - "markdownDescription": "Resource Type Definition for AWS::S3Outposts::Bucket \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucket.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::PlacementGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html)", "allOf": [ { "type": "object", @@ -19867,19 +19628,18 @@ "Type": { "type": "string", "enum": [ - "AWS::S3Outposts::Bucket" + "AWS::EC2::PlacementGroup" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::S3Outposts::Bucket \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucket.html)" + "Resource Type definition for AWS::EC2::PlacementGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-s3outposts-bucket.json" + "$ref": "resources/aws-ec2-placementgroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -19888,9 +19648,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayRoute": { + "AWS_Inspector_AssessmentTarget": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::TransitGatewayRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html)", + "markdownDescription": "Resource Type definition for AWS::Inspector::AssessmentTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttarget.html)", "allOf": [ { "type": "object", @@ -19898,19 +19658,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayRoute" + "AWS::Inspector::AssessmentTarget" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TransitGatewayRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html)" + "Resource Type definition for AWS::Inspector::AssessmentTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttarget.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewayroute.json" + "$ref": "resources/aws-inspector-assessmenttarget.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -19919,9 +19678,9 @@ ], "additionalProperties": false }, - "AWS_NimbleStudio_LaunchProfile": { + "AWS_IAM_GroupPolicy": { "type": "object", - "markdownDescription": "Represents a launch profile which delegates access to a collection of studio components to studio users \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-launchprofile.html)", + "markdownDescription": "Adds or updates an inline policy document that is embedded in the specified IAM group.\n A group can also have managed policies attached to it. To attach a managed policy to a group, use [AWS::IAM::Group](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed in a group, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html)", "allOf": [ { "type": "object", @@ -19929,14 +19688,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NimbleStudio::LaunchProfile" + "AWS::IAM::GroupPolicy" ], "markdownEnumDescriptions": [ - "Represents a launch profile which delegates access to a collection of studio components to studio users \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-launchprofile.html)" + "Adds or updates an inline policy document that is embedded in the specified IAM group.\n A group can also have managed policies attached to it. To attach a managed policy to a group, use [AWS::IAM::Group](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed in a group, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-nimblestudio-launchprofile.json" + "$ref": "resources/aws-iam-grouppolicy.json" } }, "required": [ @@ -19950,9 +19709,9 @@ ], "additionalProperties": false }, - "AWS_Connect_TrafficDistributionGroup": { + "AWS_EC2_TransitGateway": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::TrafficDistributionGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-trafficdistributiongroup.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::TransitGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html)", "allOf": [ { "type": "object", @@ -19960,19 +19719,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::TrafficDistributionGroup" + "AWS::EC2::TransitGateway" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::TrafficDistributionGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-trafficdistributiongroup.html)" + "Resource Type definition for AWS::EC2::TransitGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-trafficdistributiongroup.json" + "$ref": "resources/aws-ec2-transitgateway.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -19981,9 +19739,9 @@ ], "additionalProperties": false }, - "AWS_IoT_SecurityProfile": { + "AWS_IAM_OIDCProvider": { "type": "object", - "markdownDescription": "A security profile defines a set of expected behaviors for devices in your account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html)", + "markdownDescription": "Resource Type definition for AWS::IAM::OIDCProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-oidcprovider.html)", "allOf": [ { "type": "object", @@ -19991,14 +19749,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::SecurityProfile" + "AWS::IAM::OIDCProvider" ], "markdownEnumDescriptions": [ - "A security profile defines a set of expected behaviors for devices in your account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html)" + "Resource Type definition for AWS::IAM::OIDCProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-oidcprovider.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-securityprofile.json" + "$ref": "resources/aws-iam-oidcprovider.json" } }, "required": [ @@ -20011,9 +19769,9 @@ ], "additionalProperties": false }, - "AWS_Organizations_OrganizationalUnit": { + "AWS_Proton_EnvironmentTemplate": { "type": "object", - "markdownDescription": "You can use organizational units (OUs) to group accounts together to administer as a single unit. This greatly simplifies the management of your accounts. For example, you can attach a policy-based control to an OU, and all accounts within the OU automatically inherit the policy. You can create multiple OUs within a single organization, and you can create OUs within other OUs. Each OU can contain multiple accounts, and you can move accounts from one OU to another. However, OU names must be unique within a parent OU or root. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-organizationalunit.html)", + "markdownDescription": "Definition of AWS::Proton::EnvironmentTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-environmenttemplate.html)", "allOf": [ { "type": "object", @@ -20021,19 +19779,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Organizations::OrganizationalUnit" + "AWS::Proton::EnvironmentTemplate" ], "markdownEnumDescriptions": [ - "You can use organizational units (OUs) to group accounts together to administer as a single unit. This greatly simplifies the management of your accounts. For example, you can attach a policy-based control to an OU, and all accounts within the OU automatically inherit the policy. You can create multiple OUs within a single organization, and you can create OUs within other OUs. Each OU can contain multiple accounts, and you can move accounts from one OU to another. However, OU names must be unique within a parent OU or root. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-organizationalunit.html)" + "Definition of AWS::Proton::EnvironmentTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-environmenttemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-organizations-organizationalunit.json" + "$ref": "resources/aws-proton-environmenttemplate.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -20042,9 +19799,9 @@ ], "additionalProperties": false }, - "AWS_DocDB_DBSubnetGroup": { + "AWS_Rekognition_StreamProcessor": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DocDB::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbsubnetgroup.html)", + "markdownDescription": "The AWS::Rekognition::StreamProcessor type is used to create an Amazon Rekognition StreamProcessor that you can use to analyze streaming videos.\n\n \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-streamprocessor.html)", "allOf": [ { "type": "object", @@ -20052,14 +19809,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DocDB::DBSubnetGroup" + "AWS::Rekognition::StreamProcessor" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DocDB::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbsubnetgroup.html)" + "The AWS::Rekognition::StreamProcessor type is used to create an Amazon Rekognition StreamProcessor that you can use to analyze streaming videos.\n\n \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-streamprocessor.html)" ] }, "Properties": { - "$ref": "resources/aws-docdb-dbsubnetgroup.json" + "$ref": "resources/aws-rekognition-streamprocessor.json" } }, "required": [ @@ -20073,9 +19830,9 @@ ], "additionalProperties": false }, - "AWS_CodeConnections_Connection": { + "AWS_MemoryDB_ACL": { "type": "object", - "markdownDescription": "Schema for AWS::CodeConnections::Connection resource which can be used to connect external source providers with other AWS services (i.e. AWS CodePipeline) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeconnections-connection.html)", + "markdownDescription": "Resource Type definition for AWS::MemoryDB::ACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-acl.html)", "allOf": [ { "type": "object", @@ -20083,14 +19840,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeConnections::Connection" + "AWS::MemoryDB::ACL" ], "markdownEnumDescriptions": [ - "Schema for AWS::CodeConnections::Connection resource which can be used to connect external source providers with other AWS services (i.e. AWS CodePipeline) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeconnections-connection.html)" + "Resource Type definition for AWS::MemoryDB::ACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-acl.html)" ] }, "Properties": { - "$ref": "resources/aws-codeconnections-connection.json" + "$ref": "resources/aws-memorydb-acl.json" } }, "required": [ @@ -20104,9 +19861,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_OriginRequestPolicy": { + "AWS_InspectorV2_CisScanConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::OriginRequestPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originrequestpolicy.html)", + "markdownDescription": "CIS Scan Configuration resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspectorv2-cisscanconfiguration.html)", "allOf": [ { "type": "object", @@ -20114,14 +19871,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::OriginRequestPolicy" + "AWS::InspectorV2::CisScanConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::OriginRequestPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originrequestpolicy.html)" + "CIS Scan Configuration resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspectorv2-cisscanconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-originrequestpolicy.json" + "$ref": "resources/aws-inspectorv2-cisscanconfiguration.json" } }, "required": [ @@ -20135,9 +19892,9 @@ ], "additionalProperties": false }, - "AWS_EntityResolution_SchemaMapping": { + "AWS_Connect_IntegrationAssociation": { "type": "object", - "markdownDescription": "SchemaMapping defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-schemamapping.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::IntegrationAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-integrationassociation.html)", "allOf": [ { "type": "object", @@ -20145,14 +19902,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EntityResolution::SchemaMapping" + "AWS::Connect::IntegrationAssociation" ], "markdownEnumDescriptions": [ - "SchemaMapping defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-schemamapping.html)" + "Resource Type definition for AWS::Connect::IntegrationAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-integrationassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-entityresolution-schemamapping.json" + "$ref": "resources/aws-connect-integrationassociation.json" } }, "required": [ @@ -20166,9 +19923,9 @@ ], "additionalProperties": false }, - "AWS_Location_PlaceIndex": { + "AWS_IoT_CertificateProvider": { "type": "object", - "markdownDescription": "Definition of AWS::Location::PlaceIndex Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-placeindex.html)", + "markdownDescription": "Use the AWS::IoT::CertificateProvider resource to declare an AWS IoT Certificate Provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificateprovider.html)", "allOf": [ { "type": "object", @@ -20176,14 +19933,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Location::PlaceIndex" + "AWS::IoT::CertificateProvider" ], "markdownEnumDescriptions": [ - "Definition of AWS::Location::PlaceIndex Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-placeindex.html)" + "Use the AWS::IoT::CertificateProvider resource to declare an AWS IoT Certificate Provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificateprovider.html)" ] }, "Properties": { - "$ref": "resources/aws-location-placeindex.json" + "$ref": "resources/aws-iot-certificateprovider.json" } }, "required": [ @@ -20197,9 +19954,9 @@ ], "additionalProperties": false }, - "AWS_SupportApp_SlackWorkspaceConfiguration": { + "AWS_CloudFormation_PublicTypeVersion": { "type": "object", - "markdownDescription": "An AWS Support App resource that creates, updates, lists, and deletes Slack workspace configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackworkspaceconfiguration.html)", + "markdownDescription": "Test and Publish a resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html)", "allOf": [ { "type": "object", @@ -20207,19 +19964,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SupportApp::SlackWorkspaceConfiguration" + "AWS::CloudFormation::PublicTypeVersion" ], "markdownEnumDescriptions": [ - "An AWS Support App resource that creates, updates, lists, and deletes Slack workspace configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackworkspaceconfiguration.html)" + "Test and Publish a resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html)" ] }, "Properties": { - "$ref": "resources/aws-supportapp-slackworkspaceconfiguration.json" + "$ref": "resources/aws-cloudformation-publictypeversion.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -20228,9 +19984,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_HookTypeConfig": { + "AWS_Pinpoint_SmsTemplate": { "type": "object", - "markdownDescription": "Specifies the configuration data for a registered hook in CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::SmsTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html)", "allOf": [ { "type": "object", @@ -20238,18 +19994,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::HookTypeConfig" + "AWS::Pinpoint::SmsTemplate" ], "markdownEnumDescriptions": [ - "Specifies the configuration data for a registered hook in CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html)" + "Resource Type definition for AWS::Pinpoint::SmsTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-hooktypeconfig.json" + "$ref": "resources/aws-pinpoint-smstemplate.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -20258,9 +20015,9 @@ ], "additionalProperties": false }, - "AWS_ECS_TaskSet": { + "AWS_SageMaker_NotebookInstance": { "type": "object", - "markdownDescription": "Create a task set in the specified cluster and service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.htmlin the Amazon Elastic Container Service Developer Guide. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::NotebookInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html)", "allOf": [ { "type": "object", @@ -20268,14 +20025,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECS::TaskSet" + "AWS::SageMaker::NotebookInstance" ], "markdownEnumDescriptions": [ - "Create a task set in the specified cluster and service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.htmlin the Amazon Elastic Container Service Developer Guide. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html)" + "Resource Type definition for AWS::SageMaker::NotebookInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html)" ] }, "Properties": { - "$ref": "resources/aws-ecs-taskset.json" + "$ref": "resources/aws-sagemaker-notebookinstance.json" } }, "required": [ @@ -20289,9 +20046,9 @@ ], "additionalProperties": false }, - "AWS_CodeCommit_Repository": { + "AWS_EC2_SecurityGroupIngress": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CodeCommit::Repository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::SecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html)", "allOf": [ { "type": "object", @@ -20299,14 +20056,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeCommit::Repository" + "AWS::EC2::SecurityGroupIngress" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeCommit::Repository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html)" + "Resource Type definition for AWS::EC2::SecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html)" ] }, "Properties": { - "$ref": "resources/aws-codecommit-repository.json" + "$ref": "resources/aws-ec2-securitygroupingress.json" } }, "required": [ @@ -20320,9 +20077,9 @@ ], "additionalProperties": false }, - "AWS_SSMQuickSetup_ConfigurationManager": { + "AWS_CloudWatch_MetricStream": { "type": "object", - "markdownDescription": "Definition of AWS::SSMQuickSetup::ConfigurationManager Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmquicksetup-configurationmanager.html)", + "markdownDescription": "Resource Type definition for Metric Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html)", "allOf": [ { "type": "object", @@ -20330,19 +20087,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SSMQuickSetup::ConfigurationManager" + "AWS::CloudWatch::MetricStream" ], "markdownEnumDescriptions": [ - "Definition of AWS::SSMQuickSetup::ConfigurationManager Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmquicksetup-configurationmanager.html)" + "Resource Type definition for Metric Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html)" ] }, "Properties": { - "$ref": "resources/aws-ssmquicksetup-configurationmanager.json" + "$ref": "resources/aws-cloudwatch-metricstream.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -20351,9 +20107,9 @@ ], "additionalProperties": false }, - "AWS_ElasticBeanstalk_Application": { + "AWS_SecurityLake_AwsLogSource": { "type": "object", - "markdownDescription": "The AWS::ElasticBeanstalk::Application resource specifies an Elastic Beanstalk application. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-application.html)", + "markdownDescription": "Resource Type definition for AWS::SecurityLake::AwsLogSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-awslogsource.html)", "allOf": [ { "type": "object", @@ -20361,18 +20117,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticBeanstalk::Application" + "AWS::SecurityLake::AwsLogSource" ], "markdownEnumDescriptions": [ - "The AWS::ElasticBeanstalk::Application resource specifies an Elastic Beanstalk application. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-application.html)" + "Resource Type definition for AWS::SecurityLake::AwsLogSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-awslogsource.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticbeanstalk-application.json" + "$ref": "resources/aws-securitylake-awslogsource.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -20381,9 +20138,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_DeploymentStrategy": { + "AWS_EC2_SpotFleet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppConfig::DeploymentStrategy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::SpotFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.html)", "allOf": [ { "type": "object", @@ -20391,14 +20148,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::DeploymentStrategy" + "AWS::EC2::SpotFleet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppConfig::DeploymentStrategy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html)" + "Resource Type definition for AWS::EC2::SpotFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.html)" ] }, "Properties": { - "$ref": "resources/aws-appconfig-deploymentstrategy.json" + "$ref": "resources/aws-ec2-spotfleet.json" } }, "required": [ @@ -20412,9 +20169,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_SecurityGroup": { + "AWS_SupportApp_AccountAlias": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElastiCache::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-securitygroup.html)", + "markdownDescription": "An AWS Support App resource that creates, updates, reads, and deletes a customer's account alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-accountalias.html)", "allOf": [ { "type": "object", @@ -20422,14 +20179,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::SecurityGroup" + "AWS::SupportApp::AccountAlias" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElastiCache::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-securitygroup.html)" + "An AWS Support App resource that creates, updates, reads, and deletes a customer's account alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-accountalias.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-securitygroup.json" + "$ref": "resources/aws-supportapp-accountalias.json" } }, "required": [ @@ -20443,9 +20200,9 @@ ], "additionalProperties": false }, - "AWS_Transfer_Connector": { + "AWS_Omics_Workflow": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Transfer::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html)", + "markdownDescription": "Definition of AWS::Omics::Workflow Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-workflow.html)", "allOf": [ { "type": "object", @@ -20453,19 +20210,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Transfer::Connector" + "AWS::Omics::Workflow" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Transfer::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html)" + "Definition of AWS::Omics::Workflow Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-workflow.html)" ] }, "Properties": { - "$ref": "resources/aws-transfer-connector.json" + "$ref": "resources/aws-omics-workflow.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -20474,9 +20230,9 @@ ], "additionalProperties": false }, - "AWS_M2_Application": { + "AWS_KinesisAnalyticsV2_ApplicationOutput": { "type": "object", - "markdownDescription": "Represents an application that runs on an AWS Mainframe Modernization Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-m2-application.html)", + "markdownDescription": "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationoutput.html)", "allOf": [ { "type": "object", @@ -20484,14 +20240,14 @@ "Type": { "type": "string", "enum": [ - "AWS::M2::Application" + "AWS::KinesisAnalyticsV2::ApplicationOutput" ], "markdownEnumDescriptions": [ - "Represents an application that runs on an AWS Mainframe Modernization Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-m2-application.html)" + "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationoutput.html)" ] }, "Properties": { - "$ref": "resources/aws-m2-application.json" + "$ref": "resources/aws-kinesisanalyticsv2-applicationoutput.json" } }, "required": [ @@ -20505,9 +20261,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancingV2_ListenerRule": { + "AWS_Pinpoint_Campaign": { "type": "object", - "markdownDescription": "Specifies a listener rule. The listener must be associated with an Application Load Balancer. Each rule consists of a priority, one or more actions, and one or more conditions.\n For more information, see [Quotas for your Application Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html) in the *User Guide for Application Load Balancers*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::Campaign \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html)", "allOf": [ { "type": "object", @@ -20515,14 +20271,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerRule" + "AWS::Pinpoint::Campaign" ], "markdownEnumDescriptions": [ - "Specifies a listener rule. The listener must be associated with an Application Load Balancer. Each rule consists of a priority, one or more actions, and one or more conditions.\n For more information, see [Quotas for your Application Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html) in the *User Guide for Application Load Balancers*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html)" + "Resource Type definition for AWS::Pinpoint::Campaign \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticloadbalancingv2-listenerrule.json" + "$ref": "resources/aws-pinpoint-campaign.json" } }, "required": [ @@ -20536,9 +20292,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_MatchmakingConfiguration": { + "AWS_SSMIncidents_ResponsePlan": { "type": "object", - "markdownDescription": "The AWS::GameLift::MatchmakingConfiguration resource creates an Amazon GameLift (GameLift) matchmaking configuration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html)", + "markdownDescription": "Resource type definition for AWS::SSMIncidents::ResponsePlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-responseplan.html)", "allOf": [ { "type": "object", @@ -20546,14 +20302,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::MatchmakingConfiguration" + "AWS::SSMIncidents::ResponsePlan" ], "markdownEnumDescriptions": [ - "The AWS::GameLift::MatchmakingConfiguration resource creates an Amazon GameLift (GameLift) matchmaking configuration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html)" + "Resource type definition for AWS::SSMIncidents::ResponsePlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-responseplan.html)" ] }, "Properties": { - "$ref": "resources/aws-gamelift-matchmakingconfiguration.json" + "$ref": "resources/aws-ssmincidents-responseplan.json" } }, "required": [ @@ -20567,9 +20323,9 @@ ], "additionalProperties": false }, - "AWS_SimSpaceWeaver_Simulation": { + "AWS_MediaPackageV2_Channel": { "type": "object", - "markdownDescription": "AWS::SimSpaceWeaver::Simulation resource creates an AWS Simulation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-simspaceweaver-simulation.html)", + "markdownDescription": "

Represents an entry point into AWS Elemental MediaPackage for an ABR video content stream sent from an upstream encoder such as AWS Elemental MediaLive. The channel continuously analyzes the content that it receives and prepares it to be distributed to consumers via one or more origin endpoints.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channel.html)", "allOf": [ { "type": "object", @@ -20577,14 +20333,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SimSpaceWeaver::Simulation" + "AWS::MediaPackageV2::Channel" ], "markdownEnumDescriptions": [ - "AWS::SimSpaceWeaver::Simulation resource creates an AWS Simulation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-simspaceweaver-simulation.html)" + "

Represents an entry point into AWS Elemental MediaPackage for an ABR video content stream sent from an upstream encoder such as AWS Elemental MediaLive. The channel continuously analyzes the content that it receives and prepares it to be distributed to consumers via one or more origin endpoints.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channel.html)" ] }, "Properties": { - "$ref": "resources/aws-simspaceweaver-simulation.json" + "$ref": "resources/aws-mediapackagev2-channel.json" } }, "required": [ @@ -20598,9 +20354,9 @@ ], "additionalProperties": false }, - "AWS_SSM_Association": { + "AWS_EC2_VPCBlockPublicAccessOptions": { "type": "object", - "markdownDescription": "The AWS::SSM::Association resource associates an SSM document in AWS Systems Manager with EC2 instances that contain a configuration agent to process the document. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::VPCBlockPublicAccessOptions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessoptions.html)", "allOf": [ { "type": "object", @@ -20608,14 +20364,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::Association" + "AWS::EC2::VPCBlockPublicAccessOptions" ], "markdownEnumDescriptions": [ - "The AWS::SSM::Association resource associates an SSM document in AWS Systems Manager with EC2 instances that contain a configuration agent to process the document. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html)" + "Resource Type definition for AWS::EC2::VPCBlockPublicAccessOptions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessoptions.html)" ] }, "Properties": { - "$ref": "resources/aws-ssm-association.json" + "$ref": "resources/aws-ec2-vpcblockpublicaccessoptions.json" } }, "required": [ @@ -20629,9 +20385,9 @@ ], "additionalProperties": false }, - "AWS_AppTest_TestCase": { + "AWS_SageMaker_InferenceComponent": { "type": "object", - "markdownDescription": "Represents a Test Case that can be captured and executed \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apptest-testcase.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::InferenceComponent \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferencecomponent.html)", "allOf": [ { "type": "object", @@ -20639,14 +20395,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppTest::TestCase" + "AWS::SageMaker::InferenceComponent" ], "markdownEnumDescriptions": [ - "Represents a Test Case that can be captured and executed \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apptest-testcase.html)" + "Resource Type definition for AWS::SageMaker::InferenceComponent \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferencecomponent.html)" ] }, "Properties": { - "$ref": "resources/aws-apptest-testcase.json" + "$ref": "resources/aws-sagemaker-inferencecomponent.json" } }, "required": [ @@ -20660,9 +20416,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_BridgeSource": { + "AWS_MemoryDB_ParameterGroup": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaConnect::BridgeSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgesource.html)", + "markdownDescription": "The AWS::MemoryDB::ParameterGroup resource creates an Amazon MemoryDB ParameterGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-parametergroup.html)", "allOf": [ { "type": "object", @@ -20670,14 +20426,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::BridgeSource" + "AWS::MemoryDB::ParameterGroup" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::BridgeSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgesource.html)" + "The AWS::MemoryDB::ParameterGroup resource creates an Amazon MemoryDB ParameterGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-parametergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconnect-bridgesource.json" + "$ref": "resources/aws-memorydb-parametergroup.json" } }, "required": [ @@ -20691,9 +20447,9 @@ ], "additionalProperties": false }, - "AWS_Location_APIKey": { + "AWS_EC2_SubnetRouteTableAssociation": { "type": "object", - "markdownDescription": "Definition of AWS::Location::APIKey Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-apikey.html)", + "markdownDescription": "Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. A route table can be associated with multiple subnets. To create a route table, see [AWS::EC2::RouteTable](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetroutetableassociation.html)", "allOf": [ { "type": "object", @@ -20701,14 +20457,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Location::APIKey" + "AWS::EC2::SubnetRouteTableAssociation" ], "markdownEnumDescriptions": [ - "Definition of AWS::Location::APIKey Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-apikey.html)" + "Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. A route table can be associated with multiple subnets. To create a route table, see [AWS::EC2::RouteTable](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetroutetableassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-location-apikey.json" + "$ref": "resources/aws-ec2-subnetroutetableassociation.json" } }, "required": [ @@ -20722,9 +20478,9 @@ ], "additionalProperties": false }, - "AWS_Config_StoredQuery": { + "AWS_GlobalAccelerator_EndpointGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Config::StoredQuery \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-storedquery.html)", + "markdownDescription": "Resource Type definition for AWS::GlobalAccelerator::EndpointGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html)", "allOf": [ { "type": "object", @@ -20732,14 +20488,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::StoredQuery" + "AWS::GlobalAccelerator::EndpointGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Config::StoredQuery \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-storedquery.html)" + "Resource Type definition for AWS::GlobalAccelerator::EndpointGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-config-storedquery.json" + "$ref": "resources/aws-globalaccelerator-endpointgroup.json" } }, "required": [ @@ -20753,9 +20509,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_StackUserAssociation": { + "AWS_MediaPackageV2_OriginEndpoint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::StackUserAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html)", + "markdownDescription": "

Represents an origin endpoint that is associated with a channel, offering a dynamically repackaged version of its content through various streaming media protocols. The content can be efficiently disseminated to end-users via a Content Delivery Network (CDN), like Amazon CloudFront.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-originendpoint.html)", "allOf": [ { "type": "object", @@ -20763,14 +20519,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::StackUserAssociation" + "AWS::MediaPackageV2::OriginEndpoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::StackUserAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html)" + "

Represents an origin endpoint that is associated with a channel, offering a dynamically repackaged version of its content through various streaming media protocols. The content can be efficiently disseminated to end-users via a Content Delivery Network (CDN), like Amazon CloudFront.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-originendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-stackuserassociation.json" + "$ref": "resources/aws-mediapackagev2-originendpoint.json" } }, "required": [ @@ -20784,9 +20540,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_ModelExplainabilityJobDefinition": { + "AWS_SecurityHub_Insight": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelExplainabilityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.html)", + "markdownDescription": "The AWS::SecurityHub::Insight resource represents the AWS Security Hub Insight in your account. An AWS Security Hub insight is a collection of related findings. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-insight.html)", "allOf": [ { "type": "object", @@ -20794,14 +20550,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::ModelExplainabilityJobDefinition" + "AWS::SecurityHub::Insight" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::ModelExplainabilityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.html)" + "The AWS::SecurityHub::Insight resource represents the AWS Security Hub Insight in your account. An AWS Security Hub insight is a collection of related findings. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-insight.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-modelexplainabilityjobdefinition.json" + "$ref": "resources/aws-securityhub-insight.json" } }, "required": [ @@ -20815,9 +20571,9 @@ ], "additionalProperties": false }, - "AWS_Personalize_DatasetGroup": { + "AWS_IVS_StorageConfiguration": { "type": "object", - "markdownDescription": "Resource Schema for AWS::Personalize::DatasetGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-datasetgroup.html)", + "markdownDescription": "Resource Type definition for AWS::IVS::StorageConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-storageconfiguration.html)", "allOf": [ { "type": "object", @@ -20825,14 +20581,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Personalize::DatasetGroup" + "AWS::IVS::StorageConfiguration" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::Personalize::DatasetGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-datasetgroup.html)" + "Resource Type definition for AWS::IVS::StorageConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-storageconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-personalize-datasetgroup.json" + "$ref": "resources/aws-ivs-storageconfiguration.json" } }, "required": [ @@ -20846,9 +20602,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_Link": { + "AWS_MediaPackage_PackagingConfiguration": { "type": "object", - "markdownDescription": "The AWS::NetworkManager::Link type describes a link. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html)", + "markdownDescription": "Resource schema for AWS::MediaPackage::PackagingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html)", "allOf": [ { "type": "object", @@ -20856,14 +20612,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::Link" + "AWS::MediaPackage::PackagingConfiguration" ], "markdownEnumDescriptions": [ - "The AWS::NetworkManager::Link type describes a link. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html)" + "Resource schema for AWS::MediaPackage::PackagingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-link.json" + "$ref": "resources/aws-mediapackage-packagingconfiguration.json" } }, "required": [ @@ -20877,9 +20633,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_Channel": { + "AWS_IoTWireless_MulticastGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MediaLive::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html)", + "markdownDescription": "Create and manage Multicast groups. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-multicastgroup.html)", "allOf": [ { "type": "object", @@ -20887,18 +20643,19 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::Channel" + "AWS::IoTWireless::MulticastGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MediaLive::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html)" + "Create and manage Multicast groups. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-multicastgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-channel.json" + "$ref": "resources/aws-iotwireless-multicastgroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -20907,9 +20664,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_IdentityPool": { + "AWS_AppSync_GraphQLSchema": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::IdentityPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html)", + "markdownDescription": "Resource Type definition for AWS::AppSync::GraphQLSchema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html)", "allOf": [ { "type": "object", @@ -20917,14 +20674,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::IdentityPool" + "AWS::AppSync::GraphQLSchema" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::IdentityPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html)" + "Resource Type definition for AWS::AppSync::GraphQLSchema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-identitypool.json" + "$ref": "resources/aws-appsync-graphqlschema.json" } }, "required": [ @@ -20938,9 +20695,9 @@ ], "additionalProperties": false }, - "AWS_B2BI_Transformer": { + "AWS_Wisdom_KnowledgeBase": { "type": "object", - "markdownDescription": "Definition of AWS::B2BI::Transformer Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-transformer.html)", + "markdownDescription": "Definition of AWS::Wisdom::KnowledgeBase Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-knowledgebase.html)", "allOf": [ { "type": "object", @@ -20948,14 +20705,14 @@ "Type": { "type": "string", "enum": [ - "AWS::B2BI::Transformer" + "AWS::Wisdom::KnowledgeBase" ], "markdownEnumDescriptions": [ - "Definition of AWS::B2BI::Transformer Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-transformer.html)" + "Definition of AWS::Wisdom::KnowledgeBase Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-knowledgebase.html)" ] }, "Properties": { - "$ref": "resources/aws-b2bi-transformer.json" + "$ref": "resources/aws-wisdom-knowledgebase.json" } }, "required": [ @@ -20969,9 +20726,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorks_ElasticLoadBalancerAttachment": { + "AWS_SageMaker_Device": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::OpsWorks::ElasticLoadBalancerAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-elasticloadbalancerattachment.html)", + "markdownDescription": "Resource schema for AWS::SageMaker::Device \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-device.html)", "allOf": [ { "type": "object", @@ -20979,14 +20736,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorks::ElasticLoadBalancerAttachment" + "AWS::SageMaker::Device" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorks::ElasticLoadBalancerAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-elasticloadbalancerattachment.html)" + "Resource schema for AWS::SageMaker::Device \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-device.html)" ] }, "Properties": { - "$ref": "resources/aws-opsworks-elasticloadbalancerattachment.json" + "$ref": "resources/aws-sagemaker-device.json" } }, "required": [ @@ -21000,9 +20757,9 @@ ], "additionalProperties": false }, - "AWS_Macie_AllowList": { + "AWS_Pinpoint_ApplicationSettings": { "type": "object", - "markdownDescription": "Macie AllowList resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-allowlist.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::ApplicationSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-applicationsettings.html)", "allOf": [ { "type": "object", @@ -21010,14 +20767,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Macie::AllowList" + "AWS::Pinpoint::ApplicationSettings" ], "markdownEnumDescriptions": [ - "Macie AllowList resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-allowlist.html)" + "Resource Type definition for AWS::Pinpoint::ApplicationSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-applicationsettings.html)" ] }, "Properties": { - "$ref": "resources/aws-macie-allowlist.json" + "$ref": "resources/aws-pinpoint-applicationsettings.json" } }, "required": [ @@ -21031,9 +20788,9 @@ ], "additionalProperties": false }, - "AWS_ControlTower_LandingZone": { + "AWS_FIS_ExperimentTemplate": { "type": "object", - "markdownDescription": "Definition of AWS::ControlTower::LandingZone Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-landingzone.html)", + "markdownDescription": "Resource schema for AWS::FIS::ExperimentTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-experimenttemplate.html)", "allOf": [ { "type": "object", @@ -21041,14 +20798,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ControlTower::LandingZone" + "AWS::FIS::ExperimentTemplate" ], "markdownEnumDescriptions": [ - "Definition of AWS::ControlTower::LandingZone Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-landingzone.html)" + "Resource schema for AWS::FIS::ExperimentTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-experimenttemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-controltower-landingzone.json" + "$ref": "resources/aws-fis-experimenttemplate.json" } }, "required": [ @@ -21062,9 +20819,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_VPCConnection": { + "AWS_Lightsail_Alarm": { "type": "object", - "markdownDescription": "Definition of the AWS::QuickSight::VPCConnection Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-vpcconnection.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::Alarm \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html)", "allOf": [ { "type": "object", @@ -21072,18 +20829,19 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::VPCConnection" + "AWS::Lightsail::Alarm" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::VPCConnection Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-vpcconnection.html)" + "Resource Type definition for AWS::Lightsail::Alarm \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html)" ] }, "Properties": { - "$ref": "resources/aws-quicksight-vpcconnection.json" + "$ref": "resources/aws-lightsail-alarm.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -21092,9 +20850,9 @@ ], "additionalProperties": false }, - "AWS_IVS_EncoderConfiguration": { + "AWS_Route53_KeySigningKey": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IVS::EncoderConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-encoderconfiguration.html)", + "markdownDescription": "Represents a key signing key (KSK) associated with a hosted zone. You can only have two KSKs per hosted zone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html)", "allOf": [ { "type": "object", @@ -21102,18 +20860,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::EncoderConfiguration" + "AWS::Route53::KeySigningKey" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IVS::EncoderConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-encoderconfiguration.html)" + "Represents a key signing key (KSK) associated with a hosted zone. You can only have two KSKs per hosted zone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html)" ] }, "Properties": { - "$ref": "resources/aws-ivs-encoderconfiguration.json" + "$ref": "resources/aws-route53-keysigningkey.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -21122,9 +20881,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Certificate": { + "AWS_MSK_ClusterPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::Certificate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html)", + "markdownDescription": "Resource Type definition for AWS::MSK::ClusterPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-clusterpolicy.html)", "allOf": [ { "type": "object", @@ -21132,14 +20891,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Certificate" + "AWS::MSK::ClusterPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::Certificate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html)" + "Resource Type definition for AWS::MSK::ClusterPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-clusterpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-certificate.json" + "$ref": "resources/aws-msk-clusterpolicy.json" } }, "required": [ @@ -21153,9 +20912,9 @@ ], "additionalProperties": false }, - "AWS_MemoryDB_SubnetGroup": { + "AWS_RDS_DBParameterGroup": { "type": "object", - "markdownDescription": "The AWS::MemoryDB::SubnetGroup resource creates an Amazon MemoryDB Subnet Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-subnetgroup.html)", + "markdownDescription": "The ``AWS::RDS::DBParameterGroup`` resource creates a custom parameter group for an RDS database family.\n This type can be declared in a template and referenced in the ``DBParameterGroupName`` property of an ``AWS::RDS::DBInstance`` resource.\n For information about configuring parameters for Amazon RDS DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html) in the *Amazon RDS User Guide*.\n For information about configuring parameters for Amazon Aurora DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide*.\n Applying a parameter group to a DB instance may require the DB instance to reboot, resulting in a database outage for the duration of the reboot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbparametergroup.html)", "allOf": [ { "type": "object", @@ -21163,14 +20922,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MemoryDB::SubnetGroup" + "AWS::RDS::DBParameterGroup" ], "markdownEnumDescriptions": [ - "The AWS::MemoryDB::SubnetGroup resource creates an Amazon MemoryDB Subnet Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-subnetgroup.html)" + "The ``AWS::RDS::DBParameterGroup`` resource creates a custom parameter group for an RDS database family.\n This type can be declared in a template and referenced in the ``DBParameterGroupName`` property of an ``AWS::RDS::DBInstance`` resource.\n For information about configuring parameters for Amazon RDS DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html) in the *Amazon RDS User Guide*.\n For information about configuring parameters for Amazon Aurora DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide*.\n Applying a parameter group to a DB instance may require the DB instance to reboot, resulting in a database outage for the duration of the reboot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbparametergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-memorydb-subnetgroup.json" + "$ref": "resources/aws-rds-dbparametergroup.json" } }, "required": [ @@ -21184,9 +20943,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_RateBasedRule": { + "AWS_SNS_TopicInlinePolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::RateBasedRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html)", + "markdownDescription": "Schema for AWS::SNS::TopicInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicinlinepolicy.html)", "allOf": [ { "type": "object", @@ -21194,14 +20953,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::RateBasedRule" + "AWS::SNS::TopicInlinePolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::RateBasedRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html)" + "Schema for AWS::SNS::TopicInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicinlinepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-ratebasedrule.json" + "$ref": "resources/aws-sns-topicinlinepolicy.json" } }, "required": [ @@ -21215,9 +20974,9 @@ ], "additionalProperties": false }, - "AWS_EMR_Step": { + "AWS_EC2_IPAMResourceDiscoveryAssociation": { "type": "object", - "markdownDescription": "Schema for AWS::EMR::Step \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.html)", + "markdownDescription": "Resource Schema of AWS::EC2::IPAMResourceDiscoveryAssociation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscoveryassociation.html)", "allOf": [ { "type": "object", @@ -21225,14 +20984,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::Step" + "AWS::EC2::IPAMResourceDiscoveryAssociation" ], "markdownEnumDescriptions": [ - "Schema for AWS::EMR::Step \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.html)" + "Resource Schema of AWS::EC2::IPAMResourceDiscoveryAssociation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscoveryassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-emr-step.json" + "$ref": "resources/aws-ec2-ipamresourcediscoveryassociation.json" } }, "required": [ @@ -21246,9 +21005,9 @@ ], "additionalProperties": false }, - "AWS_Route53Profiles_ProfileAssociation": { + "AWS_IdentityStore_Group": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Route53Profiles::ProfileAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profileassociation.html)", + "markdownDescription": "Resource Type definition for AWS::IdentityStore::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-group.html)", "allOf": [ { "type": "object", @@ -21256,14 +21015,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Profiles::ProfileAssociation" + "AWS::IdentityStore::Group" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Route53Profiles::ProfileAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profileassociation.html)" + "Resource Type definition for AWS::IdentityStore::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-group.html)" ] }, "Properties": { - "$ref": "resources/aws-route53profiles-profileassociation.json" + "$ref": "resources/aws-identitystore-group.json" } }, "required": [ @@ -21277,9 +21036,9 @@ ], "additionalProperties": false }, - "AWS_AmplifyUIBuilder_Form": { + "AWS_CloudWatch_CompositeAlarm": { "type": "object", - "markdownDescription": "Definition of AWS::AmplifyUIBuilder::Form Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-form.html)", + "markdownDescription": "The AWS::CloudWatch::CompositeAlarm type specifies an alarm which aggregates the states of other Alarms (Metric or Composite Alarms) as defined by the AlarmRule expression \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html)", "allOf": [ { "type": "object", @@ -21287,18 +21046,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AmplifyUIBuilder::Form" + "AWS::CloudWatch::CompositeAlarm" ], "markdownEnumDescriptions": [ - "Definition of AWS::AmplifyUIBuilder::Form Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-form.html)" + "The AWS::CloudWatch::CompositeAlarm type specifies an alarm which aggregates the states of other Alarms (Metric or Composite Alarms) as defined by the AlarmRule expression \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html)" ] }, "Properties": { - "$ref": "resources/aws-amplifyuibuilder-form.json" + "$ref": "resources/aws-cloudwatch-compositealarm.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -21307,9 +21067,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Pipeline": { + "AWS_IoTWireless_ServiceProfile": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-pipeline.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-serviceprofile.html)", "allOf": [ { "type": "object", @@ -21317,19 +21077,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Pipeline" + "AWS::IoTWireless::ServiceProfile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-pipeline.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-serviceprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-pipeline.json" + "$ref": "resources/aws-iotwireless-serviceprofile.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21338,9 +21097,9 @@ ], "additionalProperties": false }, - "AWS_Omics_VariantStore": { + "AWS_IoT_ThingType": { "type": "object", - "markdownDescription": "Definition of AWS::Omics::VariantStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-variantstore.html)", + "markdownDescription": "Resource Type definition for AWS::IoT::ThingType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingtype.html)", "allOf": [ { "type": "object", @@ -21348,19 +21107,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Omics::VariantStore" + "AWS::IoT::ThingType" ], "markdownEnumDescriptions": [ - "Definition of AWS::Omics::VariantStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-variantstore.html)" + "Resource Type definition for AWS::IoT::ThingType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingtype.html)" ] }, "Properties": { - "$ref": "resources/aws-omics-variantstore.json" + "$ref": "resources/aws-iot-thingtype.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21369,9 +21127,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_GCMChannel": { + "AWS_DynamoDB_Table": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::GCMChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-gcmchannel.html)", + "markdownDescription": "The ``AWS::DynamoDB::Table`` resource creates a DDB table. For more information, see [CreateTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html) in the *API Reference*.\n You should be aware of the following behaviors when working with DDB tables:\n + CFNlong typically creates DDB tables in parallel. However, if your template includes multiple DDB tables with indexes, you must declare dependencies so that the tables are created sequentially. DDBlong limits the number of tables with secondary indexes that are in the creating state. If you create multiple tables with indexes at the same time, DDB returns an error and the stack operation fails. For an example, see [DynamoDB Table with a DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#aws-resource-dynamodb-table--examples--DynamoDB_Table_with_a_DependsOn_Attribute).\n \n Our guidance is to use the latest schema documented for your CFNlong templates. This schema supports the provisioning of all table settings below. When using this schema in your CFNlong templates, please ensure that your Identity and Access Management (IAM) policies are updated with appropriate permissions to allow for the authorization of these setting changes. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html)", "allOf": [ { "type": "object", @@ -21379,14 +21137,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::GCMChannel" + "AWS::DynamoDB::Table" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::GCMChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-gcmchannel.html)" + "The ``AWS::DynamoDB::Table`` resource creates a DDB table. For more information, see [CreateTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html) in the *API Reference*.\n You should be aware of the following behaviors when working with DDB tables:\n + CFNlong typically creates DDB tables in parallel. However, if your template includes multiple DDB tables with indexes, you must declare dependencies so that the tables are created sequentially. DDBlong limits the number of tables with secondary indexes that are in the creating state. If you create multiple tables with indexes at the same time, DDB returns an error and the stack operation fails. For an example, see [DynamoDB Table with a DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#aws-resource-dynamodb-table--examples--DynamoDB_Table_with_a_DependsOn_Attribute).\n \n Our guidance is to use the latest schema documented for your CFNlong templates. This schema supports the provisioning of all table settings below. When using this schema in your CFNlong templates, please ensure that your Identity and Access Management (IAM) policies are updated with appropriate permissions to allow for the authorization of these setting changes. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-gcmchannel.json" + "$ref": "resources/aws-dynamodb-table.json" } }, "required": [ @@ -21400,9 +21158,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayRouteTable": { + "AWS_OpenSearchServerless_Collection": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::TransitGatewayRouteTable \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetable.html)", + "markdownDescription": "Amazon OpenSearchServerless collection resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html)", "allOf": [ { "type": "object", @@ -21410,14 +21168,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayRouteTable" + "AWS::OpenSearchServerless::Collection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TransitGatewayRouteTable \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetable.html)" + "Amazon OpenSearchServerless collection resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewayroutetable.json" + "$ref": "resources/aws-opensearchserverless-collection.json" } }, "required": [ @@ -21431,9 +21189,9 @@ ], "additionalProperties": false }, - "AWS_LookoutEquipment_InferenceScheduler": { + "AWS_ManagedBlockchain_Node": { "type": "object", - "markdownDescription": "Resource schema for LookoutEquipment InferenceScheduler. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.html)", + "markdownDescription": "Resource Type definition for AWS::ManagedBlockchain::Node \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html)", "allOf": [ { "type": "object", @@ -21441,14 +21199,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LookoutEquipment::InferenceScheduler" + "AWS::ManagedBlockchain::Node" ], "markdownEnumDescriptions": [ - "Resource schema for LookoutEquipment InferenceScheduler. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.html)" + "Resource Type definition for AWS::ManagedBlockchain::Node \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html)" ] }, "Properties": { - "$ref": "resources/aws-lookoutequipment-inferencescheduler.json" + "$ref": "resources/aws-managedblockchain-node.json" } }, "required": [ @@ -21462,9 +21220,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_StorageProfile": { + "AWS_EC2_VolumeAttachment": { "type": "object", - "markdownDescription": "Definition of AWS::Deadline::StorageProfile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-storageprofile.html)", + "markdownDescription": "Attaches an Amazon EBS volume to a running instance and exposes it to the instance with the specified device name.\n Before this resource can be deleted (and therefore the volume detached), you must first unmount the volume in the instance. Failure to do so results in the volume being stuck in the busy state while it is trying to detach, which could possibly damage the file system or the data it contains.\n If an Amazon EBS volume is the root device of an instance, it cannot be detached while the instance is in the \"running\" state. To detach the root volume, stop the instance first.\n If the root volume is detached from an instance with an MKT product code, then the product codes from that volume are no longer associated with the instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volumeattachment.html)", "allOf": [ { "type": "object", @@ -21472,14 +21230,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::StorageProfile" + "AWS::EC2::VolumeAttachment" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::StorageProfile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-storageprofile.html)" + "Attaches an Amazon EBS volume to a running instance and exposes it to the instance with the specified device name.\n Before this resource can be deleted (and therefore the volume detached), you must first unmount the volume in the instance. Failure to do so results in the volume being stuck in the busy state while it is trying to detach, which could possibly damage the file system or the data it contains.\n If an Amazon EBS volume is the root device of an instance, it cannot be detached while the instance is in the \"running\" state. To detach the root volume, stop the instance first.\n If the root volume is detached from an instance with an MKT product code, then the product codes from that volume are no longer associated with the instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volumeattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-deadline-storageprofile.json" + "$ref": "resources/aws-ec2-volumeattachment.json" } }, "required": [ @@ -21493,9 +21251,9 @@ ], "additionalProperties": false }, - "AWS_IoT_Logging": { + "AWS_SageMaker_Project": { "type": "object", - "markdownDescription": "Logging Options enable you to configure your IoT V2 logging role and default logging level so that you can monitor progress events logs as it passes from your devices through Iot core service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-logging.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-project.html)", "allOf": [ { "type": "object", @@ -21503,14 +21261,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::Logging" + "AWS::SageMaker::Project" ], "markdownEnumDescriptions": [ - "Logging Options enable you to configure your IoT V2 logging role and default logging level so that you can monitor progress events logs as it passes from your devices through Iot core service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-logging.html)" + "Resource Type definition for AWS::SageMaker::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-project.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-logging.json" + "$ref": "resources/aws-sagemaker-project.json" } }, "required": [ @@ -21524,9 +21282,9 @@ ], "additionalProperties": false }, - "AWS_Shield_Protection": { + "AWS_KinesisFirehose_DeliveryStream": { "type": "object", - "markdownDescription": "Enables AWS Shield Advanced for a specific AWS resource. The resource can be an Amazon CloudFront distribution, Amazon Route 53 hosted zone, AWS Global Accelerator standard accelerator, Elastic IP Address, Application Load Balancer, or a Classic Load Balancer. You can protect Amazon EC2 instances and Network Load Balancers by association with protected Amazon EC2 Elastic IP addresses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protection.html)", + "markdownDescription": "Resource Type definition for AWS::KinesisFirehose::DeliveryStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html)", "allOf": [ { "type": "object", @@ -21534,19 +21292,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Shield::Protection" + "AWS::KinesisFirehose::DeliveryStream" ], "markdownEnumDescriptions": [ - "Enables AWS Shield Advanced for a specific AWS resource. The resource can be an Amazon CloudFront distribution, Amazon Route 53 hosted zone, AWS Global Accelerator standard accelerator, Elastic IP Address, Application Load Balancer, or a Classic Load Balancer. You can protect Amazon EC2 instances and Network Load Balancers by association with protected Amazon EC2 Elastic IP addresses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protection.html)" + "Resource Type definition for AWS::KinesisFirehose::DeliveryStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html)" ] }, "Properties": { - "$ref": "resources/aws-shield-protection.json" + "$ref": "resources/aws-kinesisfirehose-deliverystream.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21555,9 +21312,9 @@ ], "additionalProperties": false }, - "AWS_OpenSearchServerless_SecurityPolicy": { + "AWS_EC2_EC2Fleet": { "type": "object", - "markdownDescription": "Amazon OpenSearchServerless security policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securitypolicy.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::EC2Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html)", "allOf": [ { "type": "object", @@ -21565,14 +21322,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpenSearchServerless::SecurityPolicy" + "AWS::EC2::EC2Fleet" ], "markdownEnumDescriptions": [ - "Amazon OpenSearchServerless security policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securitypolicy.html)" + "Resource Type definition for AWS::EC2::EC2Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html)" ] }, "Properties": { - "$ref": "resources/aws-opensearchserverless-securitypolicy.json" + "$ref": "resources/aws-ec2-ec2fleet.json" } }, "required": [ @@ -21586,9 +21343,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_Portal": { + "AWS_IoTTwinMaker_SyncJob": { "type": "object", - "markdownDescription": "Definition of AWS::WorkSpacesWeb::Portal Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-portal.html)", + "markdownDescription": "Resource schema for AWS::IoTTwinMaker::SyncJob \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-syncjob.html)", "allOf": [ { "type": "object", @@ -21596,18 +21353,19 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::Portal" + "AWS::IoTTwinMaker::SyncJob" ], "markdownEnumDescriptions": [ - "Definition of AWS::WorkSpacesWeb::Portal Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-portal.html)" + "Resource schema for AWS::IoTTwinMaker::SyncJob \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-syncjob.html)" ] }, "Properties": { - "$ref": "resources/aws-workspacesweb-portal.json" + "$ref": "resources/aws-iottwinmaker-syncjob.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -21616,9 +21374,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Project": { + "AWS_VpcLattice_ResourceConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-project.html)", + "markdownDescription": "VpcLattice ResourceConfiguration CFN resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourceconfiguration.html)", "allOf": [ { "type": "object", @@ -21626,19 +21384,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Project" + "AWS::VpcLattice::ResourceConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-project.html)" + "VpcLattice ResourceConfiguration CFN resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourceconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-project.json" + "$ref": "resources/aws-vpclattice-resourceconfiguration.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21647,9 +21404,9 @@ ], "additionalProperties": false }, - "AWS_IoT_RoleAlias": { + "AWS_ACMPCA_CertificateAuthorityActivation": { "type": "object", - "markdownDescription": "Use the AWS::IoT::RoleAlias resource to declare an AWS IoT RoleAlias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-rolealias.html)", + "markdownDescription": "Used to install the certificate authority certificate and update the certificate authority status. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthorityactivation.html)", "allOf": [ { "type": "object", @@ -21657,14 +21414,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::RoleAlias" + "AWS::ACMPCA::CertificateAuthorityActivation" ], "markdownEnumDescriptions": [ - "Use the AWS::IoT::RoleAlias resource to declare an AWS IoT RoleAlias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-rolealias.html)" + "Used to install the certificate authority certificate and update the certificate authority status. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthorityactivation.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-rolealias.json" + "$ref": "resources/aws-acmpca-certificateauthorityactivation.json" } }, "required": [ @@ -21678,9 +21435,9 @@ ], "additionalProperties": false }, - "AWS_Scheduler_Schedule": { + "AWS_AppConfig_DeploymentStrategy": { "type": "object", - "markdownDescription": "Definition of AWS::Scheduler::Schedule Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html)", + "markdownDescription": "Resource Type definition for AWS::AppConfig::DeploymentStrategy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html)", "allOf": [ { "type": "object", @@ -21688,14 +21445,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Scheduler::Schedule" + "AWS::AppConfig::DeploymentStrategy" ], "markdownEnumDescriptions": [ - "Definition of AWS::Scheduler::Schedule Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html)" + "Resource Type definition for AWS::AppConfig::DeploymentStrategy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html)" ] }, "Properties": { - "$ref": "resources/aws-scheduler-schedule.json" + "$ref": "resources/aws-appconfig-deploymentstrategy.json" } }, "required": [ @@ -21709,9 +21466,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_StackSetConstraint": { + "AWS_EC2_TrafficMirrorTarget": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::StackSetConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::TrafficMirrorTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html)", "allOf": [ { "type": "object", @@ -21719,19 +21476,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::StackSetConstraint" + "AWS::EC2::TrafficMirrorTarget" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::StackSetConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html)" + "Resource Type definition for AWS::EC2::TrafficMirrorTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-stacksetconstraint.json" + "$ref": "resources/aws-ec2-trafficmirrortarget.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21740,9 +21496,9 @@ ], "additionalProperties": false }, - "AWS_Route53_HealthCheck": { + "AWS_EC2_VPCCidrBlock": { "type": "object", - "markdownDescription": "Resource schema for AWS::Route53::HealthCheck. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::VPCCidrBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html)", "allOf": [ { "type": "object", @@ -21750,14 +21506,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53::HealthCheck" + "AWS::EC2::VPCCidrBlock" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53::HealthCheck. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html)" + "Resource Type definition for AWS::EC2::VPCCidrBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html)" ] }, "Properties": { - "$ref": "resources/aws-route53-healthcheck.json" + "$ref": "resources/aws-ec2-vpccidrblock.json" } }, "required": [ @@ -21771,9 +21527,9 @@ ], "additionalProperties": false }, - "AWS_AmazonMQ_Configuration": { + "AWS_ApiGateway_DomainNameAccessAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AmazonMQ::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html)", + "markdownDescription": "Resource Type definition for AWS::ApiGateway::DomainNameAccessAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html)", "allOf": [ { "type": "object", @@ -21781,14 +21537,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AmazonMQ::Configuration" + "AWS::ApiGateway::DomainNameAccessAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AmazonMQ::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html)" + "Resource Type definition for AWS::ApiGateway::DomainNameAccessAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-amazonmq-configuration.json" + "$ref": "resources/aws-apigateway-domainnameaccessassociation.json" } }, "required": [ @@ -21802,9 +21558,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Image": { + "AWS_KafkaConnect_WorkerConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::Image \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-image.html)", + "markdownDescription": "The configuration of the workers, which are the processes that run the connector logic. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-workerconfiguration.html)", "allOf": [ { "type": "object", @@ -21812,14 +21568,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Image" + "AWS::KafkaConnect::WorkerConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Image \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-image.html)" + "The configuration of the workers, which are the processes that run the connector logic. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-workerconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-image.json" + "$ref": "resources/aws-kafkaconnect-workerconfiguration.json" } }, "required": [ @@ -21833,9 +21589,9 @@ ], "additionalProperties": false }, - "AWS_EC2_IPAMScope": { + "AWS_DataBrew_Ruleset": { "type": "object", - "markdownDescription": "Resource Schema of AWS::EC2::IPAMScope Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamscope.html)", + "markdownDescription": "Resource schema for AWS::DataBrew::Ruleset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-ruleset.html)", "allOf": [ { "type": "object", @@ -21843,14 +21599,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::IPAMScope" + "AWS::DataBrew::Ruleset" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EC2::IPAMScope Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamscope.html)" + "Resource schema for AWS::DataBrew::Ruleset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-ruleset.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-ipamscope.json" + "$ref": "resources/aws-databrew-ruleset.json" } }, "required": [ @@ -21864,9 +21620,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_AccessLogSubscription": { + "AWS_ElasticBeanstalk_Application": { "type": "object", - "markdownDescription": "Enables access logs to be sent to Amazon CloudWatch, Amazon S3, and Amazon Kinesis Data Firehose. The service network owner can use the access logs to audit the services in the network. The service network owner will only see access logs from clients and services that are associated with their service network. Access log entries represent traffic originated from VPCs associated with that network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-accesslogsubscription.html)", + "markdownDescription": "The AWS::ElasticBeanstalk::Application resource specifies an Elastic Beanstalk application. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-application.html)", "allOf": [ { "type": "object", @@ -21874,19 +21630,18 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::AccessLogSubscription" + "AWS::ElasticBeanstalk::Application" ], "markdownEnumDescriptions": [ - "Enables access logs to be sent to Amazon CloudWatch, Amazon S3, and Amazon Kinesis Data Firehose. The service network owner can use the access logs to audit the services in the network. The service network owner will only see access logs from clients and services that are associated with their service network. Access log entries represent traffic originated from VPCs associated with that network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-accesslogsubscription.html)" + "The AWS::ElasticBeanstalk::Application resource specifies an Elastic Beanstalk application. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-application.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-accesslogsubscription.json" + "$ref": "resources/aws-elasticbeanstalk-application.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21895,9 +21650,9 @@ ], "additionalProperties": false }, - "AWS_KinesisAnalytics_ApplicationOutput": { + "AWS_WorkSpacesWeb_BrowserSettings": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::KinesisAnalytics::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationoutput.html)", + "markdownDescription": "Definition of AWS::WorkSpacesWeb::BrowserSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-browsersettings.html)", "allOf": [ { "type": "object", @@ -21905,19 +21660,18 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisAnalytics::ApplicationOutput" + "AWS::WorkSpacesWeb::BrowserSettings" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KinesisAnalytics::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationoutput.html)" + "Definition of AWS::WorkSpacesWeb::BrowserSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-browsersettings.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisanalytics-applicationoutput.json" + "$ref": "resources/aws-workspacesweb-browsersettings.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21926,9 +21680,9 @@ ], "additionalProperties": false }, - "AWS_IoTFleetHub_Application": { + "AWS_MediaPackage_PackagingGroup": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTFleetHub::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleethub-application.html)", + "markdownDescription": "Resource schema for AWS::MediaPackage::PackagingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html)", "allOf": [ { "type": "object", @@ -21936,14 +21690,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTFleetHub::Application" + "AWS::MediaPackage::PackagingGroup" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTFleetHub::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleethub-application.html)" + "Resource schema for AWS::MediaPackage::PackagingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html)" ] }, "Properties": { - "$ref": "resources/aws-iotfleethub-application.json" + "$ref": "resources/aws-mediapackage-packaginggroup.json" } }, "required": [ @@ -21957,9 +21711,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_LayerVersionPermission": { + "AWS_GreengrassV2_ComponentVersion": { "type": "object", - "markdownDescription": "Schema for Lambda LayerVersionPermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html)", + "markdownDescription": "Resource for Greengrass component version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-componentversion.html)", "allOf": [ { "type": "object", @@ -21967,19 +21721,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::LayerVersionPermission" + "AWS::GreengrassV2::ComponentVersion" ], "markdownEnumDescriptions": [ - "Schema for Lambda LayerVersionPermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html)" + "Resource for Greengrass component version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-componentversion.html)" ] }, "Properties": { - "$ref": "resources/aws-lambda-layerversionpermission.json" + "$ref": "resources/aws-greengrassv2-componentversion.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21988,9 +21741,9 @@ ], "additionalProperties": false }, - "AWS_ManagedBlockchain_Node": { + "AWS_SSM_Parameter": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ManagedBlockchain::Node \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html)", + "markdownDescription": "The ``AWS::SSM::Parameter`` resource creates an SSM parameter in SYSlong Parameter Store.\n To create an SSM parameter, you must have the IAMlong (IAM) permissions ``ssm:PutParameter`` and ``ssm:AddTagsToResource``. On stack creation, CFNlong adds the following three tags to the parameter: ``aws:cloudformation:stack-name``, ``aws:cloudformation:logical-id``, and ``aws:cloudformation:stack-id``, in addition to any custom tags you specify.\n To add, update, or remove tags during stack update, you must have IAM permissions for both ``ssm:AddTagsToResource`` and ``ssm:RemoveTagsFromResource``. For more information, see [Managing Access Using Policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/security-iam.html#security_iam_access-manage) in the *User Guide*.\n For information about valid values for parameters, see [About requirements and constraints for parameter names](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-create.html#sysman-parameter-name-constraints) in the *User Guide* and [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html) in the *API Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html)", "allOf": [ { "type": "object", @@ -21998,14 +21751,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ManagedBlockchain::Node" + "AWS::SSM::Parameter" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ManagedBlockchain::Node \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html)" + "The ``AWS::SSM::Parameter`` resource creates an SSM parameter in SYSlong Parameter Store.\n To create an SSM parameter, you must have the IAMlong (IAM) permissions ``ssm:PutParameter`` and ``ssm:AddTagsToResource``. On stack creation, CFNlong adds the following three tags to the parameter: ``aws:cloudformation:stack-name``, ``aws:cloudformation:logical-id``, and ``aws:cloudformation:stack-id``, in addition to any custom tags you specify.\n To add, update, or remove tags during stack update, you must have IAM permissions for both ``ssm:AddTagsToResource`` and ``ssm:RemoveTagsFromResource``. For more information, see [Managing Access Using Policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/security-iam.html#security_iam_access-manage) in the *User Guide*.\n For information about valid values for parameters, see [About requirements and constraints for parameter names](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-create.html#sysman-parameter-name-constraints) in the *User Guide* and [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html) in the *API Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html)" ] }, "Properties": { - "$ref": "resources/aws-managedblockchain-node.json" + "$ref": "resources/aws-ssm-parameter.json" } }, "required": [ @@ -22019,9 +21772,9 @@ ], "additionalProperties": false }, - "AWS_Location_TrackerConsumer": { + "AWS_Timestream_Database": { "type": "object", - "markdownDescription": "Definition of AWS::Location::TrackerConsumer Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-trackerconsumer.html)", + "markdownDescription": "The AWS::Timestream::Database resource creates a Timestream database. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-database.html)", "allOf": [ { "type": "object", @@ -22029,19 +21782,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Location::TrackerConsumer" + "AWS::Timestream::Database" ], "markdownEnumDescriptions": [ - "Definition of AWS::Location::TrackerConsumer Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-trackerconsumer.html)" + "The AWS::Timestream::Database resource creates a Timestream database. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-database.html)" ] }, "Properties": { - "$ref": "resources/aws-location-trackerconsumer.json" + "$ref": "resources/aws-timestream-database.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -22050,9 +21802,9 @@ ], "additionalProperties": false }, - "AWS_DynamoDB_GlobalTable": { + "AWS_CleanRooms_Membership": { "type": "object", - "markdownDescription": "Version: None. Resource Type definition for AWS::DynamoDB::GlobalTable \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html)", + "markdownDescription": "Represents an AWS account that is a part of a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-membership.html)", "allOf": [ { "type": "object", @@ -22060,14 +21812,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DynamoDB::GlobalTable" + "AWS::CleanRooms::Membership" ], "markdownEnumDescriptions": [ - "Version: None. Resource Type definition for AWS::DynamoDB::GlobalTable \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html)" + "Represents an AWS account that is a part of a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-membership.html)" ] }, "Properties": { - "$ref": "resources/aws-dynamodb-globaltable.json" + "$ref": "resources/aws-cleanrooms-membership.json" } }, "required": [ @@ -22081,9 +21833,9 @@ ], "additionalProperties": false }, - "AWS_EC2_InternetGateway": { + "AWS_ECS_Cluster": { "type": "object", - "markdownDescription": "Allocates an internet gateway for use with a VPC. After creating the Internet gateway, you then attach it to a VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-internetgateway.html)", + "markdownDescription": "The ``AWS::ECS::Cluster`` resource creates an Amazon Elastic Container Service (Amazon ECS) cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html)", "allOf": [ { "type": "object", @@ -22091,14 +21843,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::InternetGateway" + "AWS::ECS::Cluster" ], "markdownEnumDescriptions": [ - "Allocates an internet gateway for use with a VPC. After creating the Internet gateway, you then attach it to a VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-internetgateway.html)" + "The ``AWS::ECS::Cluster`` resource creates an Amazon Elastic Container Service (Amazon ECS) cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-internetgateway.json" + "$ref": "resources/aws-ecs-cluster.json" } }, "required": [ @@ -22111,9 +21863,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_CachePolicy": { + "AWS_CodeArtifact_Repository": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::CachePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cachepolicy.html)", + "markdownDescription": "The resource schema to create a CodeArtifact repository. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html)", "allOf": [ { "type": "object", @@ -22121,14 +21873,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::CachePolicy" + "AWS::CodeArtifact::Repository" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::CachePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cachepolicy.html)" + "The resource schema to create a CodeArtifact repository. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-cachepolicy.json" + "$ref": "resources/aws-codeartifact-repository.json" } }, "required": [ @@ -22142,9 +21894,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_UserProfile": { + "AWS_SES_ContactList": { "type": "object", - "markdownDescription": "A user profile represents Amazon DataZone users. Amazon DataZone supports both IAM roles and SSO identities to interact with the Amazon DataZone Management Console and the data portal for different purposes. Domain administrators use IAM roles to perform the initial administrative domain-related work in the Amazon DataZone Management Console, including creating new Amazon DataZone domains, configuring metadata form types, and implementing policies. Data workers use their SSO corporate identities via Identity Center to log into the Amazon DataZone Data Portal and access projects where they have memberships. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-userprofile.html)", + "markdownDescription": "Resource schema for AWS::SES::ContactList. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-contactlist.html)", "allOf": [ { "type": "object", @@ -22152,19 +21904,18 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::UserProfile" + "AWS::SES::ContactList" ], "markdownEnumDescriptions": [ - "A user profile represents Amazon DataZone users. Amazon DataZone supports both IAM roles and SSO identities to interact with the Amazon DataZone Management Console and the data portal for different purposes. Domain administrators use IAM roles to perform the initial administrative domain-related work in the Amazon DataZone Management Console, including creating new Amazon DataZone domains, configuring metadata form types, and implementing policies. Data workers use their SSO corporate identities via Identity Center to log into the Amazon DataZone Data Portal and access projects where they have memberships. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-userprofile.html)" + "Resource schema for AWS::SES::ContactList. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-contactlist.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-userprofile.json" + "$ref": "resources/aws-ses-contactlist.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -22173,9 +21924,9 @@ ], "additionalProperties": false }, - "AWS_QBusiness_WebExperience": { + "AWS_DataSync_StorageSystem": { "type": "object", - "markdownDescription": "Definition of AWS::QBusiness::WebExperience Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-webexperience.html)", + "markdownDescription": "Resource schema for AWS::DataSync::StorageSystem. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html)", "allOf": [ { "type": "object", @@ -22183,14 +21934,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QBusiness::WebExperience" + "AWS::DataSync::StorageSystem" ], "markdownEnumDescriptions": [ - "Definition of AWS::QBusiness::WebExperience Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-webexperience.html)" + "Resource schema for AWS::DataSync::StorageSystem. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html)" ] }, "Properties": { - "$ref": "resources/aws-qbusiness-webexperience.json" + "$ref": "resources/aws-datasync-storagesystem.json" } }, "required": [ @@ -22204,9 +21955,9 @@ ], "additionalProperties": false }, - "AWS_DataBrew_Job": { + "AWS_Cassandra_Type": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataBrew::Job. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html)", + "markdownDescription": "Resource schema for AWS::Cassandra::Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-type.html)", "allOf": [ { "type": "object", @@ -22214,14 +21965,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataBrew::Job" + "AWS::Cassandra::Type" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataBrew::Job. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html)" + "Resource schema for AWS::Cassandra::Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-type.html)" ] }, "Properties": { - "$ref": "resources/aws-databrew-job.json" + "$ref": "resources/aws-cassandra-type.json" } }, "required": [ @@ -22235,9 +21986,9 @@ ], "additionalProperties": false }, - "AWS_EMR_StudioSessionMapping": { + "AWS_NimbleStudio_StreamingImage": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studiosessionmapping.html)", + "markdownDescription": "Resource Type definition for AWS::NimbleStudio::StreamingImage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-streamingimage.html)", "allOf": [ { "type": "object", @@ -22245,14 +21996,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::StudioSessionMapping" + "AWS::NimbleStudio::StreamingImage" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studiosessionmapping.html)" + "Resource Type definition for AWS::NimbleStudio::StreamingImage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-streamingimage.html)" ] }, "Properties": { - "$ref": "resources/aws-emr-studiosessionmapping.json" + "$ref": "resources/aws-nimblestudio-streamingimage.json" } }, "required": [ @@ -22266,9 +22017,9 @@ ], "additionalProperties": false }, - "AWS_InternetMonitor_Monitor": { + "AWS_CE_AnomalySubscription": { "type": "object", - "markdownDescription": "Represents a monitor, which defines the monitoring boundaries for measurements that Internet Monitor publishes information about for an application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-internetmonitor-monitor.html)", + "markdownDescription": "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. Create subscription to be notified \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html)", "allOf": [ { "type": "object", @@ -22276,14 +22027,14 @@ "Type": { "type": "string", "enum": [ - "AWS::InternetMonitor::Monitor" + "AWS::CE::AnomalySubscription" ], "markdownEnumDescriptions": [ - "Represents a monitor, which defines the monitoring boundaries for measurements that Internet Monitor publishes information about for an application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-internetmonitor-monitor.html)" + "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. Create subscription to be notified \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-internetmonitor-monitor.json" + "$ref": "resources/aws-ce-anomalysubscription.json" } }, "required": [ @@ -22297,9 +22048,9 @@ ], "additionalProperties": false }, - "AWS_SES_ConfigurationSet": { + "AWS_SageMaker_AppImageConfig": { "type": "object", - "markdownDescription": "Resource schema for AWS::SES::ConfigurationSet. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::AppImageConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-appimageconfig.html)", "allOf": [ { "type": "object", @@ -22307,18 +22058,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::ConfigurationSet" + "AWS::SageMaker::AppImageConfig" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::SES::ConfigurationSet. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html)" + "Resource Type definition for AWS::SageMaker::AppImageConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-appimageconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-configurationset.json" + "$ref": "resources/aws-sagemaker-appimageconfig.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -22327,9 +22079,9 @@ ], "additionalProperties": false }, - "AWS_S3Outposts_BucketPolicy": { + "AWS_Pinpoint_Segment": { "type": "object", - "markdownDescription": "Resource Type Definition for AWS::S3Outposts::BucketPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucketpolicy.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::Segment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html)", "allOf": [ { "type": "object", @@ -22337,14 +22089,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3Outposts::BucketPolicy" + "AWS::Pinpoint::Segment" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::S3Outposts::BucketPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucketpolicy.html)" + "Resource Type definition for AWS::Pinpoint::Segment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html)" ] }, "Properties": { - "$ref": "resources/aws-s3outposts-bucketpolicy.json" + "$ref": "resources/aws-pinpoint-segment.json" } }, "required": [ @@ -22358,9 +22110,9 @@ ], "additionalProperties": false }, - "AWS_AppIntegrations_DataIntegration": { + "AWS_Route53Resolver_ResolverDNSSECConfig": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppIntegrations::DataIntegration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html)", + "markdownDescription": "Resource schema for AWS::Route53Resolver::ResolverDNSSECConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverdnssecconfig.html)", "allOf": [ { "type": "object", @@ -22368,19 +22120,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AppIntegrations::DataIntegration" + "AWS::Route53Resolver::ResolverDNSSECConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppIntegrations::DataIntegration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html)" + "Resource schema for AWS::Route53Resolver::ResolverDNSSECConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverdnssecconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-appintegrations-dataintegration.json" + "$ref": "resources/aws-route53resolver-resolverdnssecconfig.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -22389,9 +22140,9 @@ ], "additionalProperties": false }, - "AWS_Location_GeofenceCollection": { + "AWS_DataSync_LocationFSxLustre": { "type": "object", - "markdownDescription": "Definition of AWS::Location::GeofenceCollection Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-geofencecollection.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationFSxLustre. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxlustre.html)", "allOf": [ { "type": "object", @@ -22399,14 +22150,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Location::GeofenceCollection" + "AWS::DataSync::LocationFSxLustre" ], "markdownEnumDescriptions": [ - "Definition of AWS::Location::GeofenceCollection Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-geofencecollection.html)" + "Resource schema for AWS::DataSync::LocationFSxLustre. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxlustre.html)" ] }, "Properties": { - "$ref": "resources/aws-location-geofencecollection.json" + "$ref": "resources/aws-datasync-locationfsxlustre.json" } }, "required": [ @@ -22420,9 +22171,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_ApplicationSettings": { + "AWS_Route53Resolver_ResolverQueryLoggingConfig": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::ApplicationSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-applicationsettings.html)", + "markdownDescription": "Resource schema for AWS::Route53Resolver::ResolverQueryLoggingConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfig.html)", "allOf": [ { "type": "object", @@ -22430,19 +22181,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::ApplicationSettings" + "AWS::Route53Resolver::ResolverQueryLoggingConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::ApplicationSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-applicationsettings.html)" + "Resource schema for AWS::Route53Resolver::ResolverQueryLoggingConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-applicationsettings.json" + "$ref": "resources/aws-route53resolver-resolverqueryloggingconfig.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -22451,9 +22201,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_IPSet": { + "AWS_SecurityHub_ProductSubscription": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ipset.html)", + "markdownDescription": "The AWS::SecurityHub::ProductSubscription resource represents a subscription to a service that is allowed to generate findings for your Security Hub account. One product subscription resource is created for each product enabled. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-productsubscription.html)", "allOf": [ { "type": "object", @@ -22461,14 +22211,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::IPSet" + "AWS::SecurityHub::ProductSubscription" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ipset.html)" + "The AWS::SecurityHub::ProductSubscription resource represents a subscription to a service that is allowed to generate findings for your Security Hub account. One product subscription resource is created for each product enabled. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-productsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-ipset.json" + "$ref": "resources/aws-securityhub-productsubscription.json" } }, "required": [ @@ -22482,9 +22232,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_EventInvokeConfig": { + "AWS_FIS_TargetAccountConfiguration": { "type": "object", - "markdownDescription": "The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html)", + "markdownDescription": "Resource schema for AWS::FIS::TargetAccountConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-targetaccountconfiguration.html)", "allOf": [ { "type": "object", @@ -22492,14 +22242,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::EventInvokeConfig" + "AWS::FIS::TargetAccountConfiguration" ], "markdownEnumDescriptions": [ - "The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html)" + "Resource schema for AWS::FIS::TargetAccountConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-targetaccountconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-lambda-eventinvokeconfig.json" + "$ref": "resources/aws-fis-targetaccountconfiguration.json" } }, "required": [ @@ -22513,9 +22263,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_ConfiguredTable": { + "AWS_ServiceCatalog_LaunchNotificationConstraint": { "type": "object", - "markdownDescription": "Represents a table that can be associated with collaborations \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::LaunchNotificationConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchnotificationconstraint.html)", "allOf": [ { "type": "object", @@ -22523,14 +22273,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::ConfiguredTable" + "AWS::ServiceCatalog::LaunchNotificationConstraint" ], "markdownEnumDescriptions": [ - "Represents a table that can be associated with collaborations \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html)" + "Resource Type definition for AWS::ServiceCatalog::LaunchNotificationConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchnotificationconstraint.html)" ] }, "Properties": { - "$ref": "resources/aws-cleanrooms-configuredtable.json" + "$ref": "resources/aws-servicecatalog-launchnotificationconstraint.json" } }, "required": [ @@ -22544,9 +22294,9 @@ ], "additionalProperties": false }, - "AWS_CodeGuruReviewer_RepositoryAssociation": { + "AWS_EC2_DHCPOptions": { "type": "object", - "markdownDescription": "This resource schema represents the RepositoryAssociation resource in the Amazon CodeGuru Reviewer service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::DHCPOptions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcpoptions.html)", "allOf": [ { "type": "object", @@ -22554,19 +22304,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeGuruReviewer::RepositoryAssociation" + "AWS::EC2::DHCPOptions" ], "markdownEnumDescriptions": [ - "This resource schema represents the RepositoryAssociation resource in the Amazon CodeGuru Reviewer service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html)" + "Resource Type definition for AWS::EC2::DHCPOptions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcpoptions.html)" ] }, "Properties": { - "$ref": "resources/aws-codegurureviewer-repositoryassociation.json" + "$ref": "resources/aws-ec2-dhcpoptions.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -22575,9 +22324,9 @@ ], "additionalProperties": false }, - "AWS_EKS_FargateProfile": { + "AWS_MediaConnect_FlowOutput": { "type": "object", - "markdownDescription": "Resource Schema for AWS::EKS::FargateProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html)", + "markdownDescription": "Resource schema for AWS::MediaConnect::FlowOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html)", "allOf": [ { "type": "object", @@ -22585,14 +22334,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EKS::FargateProfile" + "AWS::MediaConnect::FlowOutput" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::EKS::FargateProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html)" + "Resource schema for AWS::MediaConnect::FlowOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html)" ] }, "Properties": { - "$ref": "resources/aws-eks-fargateprofile.json" + "$ref": "resources/aws-mediaconnect-flowoutput.json" } }, "required": [ @@ -22606,9 +22355,9 @@ ], "additionalProperties": false }, - "AWS_KinesisAnalyticsV2_ApplicationReferenceDataSource": { + "AWS_CustomerProfiles_Domain": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationreferencedatasource.html)", + "markdownDescription": "A domain defined for 3rd party data source in Profile Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-domain.html)", "allOf": [ { "type": "object", @@ -22616,14 +22365,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" + "AWS::CustomerProfiles::Domain" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationreferencedatasource.html)" + "A domain defined for 3rd party data source in Profile Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-domain.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisanalyticsv2-applicationreferencedatasource.json" + "$ref": "resources/aws-customerprofiles-domain.json" } }, "required": [ @@ -22637,9 +22386,9 @@ ], "additionalProperties": false }, - "AWS_Route53_CidrCollection": { + "AWS_Pinpoint_EmailChannel": { "type": "object", - "markdownDescription": "Resource schema for AWS::Route53::CidrCollection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-cidrcollection.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::EmailChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailchannel.html)", "allOf": [ { "type": "object", @@ -22647,14 +22396,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53::CidrCollection" + "AWS::Pinpoint::EmailChannel" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53::CidrCollection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-cidrcollection.html)" + "Resource Type definition for AWS::Pinpoint::EmailChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-route53-cidrcollection.json" + "$ref": "resources/aws-pinpoint-emailchannel.json" } }, "required": [ @@ -22668,9 +22417,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_Integration": { + "AWS_EC2_ClientVpnTargetNetworkAssociation": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::ClientVpnTargetNetworkAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpntargetnetworkassociation.html)", "allOf": [ { "type": "object", @@ -22678,14 +22427,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::Integration" + "AWS::EC2::ClientVpnTargetNetworkAssociation" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html)" + "Resource Type definition for AWS::EC2::ClientVpnTargetNetworkAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpntargetnetworkassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-integration.json" + "$ref": "resources/aws-ec2-clientvpntargetnetworkassociation.json" } }, "required": [ @@ -22699,9 +22448,9 @@ ], "additionalProperties": false }, - "AWS_IAM_InstanceProfile": { + "AWS_SupportApp_SlackChannelConfiguration": { "type": "object", - "markdownDescription": "Creates a new instance profile. For information about instance profiles, see [Using instance profiles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html).\n For information about the number of instance profiles you can create, see [object quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html)", + "markdownDescription": "An AWS Support App resource that creates, updates, lists and deletes Slack channel configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackchannelconfiguration.html)", "allOf": [ { "type": "object", @@ -22709,14 +22458,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::InstanceProfile" + "AWS::SupportApp::SlackChannelConfiguration" ], "markdownEnumDescriptions": [ - "Creates a new instance profile. For information about instance profiles, see [Using instance profiles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html).\n For information about the number of instance profiles you can create, see [object quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html)" + "An AWS Support App resource that creates, updates, lists and deletes Slack channel configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackchannelconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-instanceprofile.json" + "$ref": "resources/aws-supportapp-slackchannelconfiguration.json" } }, "required": [ @@ -22730,9 +22479,9 @@ ], "additionalProperties": false }, - "AWS_RDS_GlobalCluster": { + "AWS_GuardDuty_MalwareProtectionPlan": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::RDS::GlobalCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html)", + "markdownDescription": "Resource Type definition for AWS::GuardDuty::MalwareProtectionPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-malwareprotectionplan.html)", "allOf": [ { "type": "object", @@ -22740,18 +22489,19 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::GlobalCluster" + "AWS::GuardDuty::MalwareProtectionPlan" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::RDS::GlobalCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html)" + "Resource Type definition for AWS::GuardDuty::MalwareProtectionPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-malwareprotectionplan.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-globalcluster.json" + "$ref": "resources/aws-guardduty-malwareprotectionplan.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -22760,9 +22510,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_FlowEntitlement": { + "AWS_Location_RouteCalculator": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaConnect::FlowEntitlement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html)", + "markdownDescription": "Definition of AWS::Location::RouteCalculator Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-routecalculator.html)", "allOf": [ { "type": "object", @@ -22770,14 +22520,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::FlowEntitlement" + "AWS::Location::RouteCalculator" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::FlowEntitlement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html)" + "Definition of AWS::Location::RouteCalculator Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-routecalculator.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconnect-flowentitlement.json" + "$ref": "resources/aws-location-routecalculator.json" } }, "required": [ @@ -22791,9 +22541,9 @@ ], "additionalProperties": false }, - "AWS_MediaTailor_ChannelPolicy": { + "AWS_EC2_ClientVpnRoute": { "type": "object", - "markdownDescription": "Definition of AWS::MediaTailor::ChannelPolicy Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channelpolicy.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::ClientVpnRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnroute.html)", "allOf": [ { "type": "object", @@ -22801,14 +22551,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaTailor::ChannelPolicy" + "AWS::EC2::ClientVpnRoute" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaTailor::ChannelPolicy Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channelpolicy.html)" + "Resource Type definition for AWS::EC2::ClientVpnRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnroute.html)" ] }, "Properties": { - "$ref": "resources/aws-mediatailor-channelpolicy.json" + "$ref": "resources/aws-ec2-clientvpnroute.json" } }, "required": [ @@ -22822,9 +22572,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolGroup": { + "AWS_IoT_TopicRuleDestination": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html)", + "markdownDescription": "Resource Type definition for AWS::IoT::TopicRuleDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicruledestination.html)", "allOf": [ { "type": "object", @@ -22832,19 +22582,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolGroup" + "AWS::IoT::TopicRuleDestination" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html)" + "Resource Type definition for AWS::IoT::TopicRuleDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicruledestination.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-userpoolgroup.json" + "$ref": "resources/aws-iot-topicruledestination.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -22853,9 +22602,9 @@ ], "additionalProperties": false }, - "AWS_EC2_Host": { + "AWS_DLM_LifecyclePolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::Host \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html)", + "markdownDescription": "Resource Type definition for AWS::DLM::LifecyclePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html)", "allOf": [ { "type": "object", @@ -22863,19 +22612,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::Host" + "AWS::DLM::LifecyclePolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::Host \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html)" + "Resource Type definition for AWS::DLM::LifecyclePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-host.json" + "$ref": "resources/aws-dlm-lifecyclepolicy.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -22884,9 +22632,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_Site": { + "AWS_CertificateManager_Account": { "type": "object", - "markdownDescription": "The AWS::NetworkManager::Site type describes a site. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html)", + "markdownDescription": "Resource schema for AWS::CertificateManager::Account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-account.html)", "allOf": [ { "type": "object", @@ -22894,14 +22642,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::Site" + "AWS::CertificateManager::Account" ], "markdownEnumDescriptions": [ - "The AWS::NetworkManager::Site type describes a site. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html)" + "Resource schema for AWS::CertificateManager::Account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-account.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-site.json" + "$ref": "resources/aws-certificatemanager-account.json" } }, "required": [ @@ -22915,9 +22663,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_StackSet": { + "AWS_IAM_VirtualMFADevice": { "type": "object", - "markdownDescription": "StackSet as a resource provides one-click experience for provisioning a StackSet and StackInstances \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html)", + "markdownDescription": "Resource Type definition for AWS::IAM::VirtualMFADevice \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-virtualmfadevice.html)", "allOf": [ { "type": "object", @@ -22925,14 +22673,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::StackSet" + "AWS::IAM::VirtualMFADevice" ], "markdownEnumDescriptions": [ - "StackSet as a resource provides one-click experience for provisioning a StackSet and StackInstances \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html)" + "Resource Type definition for AWS::IAM::VirtualMFADevice \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-virtualmfadevice.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-stackset.json" + "$ref": "resources/aws-iam-virtualmfadevice.json" } }, "required": [ @@ -22946,9 +22694,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Distribution": { + "AWS_Glue_Partition": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::Distribution \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::Partition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html)", "allOf": [ { "type": "object", @@ -22956,14 +22704,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Distribution" + "AWS::Glue::Partition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::Distribution \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html)" + "Resource Type definition for AWS::Glue::Partition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-distribution.json" + "$ref": "resources/aws-glue-partition.json" } }, "required": [ @@ -22977,9 +22725,9 @@ ], "additionalProperties": false }, - "AWS_SDB_Domain": { + "AWS_WAF_SizeConstraintSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SDB::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sdb-domain.html)", + "markdownDescription": "Resource Type definition for AWS::WAF::SizeConstraintSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sizeconstraintset.html)", "allOf": [ { "type": "object", @@ -22987,18 +22735,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SDB::Domain" + "AWS::WAF::SizeConstraintSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SDB::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sdb-domain.html)" + "Resource Type definition for AWS::WAF::SizeConstraintSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sizeconstraintset.html)" ] }, "Properties": { - "$ref": "resources/aws-sdb-domain.json" + "$ref": "resources/aws-waf-sizeconstraintset.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -23007,9 +22756,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_UserSettings": { + "AWS_Pinpoint_ADMChannel": { "type": "object", - "markdownDescription": "Definition of AWS::WorkSpacesWeb::UserSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::ADMChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-admchannel.html)", "allOf": [ { "type": "object", @@ -23017,14 +22766,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::UserSettings" + "AWS::Pinpoint::ADMChannel" ], "markdownEnumDescriptions": [ - "Definition of AWS::WorkSpacesWeb::UserSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.html)" + "Resource Type definition for AWS::Pinpoint::ADMChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-admchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-workspacesweb-usersettings.json" + "$ref": "resources/aws-pinpoint-admchannel.json" } }, "required": [ @@ -23038,9 +22787,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_ByteMatchSet": { + "AWS_Backup_RestoreTestingSelection": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::ByteMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-bytematchset.html)", + "markdownDescription": "Resource Type definition for AWS::Backup::RestoreTestingSelection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.html)", "allOf": [ { "type": "object", @@ -23048,14 +22797,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::ByteMatchSet" + "AWS::Backup::RestoreTestingSelection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::ByteMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-bytematchset.html)" + "Resource Type definition for AWS::Backup::RestoreTestingSelection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-bytematchset.json" + "$ref": "resources/aws-backup-restoretestingselection.json" } }, "required": [ @@ -23069,9 +22818,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VerifiedAccessEndpoint": { + "AWS_LicenseManager_License": { "type": "object", - "markdownDescription": "The AWS::EC2::VerifiedAccessEndpoint resource creates an AWS EC2 Verified Access Endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html)", + "markdownDescription": "Resource Type definition for AWS::LicenseManager::License \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.html)", "allOf": [ { "type": "object", @@ -23079,14 +22828,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VerifiedAccessEndpoint" + "AWS::LicenseManager::License" ], "markdownEnumDescriptions": [ - "The AWS::EC2::VerifiedAccessEndpoint resource creates an AWS EC2 Verified Access Endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html)" + "Resource Type definition for AWS::LicenseManager::License \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-verifiedaccessendpoint.json" + "$ref": "resources/aws-licensemanager-license.json" } }, "required": [ @@ -23100,9 +22849,9 @@ ], "additionalProperties": false }, - "AWS_IoTFleetWise_Vehicle": { + "AWS_RUM_AppMonitor": { "type": "object", - "markdownDescription": "Definition of AWS::IoTFleetWise::Vehicle Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-vehicle.html)", + "markdownDescription": "Resource Type definition for AWS::RUM::AppMonitor \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rum-appmonitor.html)", "allOf": [ { "type": "object", @@ -23110,14 +22859,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTFleetWise::Vehicle" + "AWS::RUM::AppMonitor" ], "markdownEnumDescriptions": [ - "Definition of AWS::IoTFleetWise::Vehicle Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-vehicle.html)" + "Resource Type definition for AWS::RUM::AppMonitor \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rum-appmonitor.html)" ] }, "Properties": { - "$ref": "resources/aws-iotfleetwise-vehicle.json" + "$ref": "resources/aws-rum-appmonitor.json" } }, "required": [ @@ -23131,9 +22880,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_DataSource": { + "AWS_ECR_PublicRepository": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::DataSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html)", + "markdownDescription": "The AWS::ECR::PublicRepository resource specifies an Amazon Elastic Container Public Registry (Amazon Public ECR) repository, where users can push and pull Docker images. For more information, see https://docs.aws.amazon.com/AmazonECR \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-publicrepository.html)", "allOf": [ { "type": "object", @@ -23141,19 +22890,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::DataSource" + "AWS::ECR::PublicRepository" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::DataSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html)" + "The AWS::ECR::PublicRepository resource specifies an Amazon Elastic Container Public Registry (Amazon Public ECR) repository, where users can push and pull Docker images. For more information, see https://docs.aws.amazon.com/AmazonECR \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-publicrepository.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-datasource.json" + "$ref": "resources/aws-ecr-publicrepository.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -23162,9 +22910,9 @@ ], "additionalProperties": false }, - "AWS_AutoScaling_ScalingPolicy": { + "AWS_MediaPackage_Asset": { "type": "object", - "markdownDescription": "The AWS::AutoScaling::ScalingPolicy resource specifies an Amazon EC2 Auto Scaling scaling policy so that the Auto Scaling group can scale the number of instances available for your application. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html)", + "markdownDescription": "Resource schema for AWS::MediaPackage::Asset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html)", "allOf": [ { "type": "object", @@ -23172,14 +22920,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AutoScaling::ScalingPolicy" + "AWS::MediaPackage::Asset" ], "markdownEnumDescriptions": [ - "The AWS::AutoScaling::ScalingPolicy resource specifies an Amazon EC2 Auto Scaling scaling policy so that the Auto Scaling group can scale the number of instances available for your application. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html)" + "Resource schema for AWS::MediaPackage::Asset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html)" ] }, "Properties": { - "$ref": "resources/aws-autoscaling-scalingpolicy.json" + "$ref": "resources/aws-mediapackage-asset.json" } }, "required": [ @@ -23193,9 +22941,9 @@ ], "additionalProperties": false }, - "AWS_LakeFormation_DataCellsFilter": { + "AWS_EC2_ClientVpnAuthorizationRule": { "type": "object", - "markdownDescription": "A resource schema representing a Lake Formation Data Cells Filter. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datacellsfilter.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::ClientVpnAuthorizationRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html)", "allOf": [ { "type": "object", @@ -23203,14 +22951,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LakeFormation::DataCellsFilter" + "AWS::EC2::ClientVpnAuthorizationRule" ], "markdownEnumDescriptions": [ - "A resource schema representing a Lake Formation Data Cells Filter. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datacellsfilter.html)" + "Resource Type definition for AWS::EC2::ClientVpnAuthorizationRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html)" ] }, "Properties": { - "$ref": "resources/aws-lakeformation-datacellsfilter.json" + "$ref": "resources/aws-ec2-clientvpnauthorizationrule.json" } }, "required": [ @@ -23224,9 +22972,9 @@ ], "additionalProperties": false }, - "AWS_SES_MailManagerIngressPoint": { + "AWS_EFS_FileSystem": { "type": "object", - "markdownDescription": "Definition of AWS::SES::MailManagerIngressPoint Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageringresspoint.html)", + "markdownDescription": "The ``AWS::EFS::FileSystem`` resource creates a new, empty file system in EFSlong (EFS). You must create a mount target ([AWS::EFS::MountTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html)) to mount your EFS file system on an EC2 or other AWS cloud compute resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html)", "allOf": [ { "type": "object", @@ -23234,19 +22982,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::MailManagerIngressPoint" + "AWS::EFS::FileSystem" ], "markdownEnumDescriptions": [ - "Definition of AWS::SES::MailManagerIngressPoint Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageringresspoint.html)" + "The ``AWS::EFS::FileSystem`` resource creates a new, empty file system in EFSlong (EFS). You must create a mount target ([AWS::EFS::MountTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html)) to mount your EFS file system on an EC2 or other AWS cloud compute resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-mailmanageringresspoint.json" + "$ref": "resources/aws-efs-filesystem.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -23255,9 +23002,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCEndpointConnectionNotification": { + "AWS_Route53Resolver_FirewallRuleGroupAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::VPCEndpointConnectionNotification \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html)", + "markdownDescription": "Resource schema for AWS::Route53Resolver::FirewallRuleGroupAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewallrulegroupassociation.html)", "allOf": [ { "type": "object", @@ -23265,14 +23012,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCEndpointConnectionNotification" + "AWS::Route53Resolver::FirewallRuleGroupAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPCEndpointConnectionNotification \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html)" + "Resource schema for AWS::Route53Resolver::FirewallRuleGroupAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewallrulegroupassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpcendpointconnectionnotification.json" + "$ref": "resources/aws-route53resolver-firewallrulegroupassociation.json" } }, "required": [ @@ -23286,9 +23033,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_EmailTemplate": { + "AWS_CodeDeploy_DeploymentGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::EmailTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html)", + "markdownDescription": "Resource Type definition for AWS::CodeDeploy::DeploymentGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html)", "allOf": [ { "type": "object", @@ -23296,14 +23043,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::EmailTemplate" + "AWS::CodeDeploy::DeploymentGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::EmailTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html)" + "Resource Type definition for AWS::CodeDeploy::DeploymentGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-emailtemplate.json" + "$ref": "resources/aws-codedeploy-deploymentgroup.json" } }, "required": [ @@ -23317,9 +23064,9 @@ ], "additionalProperties": false }, - "AWS_EMR_Studio": { + "AWS_GlobalAccelerator_CrossAccountAttachment": { "type": "object", - "markdownDescription": "Resource schema for AWS::EMR::Studio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html)", + "markdownDescription": "Resource Type definition for AWS::GlobalAccelerator::CrossAccountAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-crossaccountattachment.html)", "allOf": [ { "type": "object", @@ -23327,14 +23074,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::Studio" + "AWS::GlobalAccelerator::CrossAccountAttachment" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EMR::Studio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html)" + "Resource Type definition for AWS::GlobalAccelerator::CrossAccountAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-crossaccountattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-emr-studio.json" + "$ref": "resources/aws-globalaccelerator-crossaccountattachment.json" } }, "required": [ @@ -23348,9 +23095,9 @@ ], "additionalProperties": false }, - "AWS_EC2_CapacityReservation": { + "AWS_Connect_PredefinedAttribute": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::CapacityReservation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::PredefinedAttribute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-predefinedattribute.html)", "allOf": [ { "type": "object", @@ -23358,14 +23105,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::CapacityReservation" + "AWS::Connect::PredefinedAttribute" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::CapacityReservation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html)" + "Resource Type definition for AWS::Connect::PredefinedAttribute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-predefinedattribute.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-capacityreservation.json" + "$ref": "resources/aws-connect-predefinedattribute.json" } }, "required": [ @@ -23379,9 +23126,9 @@ ], "additionalProperties": false }, - "AWS_Macie_FindingsFilter": { + "AWS_OpenSearchServerless_SecurityPolicy": { "type": "object", - "markdownDescription": "Macie FindingsFilter resource schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html)", + "markdownDescription": "Amazon OpenSearchServerless security policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securitypolicy.html)", "allOf": [ { "type": "object", @@ -23389,14 +23136,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Macie::FindingsFilter" + "AWS::OpenSearchServerless::SecurityPolicy" ], "markdownEnumDescriptions": [ - "Macie FindingsFilter resource schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html)" + "Amazon OpenSearchServerless security policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securitypolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-macie-findingsfilter.json" + "$ref": "resources/aws-opensearchserverless-securitypolicy.json" } }, "required": [ @@ -23410,9 +23157,9 @@ ], "additionalProperties": false }, - "AWS_KinesisAnalyticsV2_Application": { + "AWS_Greengrass_SubscriptionDefinition": { "type": "object", - "markdownDescription": "Creates an Amazon Kinesis Data Analytics application. For information about creating a Kinesis Data Analytics application, see [Creating an Application](https://docs.aws.amazon.com/kinesisanalytics/latest/java/getting-started.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::SubscriptionDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html)", "allOf": [ { "type": "object", @@ -23420,14 +23167,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisAnalyticsV2::Application" + "AWS::Greengrass::SubscriptionDefinition" ], "markdownEnumDescriptions": [ - "Creates an Amazon Kinesis Data Analytics application. For information about creating a Kinesis Data Analytics application, see [Creating an Application](https://docs.aws.amazon.com/kinesisanalytics/latest/java/getting-started.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html)" + "Resource Type definition for AWS::Greengrass::SubscriptionDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisanalyticsv2-application.json" + "$ref": "resources/aws-greengrass-subscriptiondefinition.json" } }, "required": [ @@ -23441,9 +23188,9 @@ ], "additionalProperties": false }, - "AWS_S3Outposts_AccessPoint": { + "AWS_Glue_CustomEntityType": { "type": "object", - "markdownDescription": "Resource Type Definition for AWS::S3Outposts::AccessPoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::CustomEntityType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-customentitytype.html)", "allOf": [ { "type": "object", @@ -23451,19 +23198,18 @@ "Type": { "type": "string", "enum": [ - "AWS::S3Outposts::AccessPoint" + "AWS::Glue::CustomEntityType" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::S3Outposts::AccessPoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.html)" + "Resource Type definition for AWS::Glue::CustomEntityType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-customentitytype.html)" ] }, "Properties": { - "$ref": "resources/aws-s3outposts-accesspoint.json" + "$ref": "resources/aws-glue-customentitytype.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -23472,9 +23218,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_OrganizationConfiguration": { + "AWS_SES_ReceiptRule": { "type": "object", - "markdownDescription": "The AWS::SecurityHub::OrganizationConfiguration resource represents the configuration of your organization in Security Hub. Only the Security Hub administrator account can create Organization Configuration resource in each region and can opt-in to Central Configuration only in the aggregation region of FindingAggregator. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-organizationconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::SES::ReceiptRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptrule.html)", "allOf": [ { "type": "object", @@ -23482,14 +23228,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::OrganizationConfiguration" + "AWS::SES::ReceiptRule" ], "markdownEnumDescriptions": [ - "The AWS::SecurityHub::OrganizationConfiguration resource represents the configuration of your organization in Security Hub. Only the Security Hub administrator account can create Organization Configuration resource in each region and can opt-in to Central Configuration only in the aggregation region of FindingAggregator. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-organizationconfiguration.html)" + "Resource Type definition for AWS::SES::ReceiptRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptrule.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-organizationconfiguration.json" + "$ref": "resources/aws-ses-receiptrule.json" } }, "required": [ @@ -23503,9 +23249,9 @@ ], "additionalProperties": false }, - "AWS_PCAConnectorAD_Connector": { + "AWS_OpenSearchServerless_LifecyclePolicy": { "type": "object", - "markdownDescription": "Definition of AWS::PCAConnectorAD::Connector Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-connector.html)", + "markdownDescription": "Amazon OpenSearchServerless lifecycle policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-lifecyclepolicy.html)", "allOf": [ { "type": "object", @@ -23513,14 +23259,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PCAConnectorAD::Connector" + "AWS::OpenSearchServerless::LifecyclePolicy" ], "markdownEnumDescriptions": [ - "Definition of AWS::PCAConnectorAD::Connector Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-connector.html)" + "Amazon OpenSearchServerless lifecycle policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-lifecyclepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-pcaconnectorad-connector.json" + "$ref": "resources/aws-opensearchserverless-lifecyclepolicy.json" } }, "required": [ @@ -23534,9 +23280,9 @@ ], "additionalProperties": false }, - "AWS_Kendra_Index": { + "AWS_MediaTailor_ChannelPolicy": { "type": "object", - "markdownDescription": "A Kendra index \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html)", + "markdownDescription": "Definition of AWS::MediaTailor::ChannelPolicy Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channelpolicy.html)", "allOf": [ { "type": "object", @@ -23544,14 +23290,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Kendra::Index" + "AWS::MediaTailor::ChannelPolicy" ], "markdownEnumDescriptions": [ - "A Kendra index \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html)" + "Definition of AWS::MediaTailor::ChannelPolicy Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channelpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-kendra-index.json" + "$ref": "resources/aws-mediatailor-channelpolicy.json" } }, "required": [ @@ -23565,9 +23311,9 @@ ], "additionalProperties": false }, - "AWS_SQS_Queue": { + "AWS_Logs_Transformer": { "type": "object", - "markdownDescription": "The ``AWS::SQS::Queue`` resource creates an SQS standard or FIFO queue.\n Keep the following caveats in mind:\n + If you don't specify the ``FifoQueue`` property, SQS creates a standard queue.\n You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see [Moving from a standard queue to a FIFO queue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-moving.html) in the *Developer Guide*. \n + If you don't provide a value for a property, the queue is created with the default value for the property.\n + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.\n + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues.\n \n For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/screate-queue-cloudformation.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queue.html)", + "markdownDescription": "Specifies a transformer on the log group to transform logs into consistent structured and information rich format. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-transformer.html)", "allOf": [ { "type": "object", @@ -23575,18 +23321,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SQS::Queue" + "AWS::Logs::Transformer" ], "markdownEnumDescriptions": [ - "The ``AWS::SQS::Queue`` resource creates an SQS standard or FIFO queue.\n Keep the following caveats in mind:\n + If you don't specify the ``FifoQueue`` property, SQS creates a standard queue.\n You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see [Moving from a standard queue to a FIFO queue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-moving.html) in the *Developer Guide*. \n + If you don't provide a value for a property, the queue is created with the default value for the property.\n + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.\n + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues.\n \n For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/screate-queue-cloudformation.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queue.html)" + "Specifies a transformer on the log group to transform logs into consistent structured and information rich format. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-transformer.html)" ] }, "Properties": { - "$ref": "resources/aws-sqs-queue.json" + "$ref": "resources/aws-logs-transformer.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -23595,9 +23342,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorks_Volume": { + "AWS_Budgets_BudgetsAction": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::OpsWorks::Volume \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-volume.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budgetsaction.html)", "allOf": [ { "type": "object", @@ -23605,14 +23352,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorks::Volume" + "AWS::Budgets::BudgetsAction" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorks::Volume \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-volume.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budgetsaction.html)" ] }, "Properties": { - "$ref": "resources/aws-opsworks-volume.json" + "$ref": "resources/aws-budgets-budgetsaction.json" } }, "required": [ @@ -23626,9 +23373,9 @@ ], "additionalProperties": false }, - "AWS_DAX_ParameterGroup": { + "AWS_AppMesh_VirtualRouter": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DAX::ParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html)", + "markdownDescription": "Resource Type definition for AWS::AppMesh::VirtualRouter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html)", "allOf": [ { "type": "object", @@ -23636,18 +23383,19 @@ "Type": { "type": "string", "enum": [ - "AWS::DAX::ParameterGroup" + "AWS::AppMesh::VirtualRouter" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DAX::ParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html)" + "Resource Type definition for AWS::AppMesh::VirtualRouter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html)" ] }, "Properties": { - "$ref": "resources/aws-dax-parametergroup.json" + "$ref": "resources/aws-appmesh-virtualrouter.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -23656,9 +23404,9 @@ ], "additionalProperties": false }, - "AWS_Connect_ContactFlow": { + "AWS_SSMQuickSetup_ConfigurationManager": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::ContactFlow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-contactflow.html)", + "markdownDescription": "Definition of AWS::SSMQuickSetup::ConfigurationManager Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmquicksetup-configurationmanager.html)", "allOf": [ { "type": "object", @@ -23666,14 +23414,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::ContactFlow" + "AWS::SSMQuickSetup::ConfigurationManager" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::ContactFlow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-contactflow.html)" + "Definition of AWS::SSMQuickSetup::ConfigurationManager Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmquicksetup-configurationmanager.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-contactflow.json" + "$ref": "resources/aws-ssmquicksetup-configurationmanager.json" } }, "required": [ @@ -23687,9 +23435,9 @@ ], "additionalProperties": false }, - "AWS_VerifiedPermissions_PolicyTemplate": { + "AWS_AppStream_ApplicationFleetAssociation": { "type": "object", - "markdownDescription": "Definition of AWS::VerifiedPermissions::PolicyTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policytemplate.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::ApplicationFleetAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationfleetassociation.html)", "allOf": [ { "type": "object", @@ -23697,14 +23445,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VerifiedPermissions::PolicyTemplate" + "AWS::AppStream::ApplicationFleetAssociation" ], "markdownEnumDescriptions": [ - "Definition of AWS::VerifiedPermissions::PolicyTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policytemplate.html)" + "Resource Type definition for AWS::AppStream::ApplicationFleetAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationfleetassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-verifiedpermissions-policytemplate.json" + "$ref": "resources/aws-appstream-applicationfleetassociation.json" } }, "required": [ @@ -23718,9 +23466,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_ConfigurationProfile": { + "AWS_Cognito_LogDeliveryConfiguration": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::LogDeliveryConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.html)", "allOf": [ { "type": "object", @@ -23728,14 +23476,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::ConfigurationProfile" + "AWS::Cognito::LogDeliveryConfiguration" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html)" + "Resource Type definition for AWS::Cognito::LogDeliveryConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-appconfig-configurationprofile.json" + "$ref": "resources/aws-cognito-logdeliveryconfiguration.json" } }, "required": [ @@ -23749,9 +23497,9 @@ ], "additionalProperties": false }, - "AWS_KafkaConnect_WorkerConfiguration": { + "AWS_MediaTailor_Channel": { "type": "object", - "markdownDescription": "The configuration of the workers, which are the processes that run the connector logic. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-workerconfiguration.html)", + "markdownDescription": "Definition of AWS::MediaTailor::Channel Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channel.html)", "allOf": [ { "type": "object", @@ -23759,14 +23507,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KafkaConnect::WorkerConfiguration" + "AWS::MediaTailor::Channel" ], "markdownEnumDescriptions": [ - "The configuration of the workers, which are the processes that run the connector logic. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-workerconfiguration.html)" + "Definition of AWS::MediaTailor::Channel Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channel.html)" ] }, "Properties": { - "$ref": "resources/aws-kafkaconnect-workerconfiguration.json" + "$ref": "resources/aws-mediatailor-channel.json" } }, "required": [ @@ -23780,9 +23528,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_UserGroup": { + "AWS_Personalize_DatasetGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElastiCache::UserGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html)", + "markdownDescription": "Resource Schema for AWS::Personalize::DatasetGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-datasetgroup.html)", "allOf": [ { "type": "object", @@ -23790,14 +23538,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::UserGroup" + "AWS::Personalize::DatasetGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElastiCache::UserGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html)" + "Resource Schema for AWS::Personalize::DatasetGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-datasetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-usergroup.json" + "$ref": "resources/aws-personalize-datasetgroup.json" } }, "required": [ @@ -23811,9 +23559,9 @@ ], "additionalProperties": false }, - "AWS_SystemsManagerSAP_Application": { + "AWS_Rbin_Rule": { "type": "object", - "markdownDescription": "Resource schema for AWS::SystemsManagerSAP::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-systemsmanagersap-application.html)", + "markdownDescription": "Resource Type definition for AWS::Rbin::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rbin-rule.html)", "allOf": [ { "type": "object", @@ -23821,14 +23569,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SystemsManagerSAP::Application" + "AWS::Rbin::Rule" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::SystemsManagerSAP::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-systemsmanagersap-application.html)" + "Resource Type definition for AWS::Rbin::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rbin-rule.html)" ] }, "Properties": { - "$ref": "resources/aws-systemsmanagersap-application.json" + "$ref": "resources/aws-rbin-rule.json" } }, "required": [ @@ -23842,9 +23590,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackage_Channel": { + "AWS_Events_Rule": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaPackage::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html)", + "markdownDescription": "Resource Type definition for AWS::Events::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html)", "allOf": [ { "type": "object", @@ -23852,19 +23600,18 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackage::Channel" + "AWS::Events::Rule" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaPackage::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html)" + "Resource Type definition for AWS::Events::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackage-channel.json" + "$ref": "resources/aws-events-rule.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -23873,9 +23620,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_Resolver": { + "AWS_S3ObjectLambda_AccessPointPolicy": { "type": "object", - "markdownDescription": "The ``AWS::AppSync::Resolver`` resource defines the logical GraphQL resolver that you attach to fields in a schema. Request and response templates for resolvers are written in Apache Velocity Template Language (VTL) format. For more information about resolvers, see [Resolver Mapping Template Reference](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-mapping-template-reference.html).\n When you submit an update, CFNLong updates resources based on differences between what you submit and the stack's current template. To cause this resource to be updated you must change a property value for this resource in the CFNshort template. Changing the S3 file content without changing a property value will not result in an update operation.\n See [Update Behaviors of Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html)", + "markdownDescription": "AWS::S3ObjectLambda::AccessPointPolicy resource is an Amazon S3ObjectLambda policy type that you can use to control permissions for your S3ObjectLambda \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspointpolicy.html)", "allOf": [ { "type": "object", @@ -23883,14 +23630,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::Resolver" + "AWS::S3ObjectLambda::AccessPointPolicy" ], "markdownEnumDescriptions": [ - "The ``AWS::AppSync::Resolver`` resource defines the logical GraphQL resolver that you attach to fields in a schema. Request and response templates for resolvers are written in Apache Velocity Template Language (VTL) format. For more information about resolvers, see [Resolver Mapping Template Reference](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-mapping-template-reference.html).\n When you submit an update, CFNLong updates resources based on differences between what you submit and the stack's current template. To cause this resource to be updated you must change a property value for this resource in the CFNshort template. Changing the S3 file content without changing a property value will not result in an update operation.\n See [Update Behaviors of Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html)" + "AWS::S3ObjectLambda::AccessPointPolicy resource is an Amazon S3ObjectLambda policy type that you can use to control permissions for your S3ObjectLambda \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspointpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-resolver.json" + "$ref": "resources/aws-s3objectlambda-accesspointpolicy.json" } }, "required": [ @@ -23904,9 +23651,9 @@ ], "additionalProperties": false }, - "AWS_Logs_ResourcePolicy": { + "AWS_Redshift_ClusterParameterGroup": { "type": "object", - "markdownDescription": "The resource schema for AWSLogs ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-resourcepolicy.html)", + "markdownDescription": "Resource Type definition for AWS::Redshift::ClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.html)", "allOf": [ { "type": "object", @@ -23914,14 +23661,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::ResourcePolicy" + "AWS::Redshift::ClusterParameterGroup" ], "markdownEnumDescriptions": [ - "The resource schema for AWSLogs ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-resourcepolicy.html)" + "Resource Type definition for AWS::Redshift::ClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-resourcepolicy.json" + "$ref": "resources/aws-redshift-clusterparametergroup.json" } }, "required": [ @@ -23935,9 +23682,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_ModelBiasJobDefinition": { + "AWS_AppStream_ApplicationEntitlementAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelBiasJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelbiasjobdefinition.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::ApplicationEntitlementAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationentitlementassociation.html)", "allOf": [ { "type": "object", @@ -23945,14 +23692,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::ModelBiasJobDefinition" + "AWS::AppStream::ApplicationEntitlementAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::ModelBiasJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelbiasjobdefinition.html)" + "Resource Type definition for AWS::AppStream::ApplicationEntitlementAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationentitlementassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-modelbiasjobdefinition.json" + "$ref": "resources/aws-appstream-applicationentitlementassociation.json" } }, "required": [ @@ -23966,9 +23713,9 @@ ], "additionalProperties": false }, - "AWS_Oam_Link": { + "AWS_DataBrew_Job": { "type": "object", - "markdownDescription": "Definition of AWS::Oam::Link Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-link.html)", + "markdownDescription": "Resource schema for AWS::DataBrew::Job. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html)", "allOf": [ { "type": "object", @@ -23976,14 +23723,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Oam::Link" + "AWS::DataBrew::Job" ], "markdownEnumDescriptions": [ - "Definition of AWS::Oam::Link Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-link.html)" + "Resource schema for AWS::DataBrew::Job. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html)" ] }, "Properties": { - "$ref": "resources/aws-oam-link.json" + "$ref": "resources/aws-databrew-job.json" } }, "required": [ @@ -23997,9 +23744,9 @@ ], "additionalProperties": false }, - "AWS_PCAConnectorAD_DirectoryRegistration": { + "AWS_CodePipeline_Pipeline": { "type": "object", - "markdownDescription": "Definition of AWS::PCAConnectorAD::DirectoryRegistration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-directoryregistration.html)", + "markdownDescription": "The AWS::CodePipeline::Pipeline resource creates a CodePipeline pipeline that describes how software changes go through a release process. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html)", "allOf": [ { "type": "object", @@ -24007,14 +23754,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PCAConnectorAD::DirectoryRegistration" + "AWS::CodePipeline::Pipeline" ], "markdownEnumDescriptions": [ - "Definition of AWS::PCAConnectorAD::DirectoryRegistration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-directoryregistration.html)" + "The AWS::CodePipeline::Pipeline resource creates a CodePipeline pipeline that describes how software changes go through a release process. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html)" ] }, "Properties": { - "$ref": "resources/aws-pcaconnectorad-directoryregistration.json" + "$ref": "resources/aws-codepipeline-pipeline.json" } }, "required": [ @@ -24028,9 +23775,9 @@ ], "additionalProperties": false }, - "AWS_IAM_User": { + "AWS_Rekognition_Collection": { "type": "object", - "markdownDescription": "Creates a new IAM user for your AWS-account.\n For information about quotas for the number of IAM users you can create, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-user.html)", + "markdownDescription": "The AWS::Rekognition::Collection type creates an Amazon Rekognition Collection. A collection is a logical grouping of information about detected faces which can later be referenced for searches on the group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-collection.html)", "allOf": [ { "type": "object", @@ -24038,18 +23785,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::User" + "AWS::Rekognition::Collection" ], "markdownEnumDescriptions": [ - "Creates a new IAM user for your AWS-account.\n For information about quotas for the number of IAM users you can create, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-user.html)" + "The AWS::Rekognition::Collection type creates an Amazon Rekognition Collection. A collection is a logical grouping of information about detected faces which can later be referenced for searches on the group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-collection.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-user.json" + "$ref": "resources/aws-rekognition-collection.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -24058,9 +23806,9 @@ ], "additionalProperties": false }, - "AWS_ECR_PullThroughCacheRule": { + "AWS_EC2_TransitGatewayMulticastGroupMember": { "type": "object", - "markdownDescription": "The AWS::ECR::PullThroughCacheRule resource configures the upstream registry configuration details for an Amazon Elastic Container Registry (Amazon Private ECR) pull-through cache. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-pullthroughcacherule.html)", + "markdownDescription": "The AWS::EC2::TransitGatewayMulticastGroupMember registers and deregisters members and sources (network interfaces) with the transit gateway multicast group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html)", "allOf": [ { "type": "object", @@ -24068,18 +23816,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ECR::PullThroughCacheRule" + "AWS::EC2::TransitGatewayMulticastGroupMember" ], "markdownEnumDescriptions": [ - "The AWS::ECR::PullThroughCacheRule resource configures the upstream registry configuration details for an Amazon Elastic Container Registry (Amazon Private ECR) pull-through cache. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-pullthroughcacherule.html)" + "The AWS::EC2::TransitGatewayMulticastGroupMember registers and deregisters members and sources (network interfaces) with the transit gateway multicast group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html)" ] }, "Properties": { - "$ref": "resources/aws-ecr-pullthroughcacherule.json" + "$ref": "resources/aws-ec2-transitgatewaymulticastgroupmember.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -24088,9 +23837,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorks_App": { + "AWS_SageMaker_UserProfile": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::OpsWorks::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::UserProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-userprofile.html)", "allOf": [ { "type": "object", @@ -24098,14 +23847,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorks::App" + "AWS::SageMaker::UserProfile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorks::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html)" + "Resource Type definition for AWS::SageMaker::UserProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-userprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-opsworks-app.json" + "$ref": "resources/aws-sagemaker-userprofile.json" } }, "required": [ @@ -24119,9 +23868,9 @@ ], "additionalProperties": false }, - "AWS_IAM_UserPolicy": { + "AWS_Wisdom_AIPromptVersion": { "type": "object", - "markdownDescription": "Adds or updates an inline policy document that is embedded in the specified IAM user.\n An IAM user can also have a managed policy attached to it. To attach a managed policy to a user, use [AWS::IAM::User](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed in a user, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html)", + "markdownDescription": "Definition of AWS::Wisdom::AIPromptVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-aipromptversion.html)", "allOf": [ { "type": "object", @@ -24129,14 +23878,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::UserPolicy" + "AWS::Wisdom::AIPromptVersion" ], "markdownEnumDescriptions": [ - "Adds or updates an inline policy document that is embedded in the specified IAM user.\n An IAM user can also have a managed policy attached to it. To attach a managed policy to a user, use [AWS::IAM::User](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed in a user, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html)" + "Definition of AWS::Wisdom::AIPromptVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-aipromptversion.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-userpolicy.json" + "$ref": "resources/aws-wisdom-aipromptversion.json" } }, "required": [ @@ -24150,9 +23899,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorks_UserProfile": { + "AWS_Lambda_Function": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::OpsWorks::UserProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-userprofile.html)", + "markdownDescription": "The ``AWS::Lambda::Function`` resource creates a Lambda function. To create a function, you need a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) and an [execution role](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.\n You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For these functions, include the URI of the container image in the ECR registry in the [ImageUri property of the Code property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-imageuri). You do not need to specify the handler and runtime properties. \n You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For these functions, specify the S3 location of your .zip file in the ``Code`` property. Alternatively, for Node.js and Python functions, you can define your function inline in the [ZipFile property of the Code property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-zipfile). In both cases, you must also specify the handler and runtime properties.\n You can use [code signing](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with ``UpdateFunctionCode``, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.\n When you update a ``AWS::Lambda::Function`` resource, CFNshort calls the [UpdateFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionConfiguration.html) and [UpdateFunctionCode](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionCode.html) LAM APIs under the hood. Because these calls happen sequentially, and invocations can happen between these calls, your function may encounter errors in the time between the calls. For example, if you remove an environment variable, and the code that references that environment variable in the same CFNshort update, you may see invocation errors related to a missing environment variable. To work around this, you can invoke your function against a version or alias by default, rather than the ``$LATEST`` version.\n Note that you configure [provisioned concurrency](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) on a ``AWS::Lambda::Version`` or a ``AWS::Lambda::Alias``.\n For a complete introduction to Lambda functions, see [What is Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/lambda-welcome.html) in the *Lambda developer guide.* \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html)", "allOf": [ { "type": "object", @@ -24160,14 +23909,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorks::UserProfile" + "AWS::Lambda::Function" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorks::UserProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-userprofile.html)" + "The ``AWS::Lambda::Function`` resource creates a Lambda function. To create a function, you need a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) and an [execution role](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.\n You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For these functions, include the URI of the container image in the ECR registry in the [ImageUri property of the Code property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-imageuri). You do not need to specify the handler and runtime properties. \n You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For these functions, specify the S3 location of your .zip file in the ``Code`` property. Alternatively, for Node.js and Python functions, you can define your function inline in the [ZipFile property of the Code property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-zipfile). In both cases, you must also specify the handler and runtime properties.\n You can use [code signing](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with ``UpdateFunctionCode``, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.\n When you update a ``AWS::Lambda::Function`` resource, CFNshort calls the [UpdateFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionConfiguration.html) and [UpdateFunctionCode](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionCode.html) LAM APIs under the hood. Because these calls happen sequentially, and invocations can happen between these calls, your function may encounter errors in the time between the calls. For example, if you remove an environment variable, and the code that references that environment variable in the same CFNshort update, you may see invocation errors related to a missing environment variable. To work around this, you can invoke your function against a version or alias by default, rather than the ``$LATEST`` version.\n Note that you configure [provisioned concurrency](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) on a ``AWS::Lambda::Version`` or a ``AWS::Lambda::Alias``.\n For a complete introduction to Lambda functions, see [What is Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/lambda-welcome.html) in the *Lambda developer guide.* \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html)" ] }, "Properties": { - "$ref": "resources/aws-opsworks-userprofile.json" + "$ref": "resources/aws-lambda-function.json" } }, "required": [ @@ -24181,9 +23930,9 @@ ], "additionalProperties": false }, - "AWS_KMS_ReplicaKey": { + "AWS_IAM_AccessKey": { "type": "object", - "markdownDescription": "The AWS::KMS::ReplicaKey resource specifies a multi-region replica AWS KMS key in AWS Key Management Service (AWS KMS). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-replicakey.html)", + "markdownDescription": "Resource Type definition for AWS::IAM::AccessKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-accesskey.html)", "allOf": [ { "type": "object", @@ -24191,14 +23940,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KMS::ReplicaKey" + "AWS::IAM::AccessKey" ], "markdownEnumDescriptions": [ - "The AWS::KMS::ReplicaKey resource specifies a multi-region replica AWS KMS key in AWS Key Management Service (AWS KMS). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-replicakey.html)" + "Resource Type definition for AWS::IAM::AccessKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-accesskey.html)" ] }, "Properties": { - "$ref": "resources/aws-kms-replicakey.json" + "$ref": "resources/aws-iam-accesskey.json" } }, "required": [ @@ -24212,9 +23961,9 @@ ], "additionalProperties": false }, - "AWS_Connect_SecurityProfile": { + "AWS_WAFRegional_GeoMatchSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::SecurityProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html)", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::GeoMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-geomatchset.html)", "allOf": [ { "type": "object", @@ -24222,14 +23971,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::SecurityProfile" + "AWS::WAFRegional::GeoMatchSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::SecurityProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html)" + "Resource Type definition for AWS::WAFRegional::GeoMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-geomatchset.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-securityprofile.json" + "$ref": "resources/aws-wafregional-geomatchset.json" } }, "required": [ @@ -24243,9 +23992,9 @@ ], "additionalProperties": false }, - "AWS_CE_AnomalyMonitor": { + "AWS_AutoScaling_WarmPool": { "type": "object", - "markdownDescription": "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. You can use Cost Anomaly Detection by creating monitor. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html)", + "markdownDescription": "Resource schema for AWS::AutoScaling::WarmPool. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-warmpool.html)", "allOf": [ { "type": "object", @@ -24253,14 +24002,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CE::AnomalyMonitor" + "AWS::AutoScaling::WarmPool" ], "markdownEnumDescriptions": [ - "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. You can use Cost Anomaly Detection by creating monitor. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html)" + "Resource schema for AWS::AutoScaling::WarmPool. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-warmpool.html)" ] }, "Properties": { - "$ref": "resources/aws-ce-anomalymonitor.json" + "$ref": "resources/aws-autoscaling-warmpool.json" } }, "required": [ @@ -24274,9 +24023,9 @@ ], "additionalProperties": false }, - "AWS_DocDBElastic_Cluster": { + "AWS_WorkSpacesWeb_IpAccessSettings": { "type": "object", - "markdownDescription": "The AWS::DocDBElastic::Cluster Amazon DocumentDB (with MongoDB compatibility) Elastic Scale resource describes a Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdbelastic-cluster.html)", + "markdownDescription": "Definition of AWS::WorkSpacesWeb::IpAccessSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-ipaccesssettings.html)", "allOf": [ { "type": "object", @@ -24284,14 +24033,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DocDBElastic::Cluster" + "AWS::WorkSpacesWeb::IpAccessSettings" ], "markdownEnumDescriptions": [ - "The AWS::DocDBElastic::Cluster Amazon DocumentDB (with MongoDB compatibility) Elastic Scale resource describes a Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdbelastic-cluster.html)" + "Definition of AWS::WorkSpacesWeb::IpAccessSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-ipaccesssettings.html)" ] }, "Properties": { - "$ref": "resources/aws-docdbelastic-cluster.json" + "$ref": "resources/aws-workspacesweb-ipaccesssettings.json" } }, "required": [ @@ -24305,9 +24054,9 @@ ], "additionalProperties": false }, - "AWS_IoT_ThingGroup": { + "AWS_Bedrock_Prompt": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT::ThingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thinggroup.html)", + "markdownDescription": "Definition of AWS::Bedrock::Prompt Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html)", "allOf": [ { "type": "object", @@ -24315,18 +24064,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::ThingGroup" + "AWS::Bedrock::Prompt" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::ThingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thinggroup.html)" + "Definition of AWS::Bedrock::Prompt Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-thinggroup.json" + "$ref": "resources/aws-bedrock-prompt.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -24335,9 +24085,9 @@ ], "additionalProperties": false }, - "AWS_EMRServerless_Application": { + "AWS_EC2_VPNConnection": { "type": "object", - "markdownDescription": "Resource schema for AWS::EMRServerless::Application Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html)", + "markdownDescription": "Specifies a VPN connection between a virtual private gateway and a VPN customer gateway or a transit gateway and a VPN customer gateway.\n To specify a VPN connection between a transit gateway and customer gateway, use the ``TransitGatewayId`` and ``CustomerGatewayId`` properties.\n To specify a VPN connection between a virtual private gateway and customer gateway, use the ``VpnGatewayId`` and ``CustomerGatewayId`` properties.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html)", "allOf": [ { "type": "object", @@ -24345,14 +24095,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMRServerless::Application" + "AWS::EC2::VPNConnection" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EMRServerless::Application Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html)" + "Specifies a VPN connection between a virtual private gateway and a VPN customer gateway or a transit gateway and a VPN customer gateway.\n To specify a VPN connection between a transit gateway and customer gateway, use the ``TransitGatewayId`` and ``CustomerGatewayId`` properties.\n To specify a VPN connection between a virtual private gateway and customer gateway, use the ``VpnGatewayId`` and ``CustomerGatewayId`` properties.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html)" ] }, "Properties": { - "$ref": "resources/aws-emrserverless-application.json" + "$ref": "resources/aws-ec2-vpnconnection.json" } }, "required": [ @@ -24366,9 +24116,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_Multiplexprogram": { + "AWS_EC2_Route": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaLive::Multiplexprogram \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-multiplexprogram.html)", + "markdownDescription": "Specifies a route in a route table. For more information, see [Routes](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html#route-table-routes) in the *Amazon VPC User Guide*.\n You must specify either a destination CIDR block or prefix list ID. You must also specify exactly one of the resources as the target.\n If you create a route that references a transit gateway in the same template where you create the transit gateway, you must declare a dependency on the transit gateway attachment. The route table cannot use the transit gateway until it has successfully attached to the VPC. Add a [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) in the ``AWS::EC2::Route`` resource to explicitly declare a dependency on the ``AWS::EC2::TransitGatewayAttachment`` resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html)", "allOf": [ { "type": "object", @@ -24376,18 +24126,19 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::Multiplexprogram" + "AWS::EC2::Route" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaLive::Multiplexprogram \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-multiplexprogram.html)" + "Specifies a route in a route table. For more information, see [Routes](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html#route-table-routes) in the *Amazon VPC User Guide*.\n You must specify either a destination CIDR block or prefix list ID. You must also specify exactly one of the resources as the target.\n If you create a route that references a transit gateway in the same template where you create the transit gateway, you must declare a dependency on the transit gateway attachment. The route table cannot use the transit gateway until it has successfully attached to the VPC. Add a [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) in the ``AWS::EC2::Route`` resource to explicitly declare a dependency on the ``AWS::EC2::TransitGatewayAttachment`` resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-multiplexprogram.json" + "$ref": "resources/aws-ec2-route.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -24396,9 +24147,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Container": { + "AWS_Wisdom_AIGuardrail": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::Container \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html)", + "markdownDescription": "Definition of AWS::Wisdom::AIGuardrail Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-aiguardrail.html)", "allOf": [ { "type": "object", @@ -24406,14 +24157,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Container" + "AWS::Wisdom::AIGuardrail" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::Container \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html)" + "Definition of AWS::Wisdom::AIGuardrail Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-aiguardrail.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-container.json" + "$ref": "resources/aws-wisdom-aiguardrail.json" } }, "required": [ @@ -24427,9 +24178,9 @@ ], "additionalProperties": false }, - "AWS_SNS_TopicInlinePolicy": { + "AWS_DataZone_SubscriptionTarget": { "type": "object", - "markdownDescription": "Schema for AWS::SNS::TopicInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicinlinepolicy.html)", + "markdownDescription": "Subscription targets enables one to access the data to which you have subscribed in your projects. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-subscriptiontarget.html)", "allOf": [ { "type": "object", @@ -24437,14 +24188,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SNS::TopicInlinePolicy" + "AWS::DataZone::SubscriptionTarget" ], "markdownEnumDescriptions": [ - "Schema for AWS::SNS::TopicInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicinlinepolicy.html)" + "Subscription targets enables one to access the data to which you have subscribed in your projects. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-subscriptiontarget.html)" ] }, "Properties": { - "$ref": "resources/aws-sns-topicinlinepolicy.json" + "$ref": "resources/aws-datazone-subscriptiontarget.json" } }, "required": [ @@ -24458,9 +24209,9 @@ ], "additionalProperties": false }, - "AWS_EC2_CapacityReservationFleet": { + "AWS_VpcLattice_AccessLogSubscription": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::CapacityReservationFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html)", + "markdownDescription": "Enables access logs to be sent to Amazon CloudWatch, Amazon S3, and Amazon Kinesis Data Firehose. The service network owner can use the access logs to audit the services in the network. The service network owner will only see access logs from clients and services that are associated with their service network. Access log entries represent traffic originated from VPCs associated with that network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-accesslogsubscription.html)", "allOf": [ { "type": "object", @@ -24468,18 +24219,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::CapacityReservationFleet" + "AWS::VpcLattice::AccessLogSubscription" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::CapacityReservationFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html)" + "Enables access logs to be sent to Amazon CloudWatch, Amazon S3, and Amazon Kinesis Data Firehose. The service network owner can use the access logs to audit the services in the network. The service network owner will only see access logs from clients and services that are associated with their service network. Access log entries represent traffic originated from VPCs associated with that network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-accesslogsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-capacityreservationfleet.json" + "$ref": "resources/aws-vpclattice-accesslogsubscription.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -24488,9 +24240,9 @@ ], "additionalProperties": false }, - "AWS_SES_ReceiptRuleSet": { + "AWS_ApiGateway_BasePathMappingV2": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SES::ReceiptRuleSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptruleset.html)", + "markdownDescription": "Resource Type definition for AWS::ApiGateway::BasePathMappingV2 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmappingv2.html)", "allOf": [ { "type": "object", @@ -24498,18 +24250,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::ReceiptRuleSet" + "AWS::ApiGateway::BasePathMappingV2" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SES::ReceiptRuleSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptruleset.html)" + "Resource Type definition for AWS::ApiGateway::BasePathMappingV2 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmappingv2.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-receiptruleset.json" + "$ref": "resources/aws-apigateway-basepathmappingv2.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -24518,9 +24271,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayMulticastDomainAssociation": { + "AWS_Route53_DNSSEC": { "type": "object", - "markdownDescription": "The AWS::EC2::TransitGatewayMulticastDomainAssociation type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html)", + "markdownDescription": "Resource used to control (enable/disable) DNSSEC in a specific hosted zone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-dnssec.html)", "allOf": [ { "type": "object", @@ -24528,14 +24281,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayMulticastDomainAssociation" + "AWS::Route53::DNSSEC" ], "markdownEnumDescriptions": [ - "The AWS::EC2::TransitGatewayMulticastDomainAssociation type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html)" + "Resource used to control (enable/disable) DNSSEC in a specific hosted zone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-dnssec.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewaymulticastdomainassociation.json" + "$ref": "resources/aws-route53-dnssec.json" } }, "required": [ @@ -24549,9 +24302,9 @@ ], "additionalProperties": false }, - "AWS_Connect_RoutingProfile": { + "AWS_B2BI_Partnership": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::RoutingProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-routingprofile.html)", + "markdownDescription": "Definition of AWS::B2BI::Partnership Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-partnership.html)", "allOf": [ { "type": "object", @@ -24559,14 +24312,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::RoutingProfile" + "AWS::B2BI::Partnership" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::RoutingProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-routingprofile.html)" + "Definition of AWS::B2BI::Partnership Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-partnership.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-routingprofile.json" + "$ref": "resources/aws-b2bi-partnership.json" } }, "required": [ @@ -24580,9 +24333,9 @@ ], "additionalProperties": false }, - "AWS_IoTEvents_Input": { + "AWS_OpsWorks_Volume": { "type": "object", - "markdownDescription": "The AWS::IoTEvents::Input resource creates an input. To monitor your devices and processes, they must have a way to get telemetry data into AWS IoT Events. This is done by sending messages as *inputs* to AWS IoT Events. For more information, see [How to Use AWS IoT Events](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *AWS IoT Events Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html)", + "markdownDescription": "Resource Type definition for AWS::OpsWorks::Volume \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-volume.html)", "allOf": [ { "type": "object", @@ -24590,14 +24343,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTEvents::Input" + "AWS::OpsWorks::Volume" ], "markdownEnumDescriptions": [ - "The AWS::IoTEvents::Input resource creates an input. To monitor your devices and processes, they must have a way to get telemetry data into AWS IoT Events. This is done by sending messages as *inputs* to AWS IoT Events. For more information, see [How to Use AWS IoT Events](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *AWS IoT Events Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html)" + "Resource Type definition for AWS::OpsWorks::Volume \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-volume.html)" ] }, "Properties": { - "$ref": "resources/aws-iotevents-input.json" + "$ref": "resources/aws-opsworks-volume.json" } }, "required": [ @@ -24611,9 +24364,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_StreamingDistribution": { + "AWS_MediaLive_Channel": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::StreamingDistribution \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html)", + "markdownDescription": "Resource Type definition for AWS::MediaLive::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html)", "allOf": [ { "type": "object", @@ -24621,19 +24374,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::StreamingDistribution" + "AWS::MediaLive::Channel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::StreamingDistribution \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html)" + "Resource Type definition for AWS::MediaLive::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-streamingdistribution.json" + "$ref": "resources/aws-medialive-channel.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -24642,9 +24394,9 @@ ], "additionalProperties": false }, - "AWS_Personalize_Dataset": { + "AWS_Route53_HostedZone": { "type": "object", - "markdownDescription": "Resource schema for AWS::Personalize::Dataset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-dataset.html)", + "markdownDescription": "Creates a new public or private hosted zone. You create records in a public hosted zone to define how you want to route traffic on the internet for a domain, such as example.com, and its subdomains (apex.example.com, acme.example.com). You create records in a private hosted zone to define how you want to route traffic for a domain and its subdomains within one or more Amazon Virtual Private Clouds (Amazon VPCs). \n You can't convert a public hosted zone to a private hosted zone or vice versa. Instead, you must create a new hosted zone with the same name and create new resource record sets.\n For more information about charges for hosted zones, see [Amazon Route 53 Pricing](https://docs.aws.amazon.com/route53/pricing/).\n Note the following:\n + You can't create a hosted zone for a top-level domain (TLD) such as .com.\n + If your domain is registered with a registrar other than Route 53, you must update the name servers with your registrar to make Route 53 the DNS service for the domain. For more information, see [Migrating DNS Service for an Existing Domain to Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/MigratingDNS.html) in the *Amazon Route 53 Developer Guide*. \n \n When you submit a ``CreateHostedZone`` request, the initial status of the hosted zone is ``PENDING``. For public hosted zones, this means that the NS and SOA records are not yet available on all Route 53 DNS servers. When the NS and SOA records are available, the status of the zone changes to ``INSYNC``.\n The ``CreateHostedZone`` request requires the caller to have an ``ec2:DescribeVpcs`` permission.\n When creating private hosted zones, the Amazon VPC must belong to the same partition where the hosted zone is created. A partition is a group of AWS-Regions. Each AWS-account is scoped to one partition.\n The following are the supported partitions:\n + ``aws`` - AWS-Regions \n + ``aws-cn`` - China Regions\n + ``aws-us-gov`` - govcloud-us-region \n \n For more information, see [Access Management](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html)", "allOf": [ { "type": "object", @@ -24652,19 +24404,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Personalize::Dataset" + "AWS::Route53::HostedZone" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Personalize::Dataset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-dataset.html)" + "Creates a new public or private hosted zone. You create records in a public hosted zone to define how you want to route traffic on the internet for a domain, such as example.com, and its subdomains (apex.example.com, acme.example.com). You create records in a private hosted zone to define how you want to route traffic for a domain and its subdomains within one or more Amazon Virtual Private Clouds (Amazon VPCs). \n You can't convert a public hosted zone to a private hosted zone or vice versa. Instead, you must create a new hosted zone with the same name and create new resource record sets.\n For more information about charges for hosted zones, see [Amazon Route 53 Pricing](https://docs.aws.amazon.com/route53/pricing/).\n Note the following:\n + You can't create a hosted zone for a top-level domain (TLD) such as .com.\n + If your domain is registered with a registrar other than Route 53, you must update the name servers with your registrar to make Route 53 the DNS service for the domain. For more information, see [Migrating DNS Service for an Existing Domain to Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/MigratingDNS.html) in the *Amazon Route 53 Developer Guide*. \n \n When you submit a ``CreateHostedZone`` request, the initial status of the hosted zone is ``PENDING``. For public hosted zones, this means that the NS and SOA records are not yet available on all Route 53 DNS servers. When the NS and SOA records are available, the status of the zone changes to ``INSYNC``.\n The ``CreateHostedZone`` request requires the caller to have an ``ec2:DescribeVpcs`` permission.\n When creating private hosted zones, the Amazon VPC must belong to the same partition where the hosted zone is created. A partition is a group of AWS-Regions. Each AWS-account is scoped to one partition.\n The following are the supported partitions:\n + ``aws`` - AWS-Regions \n + ``aws-cn`` - China Regions\n + ``aws-us-gov`` - govcloud-us-region \n \n For more information, see [Access Management](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html)" ] }, "Properties": { - "$ref": "resources/aws-personalize-dataset.json" + "$ref": "resources/aws-route53-hostedzone.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -24673,9 +24424,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPC": { + "AWS_Redshift_Integration": { "type": "object", - "markdownDescription": "Specifies a virtual private cloud (VPC).\n To add an IPv6 CIDR block to the VPC, see [AWS::EC2::VPCCidrBlock](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html).\n For more information, see [Virtual private clouds (VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html)", + "markdownDescription": "Integration from a source AWS service to a Redshift cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-integration.html)", "allOf": [ { "type": "object", @@ -24683,18 +24434,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPC" + "AWS::Redshift::Integration" ], "markdownEnumDescriptions": [ - "Specifies a virtual private cloud (VPC).\n To add an IPv6 CIDR block to the VPC, see [AWS::EC2::VPCCidrBlock](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html).\n For more information, see [Virtual private clouds (VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html)" + "Integration from a source AWS service to a Redshift cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-integration.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpc.json" + "$ref": "resources/aws-redshift-integration.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -24703,9 +24455,9 @@ ], "additionalProperties": false }, - "AWS_GlobalAccelerator_Listener": { + "AWS_NetworkManager_ConnectPeer": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GlobalAccelerator::Listener \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html)", + "markdownDescription": "AWS::NetworkManager::ConnectPeer Resource Type Definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectpeer.html)", "allOf": [ { "type": "object", @@ -24713,14 +24465,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GlobalAccelerator::Listener" + "AWS::NetworkManager::ConnectPeer" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GlobalAccelerator::Listener \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html)" + "AWS::NetworkManager::ConnectPeer Resource Type Definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectpeer.html)" ] }, "Properties": { - "$ref": "resources/aws-globalaccelerator-listener.json" + "$ref": "resources/aws-networkmanager-connectpeer.json" } }, "required": [ @@ -24734,9 +24486,9 @@ ], "additionalProperties": false }, - "AWS_Logs_MetricFilter": { + "AWS_CloudFormation_TypeActivation": { "type": "object", - "markdownDescription": "The ``AWS::Logs::MetricFilter`` resource specifies a metric filter that describes how CWL extracts information from logs and transforms it into Amazon CloudWatch metrics. If you have multiple metric filters that are associated with a log group, all the filters are applied to the log streams in that group.\n The maximum number of metric filters that can be associated with a log group is 100. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html)", + "markdownDescription": "Enable a resource that has been published in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-typeactivation.html)", "allOf": [ { "type": "object", @@ -24744,19 +24496,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::MetricFilter" + "AWS::CloudFormation::TypeActivation" ], "markdownEnumDescriptions": [ - "The ``AWS::Logs::MetricFilter`` resource specifies a metric filter that describes how CWL extracts information from logs and transforms it into Amazon CloudWatch metrics. If you have multiple metric filters that are associated with a log group, all the filters are applied to the log streams in that group.\n The maximum number of metric filters that can be associated with a log group is 100. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html)" + "Enable a resource that has been published in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-typeactivation.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-metricfilter.json" + "$ref": "resources/aws-cloudformation-typeactivation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -24765,9 +24516,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolClient": { + "AWS_Lex_ResourcePolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolClient \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html)", + "markdownDescription": "A resource policy with specified policy statements that attaches to a Lex bot or bot alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-resourcepolicy.html)", "allOf": [ { "type": "object", @@ -24775,14 +24526,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolClient" + "AWS::Lex::ResourcePolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolClient \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html)" + "A resource policy with specified policy statements that attaches to a Lex bot or bot alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-resourcepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-userpoolclient.json" + "$ref": "resources/aws-lex-resourcepolicy.json" } }, "required": [ @@ -24796,9 +24547,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_Publisher": { + "AWS_EC2_Instance": { "type": "object", - "markdownDescription": "Register as a publisher in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publisher.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html)", "allOf": [ { "type": "object", @@ -24806,19 +24557,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::Publisher" + "AWS::EC2::Instance" ], "markdownEnumDescriptions": [ - "Register as a publisher in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publisher.html)" + "Resource Type definition for AWS::EC2::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-publisher.json" + "$ref": "resources/aws-ec2-instance.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -24827,9 +24577,9 @@ ], "additionalProperties": false }, - "AWS_PinpointEmail_ConfigurationSet": { + "AWS_Pinpoint_APNSVoipSandboxChannel": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::PinpointEmail::ConfigurationSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::APNSVoipSandboxChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html)", "allOf": [ { "type": "object", @@ -24837,14 +24587,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PinpointEmail::ConfigurationSet" + "AWS::Pinpoint::APNSVoipSandboxChannel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::PinpointEmail::ConfigurationSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html)" + "Resource Type definition for AWS::Pinpoint::APNSVoipSandboxChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpointemail-configurationset.json" + "$ref": "resources/aws-pinpoint-apnsvoipsandboxchannel.json" } }, "required": [ @@ -24858,9 +24608,9 @@ ], "additionalProperties": false }, - "AWS_AppFlow_Connector": { + "AWS_EC2_TransitGatewayRoute": { "type": "object", - "markdownDescription": "Resource schema for AWS::AppFlow::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connector.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::TransitGatewayRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html)", "allOf": [ { "type": "object", @@ -24868,14 +24618,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppFlow::Connector" + "AWS::EC2::TransitGatewayRoute" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::AppFlow::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connector.html)" + "Resource Type definition for AWS::EC2::TransitGatewayRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html)" ] }, "Properties": { - "$ref": "resources/aws-appflow-connector.json" + "$ref": "resources/aws-ec2-transitgatewayroute.json" } }, "required": [ @@ -24889,9 +24639,9 @@ ], "additionalProperties": false }, - "AWS_ECS_Service": { + "AWS_Bedrock_FlowVersion": { "type": "object", - "markdownDescription": "The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers.\n The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace.\n Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html)", + "markdownDescription": "Definition of AWS::Bedrock::FlowVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowversion.html)", "allOf": [ { "type": "object", @@ -24899,18 +24649,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ECS::Service" + "AWS::Bedrock::FlowVersion" ], "markdownEnumDescriptions": [ - "The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers.\n The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace.\n Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html)" + "Definition of AWS::Bedrock::FlowVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowversion.html)" ] }, "Properties": { - "$ref": "resources/aws-ecs-service.json" + "$ref": "resources/aws-bedrock-flowversion.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -24919,9 +24670,9 @@ ], "additionalProperties": false }, - "AWS_Config_DeliveryChannel": { + "AWS_ElastiCache_User": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Config::DeliveryChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html)", + "markdownDescription": "Resource Type definition for AWS::ElastiCache::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html)", "allOf": [ { "type": "object", @@ -24929,14 +24680,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::DeliveryChannel" + "AWS::ElastiCache::User" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Config::DeliveryChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html)" + "Resource Type definition for AWS::ElastiCache::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html)" ] }, "Properties": { - "$ref": "resources/aws-config-deliverychannel.json" + "$ref": "resources/aws-elasticache-user.json" } }, "required": [ @@ -24950,9 +24701,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_Stack": { + "AWS_AppSync_ApiCache": { "type": "object", - "markdownDescription": "The AWS::CloudFormation::Stack resource nests a stack as a resource in a top-level template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stack.html)", + "markdownDescription": "Resource Type definition for AWS::AppSync::ApiCache \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html)", "allOf": [ { "type": "object", @@ -24960,14 +24711,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::Stack" + "AWS::AppSync::ApiCache" ], "markdownEnumDescriptions": [ - "The AWS::CloudFormation::Stack resource nests a stack as a resource in a top-level template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stack.html)" + "Resource Type definition for AWS::AppSync::ApiCache \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-stack.json" + "$ref": "resources/aws-appsync-apicache.json" } }, "required": [ @@ -24981,9 +24732,9 @@ ], "additionalProperties": false }, - "AWS_Connect_View": { + "AWS_AppStream_AppBlockBuilder": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::View \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-view.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::AppBlockBuilder. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html)", "allOf": [ { "type": "object", @@ -24991,14 +24742,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::View" + "AWS::AppStream::AppBlockBuilder" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::View \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-view.html)" + "Resource Type definition for AWS::AppStream::AppBlockBuilder. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-view.json" + "$ref": "resources/aws-appstream-appblockbuilder.json" } }, "required": [ @@ -25012,9 +24763,9 @@ ], "additionalProperties": false }, - "AWS_Omics_ReferenceStore": { + "AWS_RoboMaker_RobotApplicationVersion": { "type": "object", - "markdownDescription": "Definition of AWS::Omics::ReferenceStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-referencestore.html)", + "markdownDescription": "AWS::RoboMaker::RobotApplicationVersion resource creates an AWS RoboMaker RobotApplicationVersion. This helps you control which code your robot uses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplicationversion.html)", "allOf": [ { "type": "object", @@ -25022,14 +24773,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Omics::ReferenceStore" + "AWS::RoboMaker::RobotApplicationVersion" ], "markdownEnumDescriptions": [ - "Definition of AWS::Omics::ReferenceStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-referencestore.html)" + "AWS::RoboMaker::RobotApplicationVersion resource creates an AWS RoboMaker RobotApplicationVersion. This helps you control which code your robot uses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplicationversion.html)" ] }, "Properties": { - "$ref": "resources/aws-omics-referencestore.json" + "$ref": "resources/aws-robomaker-robotapplicationversion.json" } }, "required": [ @@ -25043,9 +24794,9 @@ ], "additionalProperties": false }, - "AWS_SSM_Document": { + "AWS_S3ObjectLambda_AccessPoint": { "type": "object", - "markdownDescription": "The AWS::SSM::Document resource is an SSM document in AWS Systems Manager that defines the actions that Systems Manager performs, which can be used to set up and run commands on your instances. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html)", + "markdownDescription": "The AWS::S3ObjectLambda::AccessPoint resource is an Amazon S3ObjectLambda resource type that you can use to add computation to S3 actions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspoint.html)", "allOf": [ { "type": "object", @@ -25053,14 +24804,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::Document" + "AWS::S3ObjectLambda::AccessPoint" ], "markdownEnumDescriptions": [ - "The AWS::SSM::Document resource is an SSM document in AWS Systems Manager that defines the actions that Systems Manager performs, which can be used to set up and run commands on your instances. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html)" + "The AWS::S3ObjectLambda::AccessPoint resource is an Amazon S3ObjectLambda resource type that you can use to add computation to S3 actions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspoint.html)" ] }, "Properties": { - "$ref": "resources/aws-ssm-document.json" + "$ref": "resources/aws-s3objectlambda-accesspoint.json" } }, "required": [ @@ -25074,9 +24825,9 @@ ], "additionalProperties": false }, - "AWS_SSO_Application": { + "AWS_VpcLattice_Service": { "type": "object", - "markdownDescription": "Resource Type definition for Identity Center (SSO) Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-application.html)", + "markdownDescription": "A service is any software application that can run on instances containers, or serverless functions within an account or virtual private cloud (VPC). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-service.html)", "allOf": [ { "type": "object", @@ -25084,19 +24835,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SSO::Application" + "AWS::VpcLattice::Service" ], "markdownEnumDescriptions": [ - "Resource Type definition for Identity Center (SSO) Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-application.html)" + "A service is any software application that can run on instances containers, or serverless functions within an account or virtual private cloud (VPC). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-service.html)" ] }, "Properties": { - "$ref": "resources/aws-sso-application.json" + "$ref": "resources/aws-vpclattice-service.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -25105,9 +24855,9 @@ ], "additionalProperties": false }, - "AWS_FraudDetector_Variable": { + "AWS_SageMaker_ModelPackage": { "type": "object", - "markdownDescription": "A resource schema for a Variable in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-variable.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelPackage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackage.html)", "allOf": [ { "type": "object", @@ -25115,19 +24865,18 @@ "Type": { "type": "string", "enum": [ - "AWS::FraudDetector::Variable" + "AWS::SageMaker::ModelPackage" ], "markdownEnumDescriptions": [ - "A resource schema for a Variable in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-variable.html)" + "Resource Type definition for AWS::SageMaker::ModelPackage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackage.html)" ] }, "Properties": { - "$ref": "resources/aws-frauddetector-variable.json" + "$ref": "resources/aws-sagemaker-modelpackage.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -25136,9 +24885,9 @@ ], "additionalProperties": false }, - "AWS_AuditManager_Assessment": { + "AWS_Rekognition_Project": { "type": "object", - "markdownDescription": "An entity that defines the scope of audit evidence collected by AWS Audit Manager. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-auditmanager-assessment.html)", + "markdownDescription": "The AWS::Rekognition::Project type creates an Amazon Rekognition CustomLabels Project. A project is a grouping of the resources needed to create and manage Dataset and ProjectVersions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-project.html)", "allOf": [ { "type": "object", @@ -25146,18 +24895,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AuditManager::Assessment" + "AWS::Rekognition::Project" ], "markdownEnumDescriptions": [ - "An entity that defines the scope of audit evidence collected by AWS Audit Manager. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-auditmanager-assessment.html)" + "The AWS::Rekognition::Project type creates an Amazon Rekognition CustomLabels Project. A project is a grouping of the resources needed to create and manage Dataset and ProjectVersions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-project.html)" ] }, "Properties": { - "$ref": "resources/aws-auditmanager-assessment.json" + "$ref": "resources/aws-rekognition-project.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -25166,9 +24916,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_TaskDefinition": { + "AWS_RDS_DBShardGroup": { "type": "object", - "markdownDescription": "Creates a gateway task definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-taskdefinition.html)", + "markdownDescription": "The AWS::RDS::DBShardGroup resource creates an Amazon Aurora Limitless DB Shard Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbshardgroup.html)", "allOf": [ { "type": "object", @@ -25176,14 +24926,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::TaskDefinition" + "AWS::RDS::DBShardGroup" ], "markdownEnumDescriptions": [ - "Creates a gateway task definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-taskdefinition.html)" + "The AWS::RDS::DBShardGroup resource creates an Amazon Aurora Limitless DB Shard Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbshardgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-taskdefinition.json" + "$ref": "resources/aws-rds-dbshardgroup.json" } }, "required": [ @@ -25197,9 +24947,9 @@ ], "additionalProperties": false }, - "AWS_Wisdom_AssistantAssociation": { + "AWS_Neptune_DBCluster": { "type": "object", - "markdownDescription": "Definition of AWS::Wisdom::AssistantAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-assistantassociation.html)", + "markdownDescription": "The AWS::Neptune::DBCluster resource creates an Amazon Neptune DB cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html)", "allOf": [ { "type": "object", @@ -25207,19 +24957,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Wisdom::AssistantAssociation" + "AWS::Neptune::DBCluster" ], "markdownEnumDescriptions": [ - "Definition of AWS::Wisdom::AssistantAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-assistantassociation.html)" + "The AWS::Neptune::DBCluster resource creates an Amazon Neptune DB cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html)" ] }, "Properties": { - "$ref": "resources/aws-wisdom-assistantassociation.json" + "$ref": "resources/aws-neptune-dbcluster.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -25228,9 +24977,9 @@ ], "additionalProperties": false }, - "AWS_MSK_BatchScramSecret": { + "AWS_DocDB_DBSubnetGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MSK::BatchScramSecret \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-batchscramsecret.html)", + "markdownDescription": "Resource Type definition for AWS::DocDB::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbsubnetgroup.html)", "allOf": [ { "type": "object", @@ -25238,14 +24987,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MSK::BatchScramSecret" + "AWS::DocDB::DBSubnetGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MSK::BatchScramSecret \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-batchscramsecret.html)" + "Resource Type definition for AWS::DocDB::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbsubnetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-msk-batchscramsecret.json" + "$ref": "resources/aws-docdb-dbsubnetgroup.json" } }, "required": [ @@ -25259,9 +25008,9 @@ ], "additionalProperties": false }, - "AWS_EntityResolution_PolicyStatement": { + "AWS_NetworkManager_ConnectAttachment": { "type": "object", - "markdownDescription": "Policy Statement defined in AWS Entity Resolution Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-policystatement.html)", + "markdownDescription": "AWS::NetworkManager::ConnectAttachment Resource Type Definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html)", "allOf": [ { "type": "object", @@ -25269,14 +25018,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EntityResolution::PolicyStatement" + "AWS::NetworkManager::ConnectAttachment" ], "markdownEnumDescriptions": [ - "Policy Statement defined in AWS Entity Resolution Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-policystatement.html)" + "AWS::NetworkManager::ConnectAttachment Resource Type Definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-entityresolution-policystatement.json" + "$ref": "resources/aws-networkmanager-connectattachment.json" } }, "required": [ @@ -25290,9 +25039,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_VoiceChannel": { + "AWS_SageMaker_FeatureGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::VoiceChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-voicechannel.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::FeatureGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.html)", "allOf": [ { "type": "object", @@ -25300,14 +25049,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::VoiceChannel" + "AWS::SageMaker::FeatureGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::VoiceChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-voicechannel.html)" + "Resource Type definition for AWS::SageMaker::FeatureGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-voicechannel.json" + "$ref": "resources/aws-sagemaker-featuregroup.json" } }, "required": [ @@ -25321,9 +25070,9 @@ ], "additionalProperties": false }, - "AWS_PCAConnectorAD_Template": { + "AWS_Events_EventBusPolicy": { "type": "object", - "markdownDescription": "Represents a template that defines certificate configurations, both for issuance and client handling \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-template.html)", + "markdownDescription": "Resource Type definition for AWS::Events::EventBusPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html)", "allOf": [ { "type": "object", @@ -25331,14 +25080,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PCAConnectorAD::Template" + "AWS::Events::EventBusPolicy" ], "markdownEnumDescriptions": [ - "Represents a template that defines certificate configurations, both for issuance and client handling \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-template.html)" + "Resource Type definition for AWS::Events::EventBusPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-pcaconnectorad-template.json" + "$ref": "resources/aws-events-eventbuspolicy.json" } }, "required": [ @@ -25352,9 +25101,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_RestApi": { + "AWS_Logs_AccountPolicy": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::RestApi`` resource creates a REST API. For more information, see [restapi:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateRestApi.html) in the *Amazon API Gateway REST API Reference*.\n On January 1, 2016, the Swagger Specification was donated to the [OpenAPI initiative](https://docs.aws.amazon.com/https://www.openapis.org/), becoming the foundation of the OpenAPI Specification. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html)", + "markdownDescription": "The AWS::Logs::AccountPolicy resource specifies a CloudWatch Logs AccountPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-accountpolicy.html)", "allOf": [ { "type": "object", @@ -25362,18 +25111,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::RestApi" + "AWS::Logs::AccountPolicy" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::RestApi`` resource creates a REST API. For more information, see [restapi:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateRestApi.html) in the *Amazon API Gateway REST API Reference*.\n On January 1, 2016, the Swagger Specification was donated to the [OpenAPI initiative](https://docs.aws.amazon.com/https://www.openapis.org/), becoming the foundation of the OpenAPI Specification. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html)" + "The AWS::Logs::AccountPolicy resource specifies a CloudWatch Logs AccountPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-accountpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-restapi.json" + "$ref": "resources/aws-logs-accountpolicy.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -25382,9 +25132,9 @@ ], "additionalProperties": false }, - "AWS_MediaConvert_JobTemplate": { + "AWS_SQS_QueuePolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MediaConvert::JobTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html)", + "markdownDescription": "The ``AWS::SQS::QueuePolicy`` type applies a policy to SQS queues. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sqs-policy) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queuepolicy.html)", "allOf": [ { "type": "object", @@ -25392,14 +25142,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConvert::JobTemplate" + "AWS::SQS::QueuePolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MediaConvert::JobTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html)" + "The ``AWS::SQS::QueuePolicy`` type applies a policy to SQS queues. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sqs-policy) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queuepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconvert-jobtemplate.json" + "$ref": "resources/aws-sqs-queuepolicy.json" } }, "required": [ @@ -25413,9 +25163,9 @@ ], "additionalProperties": false }, - "AWS_Location_Tracker": { + "AWS_Bedrock_FlowAlias": { "type": "object", - "markdownDescription": "Definition of AWS::Location::Tracker Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-tracker.html)", + "markdownDescription": "Definition of AWS::Bedrock::FlowAlias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html)", "allOf": [ { "type": "object", @@ -25423,14 +25173,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Location::Tracker" + "AWS::Bedrock::FlowAlias" ], "markdownEnumDescriptions": [ - "Definition of AWS::Location::Tracker Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-tracker.html)" + "Definition of AWS::Bedrock::FlowAlias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html)" ] }, "Properties": { - "$ref": "resources/aws-location-tracker.json" + "$ref": "resources/aws-bedrock-flowalias.json" } }, "required": [ @@ -25444,9 +25194,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPool": { + "AWS_Wisdom_Assistant": { "type": "object", - "markdownDescription": "Definition of AWS::Cognito::UserPool Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html)", + "markdownDescription": "Definition of AWS::Wisdom::Assistant Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-assistant.html)", "allOf": [ { "type": "object", @@ -25454,18 +25204,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPool" + "AWS::Wisdom::Assistant" ], "markdownEnumDescriptions": [ - "Definition of AWS::Cognito::UserPool Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html)" + "Definition of AWS::Wisdom::Assistant Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-assistant.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-userpool.json" + "$ref": "resources/aws-wisdom-assistant.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -25474,9 +25225,9 @@ ], "additionalProperties": false }, - "AWS_IoT_CACertificate": { + "AWS_PaymentCryptography_Key": { "type": "object", - "markdownDescription": "Registers a CA Certificate in IoT. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-cacertificate.html)", + "markdownDescription": "Definition of AWS::PaymentCryptography::Key Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-paymentcryptography-key.html)", "allOf": [ { "type": "object", @@ -25484,14 +25235,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::CACertificate" + "AWS::PaymentCryptography::Key" ], "markdownEnumDescriptions": [ - "Registers a CA Certificate in IoT. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-cacertificate.html)" + "Definition of AWS::PaymentCryptography::Key Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-paymentcryptography-key.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-cacertificate.json" + "$ref": "resources/aws-paymentcryptography-key.json" } }, "required": [ @@ -25505,9 +25256,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_TypeActivation": { + "AWS_SES_ConfigurationSet": { "type": "object", - "markdownDescription": "Enable a resource that has been published in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-typeactivation.html)", + "markdownDescription": "Resource schema for AWS::SES::ConfigurationSet. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html)", "allOf": [ { "type": "object", @@ -25515,14 +25266,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::TypeActivation" + "AWS::SES::ConfigurationSet" ], "markdownEnumDescriptions": [ - "Enable a resource that has been published in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-typeactivation.html)" + "Resource schema for AWS::SES::ConfigurationSet. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-typeactivation.json" + "$ref": "resources/aws-ses-configurationset.json" } }, "required": [ @@ -25535,9 +25286,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_Application": { + "AWS_ServiceCatalog_StackSetConstraint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppConfig::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-application.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::StackSetConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html)", "allOf": [ { "type": "object", @@ -25545,14 +25296,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::Application" + "AWS::ServiceCatalog::StackSetConstraint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppConfig::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-application.html)" + "Resource Type definition for AWS::ServiceCatalog::StackSetConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html)" ] }, "Properties": { - "$ref": "resources/aws-appconfig-application.json" + "$ref": "resources/aws-servicecatalog-stacksetconstraint.json" } }, "required": [ @@ -25566,9 +25317,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_InferenceComponent": { + "AWS_DataSync_LocationAzureBlob": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::InferenceComponent \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferencecomponent.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationAzureBlob. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html)", "allOf": [ { "type": "object", @@ -25576,14 +25327,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::InferenceComponent" + "AWS::DataSync::LocationAzureBlob" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::InferenceComponent \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferencecomponent.html)" + "Resource schema for AWS::DataSync::LocationAzureBlob. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-inferencecomponent.json" + "$ref": "resources/aws-datasync-locationazureblob.json" } }, "required": [ @@ -25597,9 +25348,9 @@ ], "additionalProperties": false }, - "AWS_EMR_WALWorkspace": { + "AWS_LakeFormation_Permissions": { "type": "object", - "markdownDescription": "Resource schema for AWS::EMR::WALWorkspace Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-walworkspace.html)", + "markdownDescription": "Resource Type definition for AWS::LakeFormation::Permissions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html)", "allOf": [ { "type": "object", @@ -25607,18 +25358,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::WALWorkspace" + "AWS::LakeFormation::Permissions" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EMR::WALWorkspace Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-walworkspace.html)" + "Resource Type definition for AWS::LakeFormation::Permissions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html)" ] }, "Properties": { - "$ref": "resources/aws-emr-walworkspace.json" + "$ref": "resources/aws-lakeformation-permissions.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -25627,9 +25379,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_DataSource": { + "AWS_ManagedBlockchain_Accessor": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppSync::DataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html)", + "markdownDescription": "Definition of AWS::ManagedBlockchain::com.amazonaws.taiga.webservice.api#Accessor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-accessor.html)", "allOf": [ { "type": "object", @@ -25637,14 +25389,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::DataSource" + "AWS::ManagedBlockchain::Accessor" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppSync::DataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html)" + "Definition of AWS::ManagedBlockchain::com.amazonaws.taiga.webservice.api#Accessor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-accessor.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-datasource.json" + "$ref": "resources/aws-managedblockchain-accessor.json" } }, "required": [ @@ -25658,9 +25410,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_ServiceNetworkVpcAssociation": { + "AWS_AccessAnalyzer_Analyzer": { "type": "object", - "markdownDescription": "Associates a VPC with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkvpcassociation.html)", + "markdownDescription": "The AWS::AccessAnalyzer::Analyzer type specifies an analyzer of the user's account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html)", "allOf": [ { "type": "object", @@ -25668,18 +25420,19 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::ServiceNetworkVpcAssociation" + "AWS::AccessAnalyzer::Analyzer" ], "markdownEnumDescriptions": [ - "Associates a VPC with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkvpcassociation.html)" + "The AWS::AccessAnalyzer::Analyzer type specifies an analyzer of the user's account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-servicenetworkvpcassociation.json" + "$ref": "resources/aws-accessanalyzer-analyzer.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -25688,9 +25441,9 @@ ], "additionalProperties": false }, - "AWS_KafkaConnect_Connector": { + "AWS_SSM_Document": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::KafkaConnect::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html)", + "markdownDescription": "The AWS::SSM::Document resource is an SSM document in AWS Systems Manager that defines the actions that Systems Manager performs, which can be used to set up and run commands on your instances. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html)", "allOf": [ { "type": "object", @@ -25698,14 +25451,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KafkaConnect::Connector" + "AWS::SSM::Document" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KafkaConnect::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html)" + "The AWS::SSM::Document resource is an SSM document in AWS Systems Manager that defines the actions that Systems Manager performs, which can be used to set up and run commands on your instances. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html)" ] }, "Properties": { - "$ref": "resources/aws-kafkaconnect-connector.json" + "$ref": "resources/aws-ssm-document.json" } }, "required": [ @@ -25719,9 +25472,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_EndpointAccess": { + "AWS_VpcLattice_ServiceNetworkServiceAssociation": { "type": "object", - "markdownDescription": "Resource schema for a Redshift-managed VPC endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-endpointaccess.html)", + "markdownDescription": "Associates a service with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkserviceassociation.html)", "allOf": [ { "type": "object", @@ -25729,19 +25482,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::EndpointAccess" + "AWS::VpcLattice::ServiceNetworkServiceAssociation" ], "markdownEnumDescriptions": [ - "Resource schema for a Redshift-managed VPC endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-endpointaccess.html)" + "Associates a service with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkserviceassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-redshift-endpointaccess.json" + "$ref": "resources/aws-vpclattice-servicenetworkserviceassociation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -25750,9 +25502,9 @@ ], "additionalProperties": false }, - "AWS_AppMesh_GatewayRoute": { + "AWS_Greengrass_FunctionDefinition": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppMesh::GatewayRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::FunctionDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html)", "allOf": [ { "type": "object", @@ -25760,14 +25512,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppMesh::GatewayRoute" + "AWS::Greengrass::FunctionDefinition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppMesh::GatewayRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html)" + "Resource Type definition for AWS::Greengrass::FunctionDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-appmesh-gatewayroute.json" + "$ref": "resources/aws-greengrass-functiondefinition.json" } }, "required": [ @@ -25781,9 +25533,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_AgentAlias": { + "AWS_AutoScalingPlans_ScalingPlan": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::AgentAlias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html)", + "markdownDescription": "Resource Type definition for AWS::AutoScalingPlans::ScalingPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscalingplans-scalingplan.html)", "allOf": [ { "type": "object", @@ -25791,14 +25543,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::AgentAlias" + "AWS::AutoScalingPlans::ScalingPlan" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::AgentAlias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html)" + "Resource Type definition for AWS::AutoScalingPlans::ScalingPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscalingplans-scalingplan.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-agentalias.json" + "$ref": "resources/aws-autoscalingplans-scalingplan.json" } }, "required": [ @@ -25812,9 +25564,9 @@ ], "additionalProperties": false }, - "AWS_SecurityLake_DataLake": { + "AWS_Kinesis_StreamConsumer": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SecurityLake::DataLake \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-datalake.html)", + "markdownDescription": "Resource Type definition for AWS::Kinesis::StreamConsumer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-streamconsumer.html)", "allOf": [ { "type": "object", @@ -25822,18 +25574,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityLake::DataLake" + "AWS::Kinesis::StreamConsumer" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SecurityLake::DataLake \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-datalake.html)" + "Resource Type definition for AWS::Kinesis::StreamConsumer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-streamconsumer.html)" ] }, "Properties": { - "$ref": "resources/aws-securitylake-datalake.json" + "$ref": "resources/aws-kinesis-streamconsumer.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -25842,9 +25595,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_HookDefaultVersion": { + "AWS_GuardDuty_ThreatIntelSet": { "type": "object", - "markdownDescription": "Set a version as default version for a hook in CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookdefaultversion.html)", + "markdownDescription": "Resource Type definition for AWS::GuardDuty::ThreatIntelSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html)", "allOf": [ { "type": "object", @@ -25852,18 +25605,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::HookDefaultVersion" + "AWS::GuardDuty::ThreatIntelSet" ], "markdownEnumDescriptions": [ - "Set a version as default version for a hook in CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookdefaultversion.html)" + "Resource Type definition for AWS::GuardDuty::ThreatIntelSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-hookdefaultversion.json" + "$ref": "resources/aws-guardduty-threatintelset.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -25872,9 +25626,9 @@ ], "additionalProperties": false }, - "AWS_KinesisVideo_Stream": { + "AWS_DataSync_LocationEFS": { "type": "object", - "markdownDescription": "Resource Type Definition for AWS::KinesisVideo::Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-stream.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationEFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html)", "allOf": [ { "type": "object", @@ -25882,18 +25636,19 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisVideo::Stream" + "AWS::DataSync::LocationEFS" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::KinesisVideo::Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-stream.html)" + "Resource schema for AWS::DataSync::LocationEFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisvideo-stream.json" + "$ref": "resources/aws-datasync-locationefs.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -25902,9 +25657,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_SubscriptionTarget": { + "AWS_Detective_MemberInvitation": { "type": "object", - "markdownDescription": "Subscription targets enables one to access the data to which you have subscribed in your projects. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-subscriptiontarget.html)", + "markdownDescription": "Resource schema for AWS::Detective::MemberInvitation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html)", "allOf": [ { "type": "object", @@ -25912,14 +25667,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::SubscriptionTarget" + "AWS::Detective::MemberInvitation" ], "markdownEnumDescriptions": [ - "Subscription targets enables one to access the data to which you have subscribed in your projects. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-subscriptiontarget.html)" + "Resource schema for AWS::Detective::MemberInvitation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-subscriptiontarget.json" + "$ref": "resources/aws-detective-memberinvitation.json" } }, "required": [ @@ -25933,9 +25688,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_DomainName": { + "AWS_SES_ReceiptRuleSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ApiGateway::DomainName. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html)", + "markdownDescription": "Resource Type definition for AWS::SES::ReceiptRuleSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptruleset.html)", "allOf": [ { "type": "object", @@ -25943,14 +25698,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::DomainName" + "AWS::SES::ReceiptRuleSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ApiGateway::DomainName. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html)" + "Resource Type definition for AWS::SES::ReceiptRuleSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptruleset.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-domainname.json" + "$ref": "resources/aws-ses-receiptruleset.json" } }, "required": [ @@ -25963,9 +25718,9 @@ ], "additionalProperties": false }, - "AWS_GuardDuty_Master": { + "AWS_EC2_InstanceConnectEndpoint": { "type": "object", - "markdownDescription": "GuardDuty Master resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::InstanceConnectEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instanceconnectendpoint.html)", "allOf": [ { "type": "object", @@ -25973,14 +25728,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GuardDuty::Master" + "AWS::EC2::InstanceConnectEndpoint" ], "markdownEnumDescriptions": [ - "GuardDuty Master resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html)" + "Resource Type definition for AWS::EC2::InstanceConnectEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instanceconnectendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-guardduty-master.json" + "$ref": "resources/aws-ec2-instanceconnectendpoint.json" } }, "required": [ @@ -25994,9 +25749,9 @@ ], "additionalProperties": false }, - "AWS_MSK_ClusterPolicy": { + "AWS_NeptuneGraph_Graph": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MSK::ClusterPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-clusterpolicy.html)", + "markdownDescription": "The AWS::NeptuneGraph::Graph resource creates an Amazon NeptuneGraph Graph. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptunegraph-graph.html)", "allOf": [ { "type": "object", @@ -26004,14 +25759,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MSK::ClusterPolicy" + "AWS::NeptuneGraph::Graph" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MSK::ClusterPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-clusterpolicy.html)" + "The AWS::NeptuneGraph::Graph resource creates an Amazon NeptuneGraph Graph. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptunegraph-graph.html)" ] }, "Properties": { - "$ref": "resources/aws-msk-clusterpolicy.json" + "$ref": "resources/aws-neptunegraph-graph.json" } }, "required": [ @@ -26025,9 +25780,9 @@ ], "additionalProperties": false }, - "AWS_CodeArtifact_PackageGroup": { + "AWS_CodeStar_GitHubRepository": { "type": "object", - "markdownDescription": "The resource schema to create a CodeArtifact package group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html)", + "markdownDescription": "Resource Type definition for AWS::CodeStar::GitHubRepository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html)", "allOf": [ { "type": "object", @@ -26035,14 +25790,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeArtifact::PackageGroup" + "AWS::CodeStar::GitHubRepository" ], "markdownEnumDescriptions": [ - "The resource schema to create a CodeArtifact package group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html)" + "Resource Type definition for AWS::CodeStar::GitHubRepository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html)" ] }, "Properties": { - "$ref": "resources/aws-codeartifact-packagegroup.json" + "$ref": "resources/aws-codestar-githubrepository.json" } }, "required": [ @@ -26056,9 +25811,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TrafficMirrorFilter": { + "AWS_EMR_SecurityConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::TrafficMirrorFilter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html)", + "markdownDescription": "Use a SecurityConfiguration resource to configure data encryption, Kerberos authentication, and Amazon S3 authorization for EMRFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-securityconfiguration.html)", "allOf": [ { "type": "object", @@ -26066,18 +25821,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TrafficMirrorFilter" + "AWS::EMR::SecurityConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TrafficMirrorFilter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html)" + "Use a SecurityConfiguration resource to configure data encryption, Kerberos authentication, and Amazon S3 authorization for EMRFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-securityconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-trafficmirrorfilter.json" + "$ref": "resources/aws-emr-securityconfiguration.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -26086,9 +25842,9 @@ ], "additionalProperties": false }, - "AWS_Connect_InstanceStorageConfig": { + "AWS_SNS_Topic": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::InstanceStorageConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-instancestorageconfig.html)", + "markdownDescription": "The ``AWS::SNS::Topic`` resource creates a topic to which notifications can be published.\n One account can create a maximum of 100,000 standard topics and 1,000 FIFO topics. For more information, see [endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html) in the *General Reference*.\n The structure of ``AUTHPARAMS`` depends on the .signature of the API request. For more information, see [Examples of the complete Signature Version 4 signing process](https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html) in the *General Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html)", "allOf": [ { "type": "object", @@ -26096,19 +25852,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::InstanceStorageConfig" + "AWS::SNS::Topic" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::InstanceStorageConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-instancestorageconfig.html)" + "The ``AWS::SNS::Topic`` resource creates a topic to which notifications can be published.\n One account can create a maximum of 100,000 standard topics and 1,000 FIFO topics. For more information, see [endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html) in the *General Reference*.\n The structure of ``AUTHPARAMS`` depends on the .signature of the API request. For more information, see [Examples of the complete Signature Version 4 signing process](https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html) in the *General Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-instancestorageconfig.json" + "$ref": "resources/aws-sns-topic.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -26117,9 +25872,9 @@ ], "additionalProperties": false }, - "AWS_Cloud9_EnvironmentEC2": { + "AWS_AppSync_Api": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cloud9::EnvironmentEC2 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html)", + "markdownDescription": "Resource schema for AppSync Api \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-api.html)", "allOf": [ { "type": "object", @@ -26127,14 +25882,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cloud9::EnvironmentEC2" + "AWS::AppSync::Api" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cloud9::EnvironmentEC2 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html)" + "Resource schema for AppSync Api \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-api.html)" ] }, "Properties": { - "$ref": "resources/aws-cloud9-environmentec2.json" + "$ref": "resources/aws-appsync-api.json" } }, "required": [ @@ -26148,9 +25903,9 @@ ], "additionalProperties": false }, - "AWS_Amplify_Branch": { + "AWS_Neptune_DBSubnetGroup": { "type": "object", - "markdownDescription": "The AWS::Amplify::Branch resource creates a new branch within an app. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html)", + "markdownDescription": "Resource Type definition for AWS::Neptune::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbsubnetgroup.html)", "allOf": [ { "type": "object", @@ -26158,14 +25913,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Amplify::Branch" + "AWS::Neptune::DBSubnetGroup" ], "markdownEnumDescriptions": [ - "The AWS::Amplify::Branch resource creates a new branch within an app. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html)" + "Resource Type definition for AWS::Neptune::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbsubnetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-amplify-branch.json" + "$ref": "resources/aws-neptune-dbsubnetgroup.json" } }, "required": [ @@ -26179,9 +25934,9 @@ ], "additionalProperties": false }, - "AWS_ECR_PublicRepository": { + "AWS_Omics_RunGroup": { "type": "object", - "markdownDescription": "The AWS::ECR::PublicRepository resource specifies an Amazon Elastic Container Public Registry (Amazon Public ECR) repository, where users can push and pull Docker images. For more information, see https://docs.aws.amazon.com/AmazonECR \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-publicrepository.html)", + "markdownDescription": "Definition of AWS::Omics::RunGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-rungroup.html)", "allOf": [ { "type": "object", @@ -26189,14 +25944,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECR::PublicRepository" + "AWS::Omics::RunGroup" ], "markdownEnumDescriptions": [ - "The AWS::ECR::PublicRepository resource specifies an Amazon Elastic Container Public Registry (Amazon Public ECR) repository, where users can push and pull Docker images. For more information, see https://docs.aws.amazon.com/AmazonECR \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-publicrepository.html)" + "Definition of AWS::Omics::RunGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-rungroup.html)" ] }, "Properties": { - "$ref": "resources/aws-ecr-publicrepository.json" + "$ref": "resources/aws-omics-rungroup.json" } }, "required": [ @@ -26209,9 +25964,9 @@ ], "additionalProperties": false }, - "AWS_NimbleStudio_StreamingImage": { + "AWS_EFS_MountTarget": { "type": "object", - "markdownDescription": "Represents a streaming session machine image that can be used to launch a streaming session \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-streamingimage.html)", + "markdownDescription": "The ``AWS::EFS::MountTarget`` resource is an Amazon EFS resource that creates a mount target for an EFS file system. You can then mount the file system on Amazon EC2 instances or other resources by using the mount target. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html)", "allOf": [ { "type": "object", @@ -26219,14 +25974,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NimbleStudio::StreamingImage" + "AWS::EFS::MountTarget" ], "markdownEnumDescriptions": [ - "Represents a streaming session machine image that can be used to launch a streaming session \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-streamingimage.html)" + "The ``AWS::EFS::MountTarget`` resource is an Amazon EFS resource that creates a mount target for an EFS file system. You can then mount the file system on Amazon EC2 instances or other resources by using the mount target. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html)" ] }, "Properties": { - "$ref": "resources/aws-nimblestudio-streamingimage.json" + "$ref": "resources/aws-efs-mounttarget.json" } }, "required": [ @@ -26240,9 +25995,9 @@ ], "additionalProperties": false }, - "AWS_Organizations_Account": { + "AWS_Neptune_DBInstance": { "type": "object", - "markdownDescription": "You can use AWS::Organizations::Account to manage accounts in organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-account.html)", + "markdownDescription": "Resource Type definition for AWS::Neptune::DBInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html)", "allOf": [ { "type": "object", @@ -26250,14 +26005,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Organizations::Account" + "AWS::Neptune::DBInstance" ], "markdownEnumDescriptions": [ - "You can use AWS::Organizations::Account to manage accounts in organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-account.html)" + "Resource Type definition for AWS::Neptune::DBInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html)" ] }, "Properties": { - "$ref": "resources/aws-organizations-account.json" + "$ref": "resources/aws-neptune-dbinstance.json" } }, "required": [ @@ -26271,9 +26026,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_InAppTemplate": { + "AWS_Athena_NamedQuery": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::InAppTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-inapptemplate.html)", + "markdownDescription": "Resource schema for AWS::Athena::NamedQuery \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html)", "allOf": [ { "type": "object", @@ -26281,14 +26036,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::InAppTemplate" + "AWS::Athena::NamedQuery" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::InAppTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-inapptemplate.html)" + "Resource schema for AWS::Athena::NamedQuery \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-inapptemplate.json" + "$ref": "resources/aws-athena-namedquery.json" } }, "required": [ @@ -26302,9 +26057,9 @@ ], "additionalProperties": false }, - "AWS_IoT1Click_Device": { + "AWS_ApiGateway_Deployment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT1Click::Device \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-device.html)", + "markdownDescription": "The ``AWS::ApiGateway::Deployment`` resource deploys an API Gateway ``RestApi`` resource to a stage so that clients can call the API over the internet. The stage acts as an environment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html)", "allOf": [ { "type": "object", @@ -26312,14 +26067,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT1Click::Device" + "AWS::ApiGateway::Deployment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT1Click::Device \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-device.html)" + "The ``AWS::ApiGateway::Deployment`` resource deploys an API Gateway ``RestApi`` resource to a stage so that clients can call the API over the internet. The stage acts as an environment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html)" ] }, "Properties": { - "$ref": "resources/aws-iot1click-device.json" + "$ref": "resources/aws-apigateway-deployment.json" } }, "required": [ @@ -26333,9 +26088,9 @@ ], "additionalProperties": false }, - "AWS_EC2_IPAMAllocation": { + "AWS_Glue_DataQualityRuleset": { "type": "object", - "markdownDescription": "Resource Schema of AWS::EC2::IPAMAllocation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamallocation.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::DataQualityRuleset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-dataqualityruleset.html)", "allOf": [ { "type": "object", @@ -26343,19 +26098,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::IPAMAllocation" + "AWS::Glue::DataQualityRuleset" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EC2::IPAMAllocation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamallocation.html)" + "Resource Type definition for AWS::Glue::DataQualityRuleset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-dataqualityruleset.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-ipamallocation.json" + "$ref": "resources/aws-glue-dataqualityruleset.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -26364,9 +26118,9 @@ ], "additionalProperties": false }, - "AWS_AppMesh_VirtualRouter": { + "AWS_Glue_Table": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppMesh::VirtualRouter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::Table \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html)", "allOf": [ { "type": "object", @@ -26374,14 +26128,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppMesh::VirtualRouter" + "AWS::Glue::Table" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppMesh::VirtualRouter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html)" + "Resource Type definition for AWS::Glue::Table \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html)" ] }, "Properties": { - "$ref": "resources/aws-appmesh-virtualrouter.json" + "$ref": "resources/aws-glue-table.json" } }, "required": [ @@ -26395,9 +26149,9 @@ ], "additionalProperties": false }, - "AWS_OpenSearchServerless_VpcEndpoint": { + "AWS_SSM_MaintenanceWindowTask": { "type": "object", - "markdownDescription": "Amazon OpenSearchServerless vpc endpoint resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-vpcendpoint.html)", + "markdownDescription": "Resource Type definition for AWS::SSM::MaintenanceWindowTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html)", "allOf": [ { "type": "object", @@ -26405,14 +26159,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpenSearchServerless::VpcEndpoint" + "AWS::SSM::MaintenanceWindowTask" ], "markdownEnumDescriptions": [ - "Amazon OpenSearchServerless vpc endpoint resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-vpcendpoint.html)" + "Resource Type definition for AWS::SSM::MaintenanceWindowTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html)" ] }, "Properties": { - "$ref": "resources/aws-opensearchserverless-vpcendpoint.json" + "$ref": "resources/aws-ssm-maintenancewindowtask.json" } }, "required": [ @@ -26426,9 +26180,9 @@ ], "additionalProperties": false }, - "AWS_DynamoDB_Table": { + "AWS_DirectoryService_SimpleAD": { "type": "object", - "markdownDescription": "The ``AWS::DynamoDB::Table`` resource creates a DDB table. For more information, see [CreateTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html) in the *API Reference*.\n You should be aware of the following behaviors when working with DDB tables:\n + CFNlong typically creates DDB tables in parallel. However, if your template includes multiple DDB tables with indexes, you must declare dependencies so that the tables are created sequentially. DDBlong limits the number of tables with secondary indexes that are in the creating state. If you create multiple tables with indexes at the same time, DDB returns an error and the stack operation fails. For an example, see [DynamoDB Table with a DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#aws-resource-dynamodb-table--examples--DynamoDB_Table_with_a_DependsOn_Attribute).\n \n Our guidance is to use the latest schema documented here for your CFNlong templates. This schema supports the provisioning of all table settings below. When using this schema in your CFNlong templates, please ensure that your Identity and Access Management (IAM) policies are updated with appropriate permissions to allow for the authorization of these setting changes. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html)", + "markdownDescription": "Resource Type definition for AWS::DirectoryService::SimpleAD \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html)", "allOf": [ { "type": "object", @@ -26436,14 +26190,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DynamoDB::Table" + "AWS::DirectoryService::SimpleAD" ], "markdownEnumDescriptions": [ - "The ``AWS::DynamoDB::Table`` resource creates a DDB table. For more information, see [CreateTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html) in the *API Reference*.\n You should be aware of the following behaviors when working with DDB tables:\n + CFNlong typically creates DDB tables in parallel. However, if your template includes multiple DDB tables with indexes, you must declare dependencies so that the tables are created sequentially. DDBlong limits the number of tables with secondary indexes that are in the creating state. If you create multiple tables with indexes at the same time, DDB returns an error and the stack operation fails. For an example, see [DynamoDB Table with a DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#aws-resource-dynamodb-table--examples--DynamoDB_Table_with_a_DependsOn_Attribute).\n \n Our guidance is to use the latest schema documented here for your CFNlong templates. This schema supports the provisioning of all table settings below. When using this schema in your CFNlong templates, please ensure that your Identity and Access Management (IAM) policies are updated with appropriate permissions to allow for the authorization of these setting changes. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html)" + "Resource Type definition for AWS::DirectoryService::SimpleAD \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html)" ] }, "Properties": { - "$ref": "resources/aws-dynamodb-table.json" + "$ref": "resources/aws-directoryservice-simplead.json" } }, "required": [ @@ -26457,9 +26211,9 @@ ], "additionalProperties": false }, - "AWS_IoT_Dimension": { + "AWS_Cassandra_Table": { "type": "object", - "markdownDescription": "A dimension can be used to limit the scope of a metric used in a security profile for AWS IoT Device Defender. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-dimension.html)", + "markdownDescription": "Resource schema for AWS::Cassandra::Table \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html)", "allOf": [ { "type": "object", @@ -26467,14 +26221,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::Dimension" + "AWS::Cassandra::Table" ], "markdownEnumDescriptions": [ - "A dimension can be used to limit the scope of a metric used in a security profile for AWS IoT Device Defender. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-dimension.html)" + "Resource schema for AWS::Cassandra::Table \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-dimension.json" + "$ref": "resources/aws-cassandra-table.json" } }, "required": [ @@ -26488,9 +26242,9 @@ ], "additionalProperties": false }, - "AWS_EntityResolution_IdMappingWorkflow": { + "AWS_WAFRegional_XssMatchSet": { "type": "object", - "markdownDescription": "IdMappingWorkflow defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idmappingworkflow.html)", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-xssmatchset.html)", "allOf": [ { "type": "object", @@ -26498,14 +26252,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EntityResolution::IdMappingWorkflow" + "AWS::WAFRegional::XssMatchSet" ], "markdownEnumDescriptions": [ - "IdMappingWorkflow defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idmappingworkflow.html)" + "Resource Type definition for AWS::WAFRegional::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-xssmatchset.html)" ] }, "Properties": { - "$ref": "resources/aws-entityresolution-idmappingworkflow.json" + "$ref": "resources/aws-wafregional-xssmatchset.json" } }, "required": [ @@ -26519,9 +26273,9 @@ ], "additionalProperties": false }, - "AWS_RoboMaker_Fleet": { + "AWS_Lightsail_Disk": { "type": "object", - "markdownDescription": "AWS::RoboMaker::Fleet resource creates an AWS RoboMaker fleet. Fleets contain robots and can receive deployments. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-fleet.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::Disk \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-disk.html)", "allOf": [ { "type": "object", @@ -26529,18 +26283,19 @@ "Type": { "type": "string", "enum": [ - "AWS::RoboMaker::Fleet" + "AWS::Lightsail::Disk" ], "markdownEnumDescriptions": [ - "AWS::RoboMaker::Fleet resource creates an AWS RoboMaker fleet. Fleets contain robots and can receive deployments. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-fleet.html)" + "Resource Type definition for AWS::Lightsail::Disk \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-disk.html)" ] }, "Properties": { - "$ref": "resources/aws-robomaker-fleet.json" + "$ref": "resources/aws-lightsail-disk.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -26549,9 +26304,9 @@ ], "additionalProperties": false }, - "AWS_IoTTwinMaker_ComponentType": { + "AWS_Lambda_LayerVersion": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTTwinMaker::ComponentType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-componenttype.html)", + "markdownDescription": "Resource Type definition for AWS::Lambda::LayerVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html)", "allOf": [ { "type": "object", @@ -26559,14 +26314,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTTwinMaker::ComponentType" + "AWS::Lambda::LayerVersion" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTTwinMaker::ComponentType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-componenttype.html)" + "Resource Type definition for AWS::Lambda::LayerVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html)" ] }, "Properties": { - "$ref": "resources/aws-iottwinmaker-componenttype.json" + "$ref": "resources/aws-lambda-layerversion.json" } }, "required": [ @@ -26580,9 +26335,9 @@ ], "additionalProperties": false }, - "AWS_IoT_ProvisioningTemplate": { + "AWS_IAM_UserToGroupAddition": { "type": "object", - "markdownDescription": "Creates a fleet provisioning template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html)", + "markdownDescription": "Resource Type definition for AWS::IAM::UserToGroupAddition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-usertogroupaddition.html)", "allOf": [ { "type": "object", @@ -26590,14 +26345,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::ProvisioningTemplate" + "AWS::IAM::UserToGroupAddition" ], "markdownEnumDescriptions": [ - "Creates a fleet provisioning template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html)" + "Resource Type definition for AWS::IAM::UserToGroupAddition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-usertogroupaddition.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-provisioningtemplate.json" + "$ref": "resources/aws-iam-usertogroupaddition.json" } }, "required": [ @@ -26611,9 +26366,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_AutomationRule": { + "AWS_IoT_MitigationAction": { "type": "object", - "markdownDescription": "The ``AWS::SecurityHub::AutomationRule`` resource specifies an automation rule based on input parameters. For more information, see [Automation rules](https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrule.html)", + "markdownDescription": "Mitigation actions can be used to take actions to mitigate issues that were found in an Audit finding or Detect violation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-mitigationaction.html)", "allOf": [ { "type": "object", @@ -26621,14 +26376,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::AutomationRule" + "AWS::IoT::MitigationAction" ], "markdownEnumDescriptions": [ - "The ``AWS::SecurityHub::AutomationRule`` resource specifies an automation rule based on input parameters. For more information, see [Automation rules](https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrule.html)" + "Mitigation actions can be used to take actions to mitigate issues that were found in an Audit finding or Detect violation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-mitigationaction.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-automationrule.json" + "$ref": "resources/aws-iot-mitigationaction.json" } }, "required": [ @@ -26642,9 +26397,9 @@ ], "additionalProperties": false }, - "AWS_NeptuneGraph_PrivateGraphEndpoint": { + "AWS_SSM_MaintenanceWindow": { "type": "object", - "markdownDescription": "The AWS::NeptuneGraph::PrivateGraphEndpoint resource creates an Amazon NeptuneGraph PrivateGraphEndpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptunegraph-privategraphendpoint.html)", + "markdownDescription": "Resource Type definition for AWS::SSM::MaintenanceWindow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html)", "allOf": [ { "type": "object", @@ -26652,14 +26407,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NeptuneGraph::PrivateGraphEndpoint" + "AWS::SSM::MaintenanceWindow" ], "markdownEnumDescriptions": [ - "The AWS::NeptuneGraph::PrivateGraphEndpoint resource creates an Amazon NeptuneGraph PrivateGraphEndpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptunegraph-privategraphendpoint.html)" + "Resource Type definition for AWS::SSM::MaintenanceWindow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html)" ] }, "Properties": { - "$ref": "resources/aws-neptunegraph-privategraphendpoint.json" + "$ref": "resources/aws-ssm-maintenancewindow.json" } }, "required": [ @@ -26673,9 +26428,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_Analysis": { + "AWS_MediaLive_CloudWatchAlarmTemplate": { "type": "object", - "markdownDescription": "Definition of the AWS::QuickSight::Analysis Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html)", + "markdownDescription": "Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cloudwatchalarmtemplate.html)", "allOf": [ { "type": "object", @@ -26683,14 +26438,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::Analysis" + "AWS::MediaLive::CloudWatchAlarmTemplate" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::Analysis Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html)" + "Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cloudwatchalarmtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-quicksight-analysis.json" + "$ref": "resources/aws-medialive-cloudwatchalarmtemplate.json" } }, "required": [ @@ -26704,9 +26459,9 @@ ], "additionalProperties": false }, - "AWS_IoT1Click_Placement": { + "AWS_QuickSight_DataSource": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT1Click::Placement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html)", + "markdownDescription": "Definition of the AWS::QuickSight::DataSource Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-datasource.html)", "allOf": [ { "type": "object", @@ -26714,14 +26469,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT1Click::Placement" + "AWS::QuickSight::DataSource" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT1Click::Placement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html)" + "Definition of the AWS::QuickSight::DataSource Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-datasource.html)" ] }, "Properties": { - "$ref": "resources/aws-iot1click-placement.json" + "$ref": "resources/aws-quicksight-datasource.json" } }, "required": [ @@ -26735,9 +26490,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCEndpointService": { + "AWS_GameLift_Location": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::VPCEndpointService \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html)", + "markdownDescription": "The AWS::GameLift::Location resource creates an Amazon GameLift (GameLift) custom location. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-location.html)", "allOf": [ { "type": "object", @@ -26745,18 +26500,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCEndpointService" + "AWS::GameLift::Location" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPCEndpointService \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html)" + "The AWS::GameLift::Location resource creates an Amazon GameLift (GameLift) custom location. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-location.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpcendpointservice.json" + "$ref": "resources/aws-gamelift-location.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -26765,9 +26521,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_Prompt": { + "AWS_EKS_IdentityProviderConfig": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::Prompt Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html)", + "markdownDescription": "An object representing an Amazon EKS IdentityProviderConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-identityproviderconfig.html)", "allOf": [ { "type": "object", @@ -26775,14 +26531,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::Prompt" + "AWS::EKS::IdentityProviderConfig" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::Prompt Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html)" + "An object representing an Amazon EKS IdentityProviderConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-identityproviderconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-prompt.json" + "$ref": "resources/aws-eks-identityproviderconfig.json" } }, "required": [ @@ -26796,9 +26552,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_StudioLifecycleConfig": { + "AWS_Route53_HealthCheck": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::StudioLifecycleConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-studiolifecycleconfig.html)", + "markdownDescription": "Resource schema for AWS::Route53::HealthCheck. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html)", "allOf": [ { "type": "object", @@ -26806,14 +26562,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::StudioLifecycleConfig" + "AWS::Route53::HealthCheck" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::StudioLifecycleConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-studiolifecycleconfig.html)" + "Resource schema for AWS::Route53::HealthCheck. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-studiolifecycleconfig.json" + "$ref": "resources/aws-route53-healthcheck.json" } }, "required": [ @@ -26827,9 +26583,9 @@ ], "additionalProperties": false }, - "AWS_ApplicationInsights_Application": { + "AWS_Neptune_EventSubscription": { "type": "object", - "markdownDescription": "Resource schema for AWS::ApplicationInsights::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html)", + "markdownDescription": "Resource Type definition for AWS::Neptune::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-eventsubscription.html)", "allOf": [ { "type": "object", @@ -26837,19 +26593,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ApplicationInsights::Application" + "AWS::Neptune::EventSubscription" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ApplicationInsights::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html)" + "Resource Type definition for AWS::Neptune::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-eventsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-applicationinsights-application.json" + "$ref": "resources/aws-neptune-eventsubscription.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -26858,9 +26613,9 @@ ], "additionalProperties": false }, - "AWS_WAFv2_RuleGroup": { + "AWS_CodeCommit_Repository": { "type": "object", - "markdownDescription": "Contains the Rules that identify the requests that you want to allow, block, or count. In a RuleGroup, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a RuleGroup, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the RuleGroup with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a RuleGroup, a request needs to match only one of the specifications to be allowed, blocked, or counted. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html)", + "markdownDescription": "Resource Type definition for AWS::CodeCommit::Repository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html)", "allOf": [ { "type": "object", @@ -26868,14 +26623,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFv2::RuleGroup" + "AWS::CodeCommit::Repository" ], "markdownEnumDescriptions": [ - "Contains the Rules that identify the requests that you want to allow, block, or count. In a RuleGroup, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a RuleGroup, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the RuleGroup with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a RuleGroup, a request needs to match only one of the specifications to be allowed, blocked, or counted. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html)" + "Resource Type definition for AWS::CodeCommit::Repository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html)" ] }, "Properties": { - "$ref": "resources/aws-wafv2-rulegroup.json" + "$ref": "resources/aws-codecommit-repository.json" } }, "required": [ @@ -26889,9 +26644,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_IntegrationResponse": { + "AWS_OSIS_Pipeline": { "type": "object", - "markdownDescription": "The ``AWS::ApiGatewayV2::IntegrationResponse`` resource updates an integration response for an WebSocket API. For more information, see [Set up WebSocket API Integration Responses in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-integration-responses.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html)", + "markdownDescription": "An OpenSearch Ingestion Service Data Prepper pipeline running Data Prepper. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-osis-pipeline.html)", "allOf": [ { "type": "object", @@ -26899,14 +26654,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::IntegrationResponse" + "AWS::OSIS::Pipeline" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGatewayV2::IntegrationResponse`` resource updates an integration response for an WebSocket API. For more information, see [Set up WebSocket API Integration Responses in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-integration-responses.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html)" + "An OpenSearch Ingestion Service Data Prepper pipeline running Data Prepper. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-osis-pipeline.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-integrationresponse.json" + "$ref": "resources/aws-osis-pipeline.json" } }, "required": [ @@ -26920,9 +26675,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_AppBlock": { + "AWS_ElasticLoadBalancingV2_TrustStore": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::AppBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html)", + "markdownDescription": "Resource Type definition for AWS::ElasticLoadBalancingV2::TrustStore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststore.html)", "allOf": [ { "type": "object", @@ -26930,19 +26685,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::AppBlock" + "AWS::ElasticLoadBalancingV2::TrustStore" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::AppBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html)" + "Resource Type definition for AWS::ElasticLoadBalancingV2::TrustStore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststore.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-appblock.json" + "$ref": "resources/aws-elasticloadbalancingv2-truststore.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -26951,9 +26705,9 @@ ], "additionalProperties": false }, - "AWS_SSM_MaintenanceWindowTarget": { + "AWS_IoTTwinMaker_Workspace": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SSM::MaintenanceWindowTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html)", + "markdownDescription": "Resource schema for AWS::IoTTwinMaker::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-workspace.html)", "allOf": [ { "type": "object", @@ -26961,14 +26715,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::MaintenanceWindowTarget" + "AWS::IoTTwinMaker::Workspace" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSM::MaintenanceWindowTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html)" + "Resource schema for AWS::IoTTwinMaker::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-workspace.html)" ] }, "Properties": { - "$ref": "resources/aws-ssm-maintenancewindowtarget.json" + "$ref": "resources/aws-iottwinmaker-workspace.json" } }, "required": [ @@ -26982,9 +26736,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancing_LoadBalancer": { + "AWS_Cognito_UserPoolUICustomizationAttachment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElasticLoadBalancing::LoadBalancer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolUICustomizationAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html)", "allOf": [ { "type": "object", @@ -26992,14 +26746,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancing::LoadBalancer" + "AWS::Cognito::UserPoolUICustomizationAttachment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticLoadBalancing::LoadBalancer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html)" + "Resource Type definition for AWS::Cognito::UserPoolUICustomizationAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticloadbalancing-loadbalancer.json" + "$ref": "resources/aws-cognito-userpooluicustomizationattachment.json" } }, "required": [ @@ -27013,9 +26767,9 @@ ], "additionalProperties": false }, - "AWS_SSO_Assignment": { + "AWS_Route53RecoveryControl_SafetyRule": { "type": "object", - "markdownDescription": "Resource Type definition for SSO assignmet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html)", + "markdownDescription": "Resource schema for AWS Route53 Recovery Control basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-safetyrule.html)", "allOf": [ { "type": "object", @@ -27023,19 +26777,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SSO::Assignment" + "AWS::Route53RecoveryControl::SafetyRule" ], "markdownEnumDescriptions": [ - "Resource Type definition for SSO assignmet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html)" + "Resource schema for AWS Route53 Recovery Control basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-safetyrule.html)" ] }, "Properties": { - "$ref": "resources/aws-sso-assignment.json" + "$ref": "resources/aws-route53recoverycontrol-safetyrule.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -27044,9 +26797,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_ServiceNetworkServiceAssociation": { + "AWS_KMS_Key": { "type": "object", - "markdownDescription": "Associates a service with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkserviceassociation.html)", + "markdownDescription": "The ``AWS::KMS::Key`` resource specifies an [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys) in KMSlong. You can use this resource to create symmetric encryption KMS keys, asymmetric KMS keys for encryption or signing, and symmetric HMAC KMS keys. You can use ``AWS::KMS::Key`` to create [multi-Region primary keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-primary-key) of all supported types. To replicate a multi-Region key, use the ``AWS::KMS::ReplicaKey`` resource.\n If you change the value of the ``KeySpec``, ``KeyUsage``, ``Origin``, or ``MultiRegion`` properties of an existing KMS key, the update request fails, regardless of the value of the [UpdateReplacePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html). This prevents you from accidentally deleting a KMS key by changing any of its immutable property values.\n KMS replaced the term *customer master key (CMK)* with ** and *KMS key*. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.\n You can use symmetric encryption KMS keys to encrypt and decrypt small amounts of data, but they are more commonly used to generate data keys and data key pairs. You can also use a symmetric encryption KMS key to encrypt data stored in AWS services that are [integrated with](https://docs.aws.amazon.com//kms/features/#AWS_Service_Integration). For more information, see [Symmetric encryption KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks) in the *Developer Guide*.\n You can use asymmetric KMS keys to encrypt and decrypt data or sign messages and verify signatures. To create an asymmetric key, you must specify an asymmetric ``KeySpec`` value and a ``KeyUsage`` value. For details, see [Asymmetric keys in](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) in the *Developer Guide*.\n You can use HMAC KMS keys (which are also symmetric keys) to generate and verify hash-based message authentication codes. To create an HMAC key, you must specify an HMAC ``KeySpec`` value and a ``KeyUsage`` value of ``GENERATE_VERIFY_MAC``. For details, see [HMAC keys in](https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html) in the *Developer Guide*.\n You can also create symmetric encryption, asymmetric, and HMAC multi-Region primary keys. To create a multi-Region primary key, set the ``MultiRegion`` property to ``true``. For information about multi-Region keys, see [Multi-Region keys in](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *Developer Guide*.\n You cannot use the ``AWS::KMS::Key`` resource to specify a KMS key with [imported key material](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) or a KMS key in a [custom key store](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html).\n *Regions* \n KMS CloudFormation resources are available in all Regions in which KMS and CFN are supported. You can use the ``AWS::KMS::Key`` resource to create and manage all KMS key types that are supported in a Region. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html)", "allOf": [ { "type": "object", @@ -27054,14 +26807,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::ServiceNetworkServiceAssociation" + "AWS::KMS::Key" ], "markdownEnumDescriptions": [ - "Associates a service with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkserviceassociation.html)" + "The ``AWS::KMS::Key`` resource specifies an [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys) in KMSlong. You can use this resource to create symmetric encryption KMS keys, asymmetric KMS keys for encryption or signing, and symmetric HMAC KMS keys. You can use ``AWS::KMS::Key`` to create [multi-Region primary keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-primary-key) of all supported types. To replicate a multi-Region key, use the ``AWS::KMS::ReplicaKey`` resource.\n If you change the value of the ``KeySpec``, ``KeyUsage``, ``Origin``, or ``MultiRegion`` properties of an existing KMS key, the update request fails, regardless of the value of the [UpdateReplacePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html). This prevents you from accidentally deleting a KMS key by changing any of its immutable property values.\n KMS replaced the term *customer master key (CMK)* with ** and *KMS key*. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.\n You can use symmetric encryption KMS keys to encrypt and decrypt small amounts of data, but they are more commonly used to generate data keys and data key pairs. You can also use a symmetric encryption KMS key to encrypt data stored in AWS services that are [integrated with](https://docs.aws.amazon.com//kms/features/#AWS_Service_Integration). For more information, see [Symmetric encryption KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks) in the *Developer Guide*.\n You can use asymmetric KMS keys to encrypt and decrypt data or sign messages and verify signatures. To create an asymmetric key, you must specify an asymmetric ``KeySpec`` value and a ``KeyUsage`` value. For details, see [Asymmetric keys in](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) in the *Developer Guide*.\n You can use HMAC KMS keys (which are also symmetric keys) to generate and verify hash-based message authentication codes. To create an HMAC key, you must specify an HMAC ``KeySpec`` value and a ``KeyUsage`` value of ``GENERATE_VERIFY_MAC``. For details, see [HMAC keys in](https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html) in the *Developer Guide*.\n You can also create symmetric encryption, asymmetric, and HMAC multi-Region primary keys. To create a multi-Region primary key, set the ``MultiRegion`` property to ``true``. For information about multi-Region keys, see [Multi-Region keys in](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *Developer Guide*.\n You cannot use the ``AWS::KMS::Key`` resource to specify a KMS key with [imported key material](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) or a KMS key in a [custom key store](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html).\n *Regions* \n KMS CloudFormation resources are available in all Regions in which KMS and CFN are supported. You can use the ``AWS::KMS::Key`` resource to create and manage all KMS key types that are supported in a Region. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-servicenetworkserviceassociation.json" + "$ref": "resources/aws-kms-key.json" } }, "required": [ @@ -27074,9 +26827,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_Resource": { + "AWS_Route53RecoveryReadiness_ReadinessCheck": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::Resource`` resource creates a resource in an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html)", + "markdownDescription": "Aws Route53 Recovery Readiness Check Schema and API specification. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-readinesscheck.html)", "allOf": [ { "type": "object", @@ -27084,19 +26837,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::Resource" + "AWS::Route53RecoveryReadiness::ReadinessCheck" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::Resource`` resource creates a resource in an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html)" + "Aws Route53 Recovery Readiness Check Schema and API specification. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-readinesscheck.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-resource.json" + "$ref": "resources/aws-route53recoveryreadiness-readinesscheck.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -27105,9 +26857,9 @@ ], "additionalProperties": false }, - "AWS_CodePipeline_Pipeline": { + "AWS_AppRunner_ObservabilityConfiguration": { "type": "object", - "markdownDescription": "The AWS::CodePipeline::Pipeline resource creates a CodePipeline pipeline that describes how software changes go through a release process. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html)", + "markdownDescription": "The AWS::AppRunner::ObservabilityConfiguration resource is an AWS App Runner resource type that specifies an App Runner observability configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-observabilityconfiguration.html)", "allOf": [ { "type": "object", @@ -27115,19 +26867,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CodePipeline::Pipeline" + "AWS::AppRunner::ObservabilityConfiguration" ], "markdownEnumDescriptions": [ - "The AWS::CodePipeline::Pipeline resource creates a CodePipeline pipeline that describes how software changes go through a release process. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html)" + "The AWS::AppRunner::ObservabilityConfiguration resource is an AWS App Runner resource type that specifies an App Runner observability configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-observabilityconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-codepipeline-pipeline.json" + "$ref": "resources/aws-apprunner-observabilityconfiguration.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -27136,9 +26887,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationFSxWindows": { + "AWS_IoT_SoftwarePackageVersion": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationFSxWindows. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxwindows.html)", + "markdownDescription": "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackageversion.html)", "allOf": [ { "type": "object", @@ -27146,14 +26897,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationFSxWindows" + "AWS::IoT::SoftwarePackageVersion" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationFSxWindows. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxwindows.html)" + "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackageversion.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationfsxwindows.json" + "$ref": "resources/aws-iot-softwarepackageversion.json" } }, "required": [ @@ -27167,9 +26918,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_ClusterParameterGroup": { + "AWS_CloudFront_PublicKey": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Redshift::ClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.html)", + "markdownDescription": "A public key that you can use with [signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html), or with [field-level encryption](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-publickey.html)", "allOf": [ { "type": "object", @@ -27177,14 +26928,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::ClusterParameterGroup" + "AWS::CloudFront::PublicKey" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Redshift::ClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.html)" + "A public key that you can use with [signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html), or with [field-level encryption](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-publickey.html)" ] }, "Properties": { - "$ref": "resources/aws-redshift-clusterparametergroup.json" + "$ref": "resources/aws-cloudfront-publickey.json" } }, "required": [ @@ -27198,9 +26949,9 @@ ], "additionalProperties": false }, - "AWS_SES_VdmAttributes": { + "AWS_AppConfig_Extension": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SES::VdmAttributes \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-vdmattributes.html)", + "markdownDescription": "Resource Type definition for AWS::AppConfig::Extension \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html)", "allOf": [ { "type": "object", @@ -27208,18 +26959,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::VdmAttributes" + "AWS::AppConfig::Extension" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SES::VdmAttributes \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-vdmattributes.html)" + "Resource Type definition for AWS::AppConfig::Extension \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-vdmattributes.json" + "$ref": "resources/aws-appconfig-extension.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -27228,9 +26980,9 @@ ], "additionalProperties": false }, - "AWS_PCAConnectorAD_TemplateGroupAccessControlEntry": { + "AWS_ApiGateway_RequestValidator": { "type": "object", - "markdownDescription": "Definition of AWS::PCAConnectorAD::TemplateGroupAccessControlEntry Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-templategroupaccesscontrolentry.html)", + "markdownDescription": "The ``AWS::ApiGateway::RequestValidator`` resource sets up basic validation rules for incoming requests to your API. For more information, see [Enable Basic Request Validation for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html)", "allOf": [ { "type": "object", @@ -27238,14 +26990,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry" + "AWS::ApiGateway::RequestValidator" ], "markdownEnumDescriptions": [ - "Definition of AWS::PCAConnectorAD::TemplateGroupAccessControlEntry Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-templategroupaccesscontrolentry.html)" + "The ``AWS::ApiGateway::RequestValidator`` resource sets up basic validation rules for incoming requests to your API. For more information, see [Enable Basic Request Validation for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html)" ] }, "Properties": { - "$ref": "resources/aws-pcaconnectorad-templategroupaccesscontrolentry.json" + "$ref": "resources/aws-apigateway-requestvalidator.json" } }, "required": [ @@ -27259,9 +27011,9 @@ ], "additionalProperties": false }, - "AWS_IVS_RecordingConfiguration": { + "AWS_GroundStation_DataflowEndpointGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IVS::RecordingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html)", + "markdownDescription": "AWS Ground Station DataflowEndpointGroup schema for CloudFormation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-dataflowendpointgroup.html)", "allOf": [ { "type": "object", @@ -27269,14 +27021,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::RecordingConfiguration" + "AWS::GroundStation::DataflowEndpointGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IVS::RecordingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html)" + "AWS Ground Station DataflowEndpointGroup schema for CloudFormation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-dataflowendpointgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-ivs-recordingconfiguration.json" + "$ref": "resources/aws-groundstation-dataflowendpointgroup.json" } }, "required": [ @@ -27290,9 +27042,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_VpcLink": { + "AWS_AppStream_Stack": { "type": "object", - "markdownDescription": "The ``AWS::ApiGatewayV2::VpcLink`` resource creates a VPC link. Supported only for HTTP APIs. The VPC link status must transition from ``PENDING`` to ``AVAILABLE`` to successfully create a VPC link, which can take up to 10 minutes. To learn more, see [Working with VPC Links for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-vpc-links.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::Stack \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html)", "allOf": [ { "type": "object", @@ -27300,19 +27052,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::VpcLink" + "AWS::AppStream::Stack" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGatewayV2::VpcLink`` resource creates a VPC link. Supported only for HTTP APIs. The VPC link status must transition from ``PENDING`` to ``AVAILABLE`` to successfully create a VPC link, which can take up to 10 minutes. To learn more, see [Working with VPC Links for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-vpc-links.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html)" + "Resource Type definition for AWS::AppStream::Stack \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-vpclink.json" + "$ref": "resources/aws-appstream-stack.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -27321,9 +27072,9 @@ ], "additionalProperties": false }, - "AWS_AppRunner_ObservabilityConfiguration": { + "AWS_CodeStarNotifications_NotificationRule": { "type": "object", - "markdownDescription": "The AWS::AppRunner::ObservabilityConfiguration resource is an AWS App Runner resource type that specifies an App Runner observability configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-observabilityconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::CodeStarNotifications::NotificationRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html)", "allOf": [ { "type": "object", @@ -27331,18 +27082,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AppRunner::ObservabilityConfiguration" + "AWS::CodeStarNotifications::NotificationRule" ], "markdownEnumDescriptions": [ - "The AWS::AppRunner::ObservabilityConfiguration resource is an AWS App Runner resource type that specifies an App Runner observability configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-observabilityconfiguration.html)" + "Resource Type definition for AWS::CodeStarNotifications::NotificationRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html)" ] }, "Properties": { - "$ref": "resources/aws-apprunner-observabilityconfiguration.json" + "$ref": "resources/aws-codestarnotifications-notificationrule.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -27351,9 +27103,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_HostedConfigurationVersion": { + "AWS_RDS_DBProxyTargetGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppConfig::HostedConfigurationVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html)", + "markdownDescription": "Resource schema for AWS::RDS::DBProxyTargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html)", "allOf": [ { "type": "object", @@ -27361,14 +27113,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::HostedConfigurationVersion" + "AWS::RDS::DBProxyTargetGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppConfig::HostedConfigurationVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html)" + "Resource schema for AWS::RDS::DBProxyTargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-appconfig-hostedconfigurationversion.json" + "$ref": "resources/aws-rds-dbproxytargetgroup.json" } }, "required": [ @@ -27382,9 +27134,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_WaitCondition": { + "AWS_EC2_EnclaveCertificateIamRoleAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFormation::WaitCondition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitcondition.html)", + "markdownDescription": "Associates an AWS Identity and Access Management (IAM) role with an AWS Certificate Manager (ACM) certificate. This association is based on Amazon Resource Names and it enables the certificate to be used by the ACM for Nitro Enclaves application inside an enclave. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-enclavecertificateiamroleassociation.html)", "allOf": [ { "type": "object", @@ -27392,18 +27144,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::WaitCondition" + "AWS::EC2::EnclaveCertificateIamRoleAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFormation::WaitCondition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitcondition.html)" + "Associates an AWS Identity and Access Management (IAM) role with an AWS Certificate Manager (ACM) certificate. This association is based on Amazon Resource Names and it enables the certificate to be used by the ACM for Nitro Enclaves application inside an enclave. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-enclavecertificateiamroleassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-waitcondition.json" + "$ref": "resources/aws-ec2-enclavecertificateiamroleassociation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -27412,9 +27165,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPNGateway": { + "AWS_Route53RecoveryControl_RoutingControl": { "type": "object", - "markdownDescription": "Specifies a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngateway.html)", + "markdownDescription": "AWS Route53 Recovery Control Routing Control resource schema . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-routingcontrol.html)", "allOf": [ { "type": "object", @@ -27422,14 +27175,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPNGateway" + "AWS::Route53RecoveryControl::RoutingControl" ], "markdownEnumDescriptions": [ - "Specifies a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngateway.html)" + "AWS Route53 Recovery Control Routing Control resource schema . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-routingcontrol.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpngateway.json" + "$ref": "resources/aws-route53recoverycontrol-routingcontrol.json" } }, "required": [ @@ -27443,9 +27196,9 @@ ], "additionalProperties": false }, - "AWS_RoboMaker_Robot": { + "AWS_CloudWatch_Alarm": { "type": "object", - "markdownDescription": "AWS::RoboMaker::Robot resource creates an AWS RoboMaker Robot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robot.html)", + "markdownDescription": "The ``AWS::CloudWatch::Alarm`` type specifies an alarm and associates it with the specified metric or metric math expression.\n When this operation creates an alarm, the alarm state is immediately set to ``INSUFFICIENT_DATA``. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed.\n When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html)", "allOf": [ { "type": "object", @@ -27453,14 +27206,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RoboMaker::Robot" + "AWS::CloudWatch::Alarm" ], "markdownEnumDescriptions": [ - "AWS::RoboMaker::Robot resource creates an AWS RoboMaker Robot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robot.html)" + "The ``AWS::CloudWatch::Alarm`` type specifies an alarm and associates it with the specified metric or metric math expression.\n When this operation creates an alarm, the alarm state is immediately set to ``INSUFFICIENT_DATA``. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed.\n When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html)" ] }, "Properties": { - "$ref": "resources/aws-robomaker-robot.json" + "$ref": "resources/aws-cloudwatch-alarm.json" } }, "required": [ @@ -27474,9 +27227,9 @@ ], "additionalProperties": false }, - "AWS_DAX_SubnetGroup": { + "AWS_Route53_RecordSetGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DAX::SubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html)", + "markdownDescription": "Resource Type definition for AWS::Route53::RecordSetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html)", "allOf": [ { "type": "object", @@ -27484,19 +27237,18 @@ "Type": { "type": "string", "enum": [ - "AWS::DAX::SubnetGroup" + "AWS::Route53::RecordSetGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DAX::SubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html)" + "Resource Type definition for AWS::Route53::RecordSetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-dax-subnetgroup.json" + "$ref": "resources/aws-route53-recordsetgroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -27505,9 +27257,9 @@ ], "additionalProperties": false }, - "AWS_M2_Environment": { + "AWS_IoTFleetWise_Campaign": { "type": "object", - "markdownDescription": "Represents a runtime environment that can run migrated mainframe applications. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-m2-environment.html)", + "markdownDescription": "Definition of AWS::IoTFleetWise::Campaign Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-campaign.html)", "allOf": [ { "type": "object", @@ -27515,14 +27267,14 @@ "Type": { "type": "string", "enum": [ - "AWS::M2::Environment" + "AWS::IoTFleetWise::Campaign" ], "markdownEnumDescriptions": [ - "Represents a runtime environment that can run migrated mainframe applications. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-m2-environment.html)" + "Definition of AWS::IoTFleetWise::Campaign Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-campaign.html)" ] }, "Properties": { - "$ref": "resources/aws-m2-environment.json" + "$ref": "resources/aws-iotfleetwise-campaign.json" } }, "required": [ @@ -27536,9 +27288,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_GlobalReplicationGroup": { + "AWS_Proton_ServiceTemplate": { "type": "object", - "markdownDescription": "The AWS::ElastiCache::GlobalReplicationGroup resource creates an Amazon ElastiCache Global Replication Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html)", + "markdownDescription": "Definition of AWS::Proton::ServiceTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-servicetemplate.html)", "allOf": [ { "type": "object", @@ -27546,19 +27298,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::GlobalReplicationGroup" + "AWS::Proton::ServiceTemplate" ], "markdownEnumDescriptions": [ - "The AWS::ElastiCache::GlobalReplicationGroup resource creates an Amazon ElastiCache Global Replication Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html)" + "Definition of AWS::Proton::ServiceTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-servicetemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-globalreplicationgroup.json" + "$ref": "resources/aws-proton-servicetemplate.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -27567,9 +27318,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_Fleet": { + "AWS_ApiGateway_DocumentationPart": { "type": "object", - "markdownDescription": "The AWS::GameLift::Fleet resource creates an Amazon GameLift (GameLift) fleet to host game servers. A fleet is a set of EC2 or Anywhere instances, each of which can host multiple game sessions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html)", + "markdownDescription": "The ``AWS::ApiGateway::DocumentationPart`` resource creates a documentation part for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html)", "allOf": [ { "type": "object", @@ -27577,14 +27328,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::Fleet" + "AWS::ApiGateway::DocumentationPart" ], "markdownEnumDescriptions": [ - "The AWS::GameLift::Fleet resource creates an Amazon GameLift (GameLift) fleet to host game servers. A fleet is a set of EC2 or Anywhere instances, each of which can host multiple game sessions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html)" + "The ``AWS::ApiGateway::DocumentationPart`` resource creates a documentation part for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html)" ] }, "Properties": { - "$ref": "resources/aws-gamelift-fleet.json" + "$ref": "resources/aws-apigateway-documentationpart.json" } }, "required": [ @@ -27598,9 +27349,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_EndpointAuthorization": { + "AWS_ControlTower_LandingZone": { "type": "object", - "markdownDescription": "Describes an endpoint authorization for authorizing Redshift-managed VPC endpoint access to a cluster across AWS accounts. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-endpointauthorization.html)", + "markdownDescription": "Definition of AWS::ControlTower::LandingZone Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-landingzone.html)", "allOf": [ { "type": "object", @@ -27608,14 +27359,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::EndpointAuthorization" + "AWS::ControlTower::LandingZone" ], "markdownEnumDescriptions": [ - "Describes an endpoint authorization for authorizing Redshift-managed VPC endpoint access to a cluster across AWS accounts. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-endpointauthorization.html)" + "Definition of AWS::ControlTower::LandingZone Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-landingzone.html)" ] }, "Properties": { - "$ref": "resources/aws-redshift-endpointauthorization.json" + "$ref": "resources/aws-controltower-landingzone.json" } }, "required": [ @@ -27629,9 +27380,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_WebACL": { + "AWS_EC2_TransitGatewayRouteTablePropagation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::WebACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html)", + "markdownDescription": "AWS::EC2::TransitGatewayRouteTablePropagation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetablepropagation.html)", "allOf": [ { "type": "object", @@ -27639,14 +27390,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::WebACL" + "AWS::EC2::TransitGatewayRouteTablePropagation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::WebACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html)" + "AWS::EC2::TransitGatewayRouteTablePropagation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetablepropagation.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-webacl.json" + "$ref": "resources/aws-ec2-transitgatewayroutetablepropagation.json" } }, "required": [ @@ -27660,9 +27411,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_TransitGatewayPeering": { + "AWS_AppStream_ImageBuilder": { "type": "object", - "markdownDescription": "AWS::NetworkManager::TransitGatewayPeering Resoruce Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewaypeering.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::ImageBuilder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html)", "allOf": [ { "type": "object", @@ -27670,14 +27421,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::TransitGatewayPeering" + "AWS::AppStream::ImageBuilder" ], "markdownEnumDescriptions": [ - "AWS::NetworkManager::TransitGatewayPeering Resoruce Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewaypeering.html)" + "Resource Type definition for AWS::AppStream::ImageBuilder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-transitgatewaypeering.json" + "$ref": "resources/aws-appstream-imagebuilder.json" } }, "required": [ @@ -27691,9 +27442,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_CodeSigningConfig": { + "AWS_Connect_PhoneNumber": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lambda::CodeSigningConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::PhoneNumber \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-phonenumber.html)", "allOf": [ { "type": "object", @@ -27701,14 +27452,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::CodeSigningConfig" + "AWS::Connect::PhoneNumber" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lambda::CodeSigningConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html)" + "Resource Type definition for AWS::Connect::PhoneNumber \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-phonenumber.html)" ] }, "Properties": { - "$ref": "resources/aws-lambda-codesigningconfig.json" + "$ref": "resources/aws-connect-phonenumber.json" } }, "required": [ @@ -27722,9 +27473,9 @@ ], "additionalProperties": false }, - "AWS_Athena_CapacityReservation": { + "AWS_APS_RuleGroupsNamespace": { "type": "object", - "markdownDescription": "Resource schema for AWS::Athena::CapacityReservation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html)", + "markdownDescription": "RuleGroupsNamespace schema for cloudformation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-rulegroupsnamespace.html)", "allOf": [ { "type": "object", @@ -27732,14 +27483,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Athena::CapacityReservation" + "AWS::APS::RuleGroupsNamespace" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Athena::CapacityReservation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html)" + "RuleGroupsNamespace schema for cloudformation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-rulegroupsnamespace.html)" ] }, "Properties": { - "$ref": "resources/aws-athena-capacityreservation.json" + "$ref": "resources/aws-aps-rulegroupsnamespace.json" } }, "required": [ @@ -27753,9 +27504,9 @@ ], "additionalProperties": false }, - "AWS_Glue_UsageProfile": { + "AWS_SageMaker_InferenceExperiment": { "type": "object", - "markdownDescription": "This creates a Resource of UsageProfile type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-usageprofile.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::InferenceExperiment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferenceexperiment.html)", "allOf": [ { "type": "object", @@ -27763,14 +27514,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::UsageProfile" + "AWS::SageMaker::InferenceExperiment" ], "markdownEnumDescriptions": [ - "This creates a Resource of UsageProfile type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-usageprofile.html)" + "Resource Type definition for AWS::SageMaker::InferenceExperiment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferenceexperiment.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-usageprofile.json" + "$ref": "resources/aws-sagemaker-inferenceexperiment.json" } }, "required": [ @@ -27784,9 +27535,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_UsagePlan": { + "AWS_Transfer_Certificate": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::UsagePlan`` resource creates a usage plan for deployed APIs. A usage plan sets a target for the throttling and quota limits on individual client API keys. For more information, see [Creating and Using API Usage Plans in Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) in the *API Gateway Developer Guide*.\n In some cases clients can exceed the targets that you set. Don\u2019t rely on usage plans to control costs. Consider using [](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html) to monitor costs and [](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) to manage API requests. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html)", + "markdownDescription": "Resource Type definition for AWS::Transfer::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-certificate.html)", "allOf": [ { "type": "object", @@ -27794,18 +27545,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::UsagePlan" + "AWS::Transfer::Certificate" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::UsagePlan`` resource creates a usage plan for deployed APIs. A usage plan sets a target for the throttling and quota limits on individual client API keys. For more information, see [Creating and Using API Usage Plans in Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) in the *API Gateway Developer Guide*.\n In some cases clients can exceed the targets that you set. Don\u2019t rely on usage plans to control costs. Consider using [](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html) to monitor costs and [](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) to manage API requests. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html)" + "Resource Type definition for AWS::Transfer::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-certificate.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-usageplan.json" + "$ref": "resources/aws-transfer-certificate.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -27814,9 +27566,9 @@ ], "additionalProperties": false }, - "AWS_GlobalAccelerator_CrossAccountAttachment": { + "AWS_Deadline_QueueFleetAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GlobalAccelerator::CrossAccountAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-crossaccountattachment.html)", + "markdownDescription": "Definition of AWS::Deadline::QueueFleetAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queuefleetassociation.html)", "allOf": [ { "type": "object", @@ -27824,14 +27576,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GlobalAccelerator::CrossAccountAttachment" + "AWS::Deadline::QueueFleetAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GlobalAccelerator::CrossAccountAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-crossaccountattachment.html)" + "Definition of AWS::Deadline::QueueFleetAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queuefleetassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-globalaccelerator-crossaccountattachment.json" + "$ref": "resources/aws-deadline-queuefleetassociation.json" } }, "required": [ @@ -27845,9 +27597,9 @@ ], "additionalProperties": false }, - "AWS_Config_AggregationAuthorization": { + "AWS_NeptuneGraph_PrivateGraphEndpoint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Config::AggregationAuthorization \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-aggregationauthorization.html)", + "markdownDescription": "The AWS::NeptuneGraph::PrivateGraphEndpoint resource creates an Amazon NeptuneGraph PrivateGraphEndpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptunegraph-privategraphendpoint.html)", "allOf": [ { "type": "object", @@ -27855,14 +27607,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::AggregationAuthorization" + "AWS::NeptuneGraph::PrivateGraphEndpoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Config::AggregationAuthorization \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-aggregationauthorization.html)" + "The AWS::NeptuneGraph::PrivateGraphEndpoint resource creates an Amazon NeptuneGraph PrivateGraphEndpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptunegraph-privategraphendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-config-aggregationauthorization.json" + "$ref": "resources/aws-neptunegraph-privategraphendpoint.json" } }, "required": [ @@ -27876,9 +27628,9 @@ ], "additionalProperties": false }, - "AWS_Connect_Instance": { + "AWS_BillingConductor_BillingGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-instance.html)", + "markdownDescription": "A billing group is a set of linked account which belong to the same end customer. It can be seen as a virtual consolidated billing family. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-billinggroup.html)", "allOf": [ { "type": "object", @@ -27886,14 +27638,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::Instance" + "AWS::BillingConductor::BillingGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-instance.html)" + "A billing group is a set of linked account which belong to the same end customer. It can be seen as a virtual consolidated billing family. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-billinggroup.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-instance.json" + "$ref": "resources/aws-billingconductor-billinggroup.json" } }, "required": [ @@ -27907,9 +27659,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_EventBridgeRuleTemplateGroup": { + "AWS_ApiGateway_Method": { "type": "object", - "markdownDescription": "Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-eventbridgeruletemplategroup.html)", + "markdownDescription": "The ``AWS::ApiGateway::Method`` resource creates API Gateway methods that define the parameters and body that clients must send in their requests. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html)", "allOf": [ { "type": "object", @@ -27917,14 +27669,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::EventBridgeRuleTemplateGroup" + "AWS::ApiGateway::Method" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-eventbridgeruletemplategroup.html)" + "The ``AWS::ApiGateway::Method`` resource creates API Gateway methods that define the parameters and body that clients must send in their requests. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-eventbridgeruletemplategroup.json" + "$ref": "resources/aws-apigateway-method.json" } }, "required": [ @@ -27938,9 +27690,9 @@ ], "additionalProperties": false }, - "AWS_Connect_HoursOfOperation": { + "AWS_LakeFormation_Tag": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::HoursOfOperation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-hoursofoperation.html)", + "markdownDescription": "A resource schema representing a Lake Formation Tag. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-tag.html)", "allOf": [ { "type": "object", @@ -27948,14 +27700,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::HoursOfOperation" + "AWS::LakeFormation::Tag" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::HoursOfOperation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-hoursofoperation.html)" + "A resource schema representing a Lake Formation Tag. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-tag.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-hoursofoperation.json" + "$ref": "resources/aws-lakeformation-tag.json" } }, "required": [ @@ -27969,9 +27721,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackage_PackagingConfiguration": { + "AWS_Pinpoint_APNSSandboxChannel": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaPackage::PackagingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::APNSSandboxChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html)", "allOf": [ { "type": "object", @@ -27979,14 +27731,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackage::PackagingConfiguration" + "AWS::Pinpoint::APNSSandboxChannel" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaPackage::PackagingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html)" + "Resource Type definition for AWS::Pinpoint::APNSSandboxChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackage-packagingconfiguration.json" + "$ref": "resources/aws-pinpoint-apnssandboxchannel.json" } }, "required": [ @@ -28000,9 +27752,9 @@ ], "additionalProperties": false }, - "AWS_CodeStarConnections_SyncConfiguration": { + "AWS_NetworkManager_VpcAttachment": { "type": "object", - "markdownDescription": "Schema for AWS::CodeStarConnections::SyncConfiguration resource which is used to enables an AWS resource to be synchronized from a source-provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html)", + "markdownDescription": "AWS::NetworkManager::VpcAttachment Resoruce Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-vpcattachment.html)", "allOf": [ { "type": "object", @@ -28010,14 +27762,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeStarConnections::SyncConfiguration" + "AWS::NetworkManager::VpcAttachment" ], "markdownEnumDescriptions": [ - "Schema for AWS::CodeStarConnections::SyncConfiguration resource which is used to enables an AWS resource to be synchronized from a source-provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html)" + "AWS::NetworkManager::VpcAttachment Resoruce Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-vpcattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-codestarconnections-syncconfiguration.json" + "$ref": "resources/aws-networkmanager-vpcattachment.json" } }, "required": [ @@ -28031,9 +27783,9 @@ ], "additionalProperties": false }, - "AWS_Grafana_Workspace": { + "AWS_EMR_Studio": { "type": "object", - "markdownDescription": "Definition of AWS::Grafana::Workspace Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-grafana-workspace.html)", + "markdownDescription": "Resource schema for AWS::EMR::Studio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html)", "allOf": [ { "type": "object", @@ -28041,14 +27793,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Grafana::Workspace" + "AWS::EMR::Studio" ], "markdownEnumDescriptions": [ - "Definition of AWS::Grafana::Workspace Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-grafana-workspace.html)" + "Resource schema for AWS::EMR::Studio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html)" ] }, "Properties": { - "$ref": "resources/aws-grafana-workspace.json" + "$ref": "resources/aws-emr-studio.json" } }, "required": [ @@ -28062,9 +27814,9 @@ ], "additionalProperties": false }, - "AWS_InspectorV2_CisScanConfiguration": { + "AWS_EC2_VPNGatewayRoutePropagation": { "type": "object", - "markdownDescription": "CIS Scan Configuration resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspectorv2-cisscanconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::VPNGatewayRoutePropagation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngatewayroutepropagation.html)", "allOf": [ { "type": "object", @@ -28072,14 +27824,14 @@ "Type": { "type": "string", "enum": [ - "AWS::InspectorV2::CisScanConfiguration" + "AWS::EC2::VPNGatewayRoutePropagation" ], "markdownEnumDescriptions": [ - "CIS Scan Configuration resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspectorv2-cisscanconfiguration.html)" + "Resource Type definition for AWS::EC2::VPNGatewayRoutePropagation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngatewayroutepropagation.html)" ] }, "Properties": { - "$ref": "resources/aws-inspectorv2-cisscanconfiguration.json" + "$ref": "resources/aws-ec2-vpngatewayroutepropagation.json" } }, "required": [ @@ -28093,9 +27845,9 @@ ], "additionalProperties": false }, - "AWS_ARCZonalShift_AutoshiftObserverNotificationStatus": { + "AWS_WorkSpacesWeb_DataProtectionSettings": { "type": "object", - "markdownDescription": "Definition of AWS::ARCZonalShift::AutoshiftObserverNotificationStatus Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-autoshiftobservernotificationstatus.html)", + "markdownDescription": "Definition of AWS::WorkSpacesWeb::DataProtectionSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-dataprotectionsettings.html)", "allOf": [ { "type": "object", @@ -28103,19 +27855,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ARCZonalShift::AutoshiftObserverNotificationStatus" + "AWS::WorkSpacesWeb::DataProtectionSettings" ], "markdownEnumDescriptions": [ - "Definition of AWS::ARCZonalShift::AutoshiftObserverNotificationStatus Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-autoshiftobservernotificationstatus.html)" + "Definition of AWS::WorkSpacesWeb::DataProtectionSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-dataprotectionsettings.html)" ] }, "Properties": { - "$ref": "resources/aws-arczonalshift-autoshiftobservernotificationstatus.json" + "$ref": "resources/aws-workspacesweb-dataprotectionsettings.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -28124,9 +27875,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_Membership": { + "AWS_AppFlow_Connector": { "type": "object", - "markdownDescription": "Represents an AWS account that is a part of a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-membership.html)", + "markdownDescription": "Resource schema for AWS::AppFlow::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connector.html)", "allOf": [ { "type": "object", @@ -28134,14 +27885,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::Membership" + "AWS::AppFlow::Connector" ], "markdownEnumDescriptions": [ - "Represents an AWS account that is a part of a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-membership.html)" + "Resource schema for AWS::AppFlow::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connector.html)" ] }, "Properties": { - "$ref": "resources/aws-cleanrooms-membership.json" + "$ref": "resources/aws-appflow-connector.json" } }, "required": [ @@ -28155,9 +27906,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TrafficMirrorTarget": { + "AWS_ConnectCampaigns_Campaign": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::TrafficMirrorTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html)", + "markdownDescription": "Definition of AWS::ConnectCampaigns::Campaign Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaigns-campaign.html)", "allOf": [ { "type": "object", @@ -28165,18 +27916,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TrafficMirrorTarget" + "AWS::ConnectCampaigns::Campaign" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TrafficMirrorTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html)" + "Definition of AWS::ConnectCampaigns::Campaign Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaigns-campaign.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-trafficmirrortarget.json" + "$ref": "resources/aws-connectcampaigns-campaign.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -28185,9 +27937,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_Deployment": { + "AWS_CodeStarConnections_Connection": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppConfig::Deployment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html)", + "markdownDescription": "Schema for AWS::CodeStarConnections::Connection resource which can be used to connect external source providers with AWS CodePipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html)", "allOf": [ { "type": "object", @@ -28195,14 +27947,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::Deployment" + "AWS::CodeStarConnections::Connection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppConfig::Deployment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html)" + "Schema for AWS::CodeStarConnections::Connection resource which can be used to connect external source providers with AWS CodePipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html)" ] }, "Properties": { - "$ref": "resources/aws-appconfig-deployment.json" + "$ref": "resources/aws-codestarconnections-connection.json" } }, "required": [ @@ -28216,9 +27968,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SecurityGroupEgress": { + "AWS_RDS_DBSecurityGroupIngress": { "type": "object", - "markdownDescription": "Adds the specified outbound (egress) rule to a security group.\n An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 address range, the IP addresses that are specified by a prefix list, or the instances that are associated with a destination security group. For more information, see [Security group rules](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html).\n You must specify exactly one of the following destinations: an IPv4 address range, an IPv6 address range, a prefix list, or a security group.\n You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP/ICMPv6 type and code. To specify all types or all codes, use -1.\n Rule changes are propagated to instances associated with the security group as quickly as possible. However, a small delay might occur. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupegress.html)", + "markdownDescription": "Resource Type definition for AWS::RDS::DBSecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroupingress.html)", "allOf": [ { "type": "object", @@ -28226,14 +27978,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SecurityGroupEgress" + "AWS::RDS::DBSecurityGroupIngress" ], "markdownEnumDescriptions": [ - "Adds the specified outbound (egress) rule to a security group.\n An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 address range, the IP addresses that are specified by a prefix list, or the instances that are associated with a destination security group. For more information, see [Security group rules](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html).\n You must specify exactly one of the following destinations: an IPv4 address range, an IPv6 address range, a prefix list, or a security group.\n You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP/ICMPv6 type and code. To specify all types or all codes, use -1.\n Rule changes are propagated to instances associated with the security group as quickly as possible. However, a small delay might occur. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupegress.html)" + "Resource Type definition for AWS::RDS::DBSecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroupingress.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-securitygroupegress.json" + "$ref": "resources/aws-rds-dbsecuritygroupingress.json" } }, "required": [ @@ -28247,9 +27999,9 @@ ], "additionalProperties": false }, - "AWS_EC2_Subnet": { + "AWS_Omics_SequenceStore": { "type": "object", - "markdownDescription": "Specifies a subnet for the specified VPC.\n For an IPv4 only subnet, specify an IPv4 CIDR block. If the VPC has an IPv6 CIDR block, you can create an IPv6 only subnet or a dual stack subnet instead. For an IPv6 only subnet, specify an IPv6 CIDR block. For a dual stack subnet, specify both an IPv4 CIDR block and an IPv6 CIDR block.\n For more information, see [Subnets for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html)", + "markdownDescription": "Definition of AWS::Omics::SequenceStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-sequencestore.html)", "allOf": [ { "type": "object", @@ -28257,14 +28009,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::Subnet" + "AWS::Omics::SequenceStore" ], "markdownEnumDescriptions": [ - "Specifies a subnet for the specified VPC.\n For an IPv4 only subnet, specify an IPv4 CIDR block. If the VPC has an IPv6 CIDR block, you can create an IPv6 only subnet or a dual stack subnet instead. For an IPv6 only subnet, specify an IPv6 CIDR block. For a dual stack subnet, specify both an IPv4 CIDR block and an IPv6 CIDR block.\n For more information, see [Subnets for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html)" + "Definition of AWS::Omics::SequenceStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-sequencestore.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-subnet.json" + "$ref": "resources/aws-omics-sequencestore.json" } }, "required": [ @@ -28278,9 +28030,9 @@ ], "additionalProperties": false }, - "AWS_EC2_IPAMPoolCidr": { + "AWS_Glue_SecurityConfiguration": { "type": "object", - "markdownDescription": "Resource Schema of AWS::EC2::IPAMPoolCidr Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampoolcidr.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::SecurityConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-securityconfiguration.html)", "allOf": [ { "type": "object", @@ -28288,14 +28040,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::IPAMPoolCidr" + "AWS::Glue::SecurityConfiguration" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EC2::IPAMPoolCidr Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampoolcidr.html)" + "Resource Type definition for AWS::Glue::SecurityConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-securityconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-ipampoolcidr.json" + "$ref": "resources/aws-glue-securityconfiguration.json" } }, "required": [ @@ -28309,9 +28061,9 @@ ], "additionalProperties": false }, - "AWS_XRay_Group": { + "AWS_Synthetics_Group": { "type": "object", - "markdownDescription": "This schema provides construct and validation rules for AWS-XRay Group resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-group.html)", + "markdownDescription": "Resource Type definition for AWS::Synthetics::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-group.html)", "allOf": [ { "type": "object", @@ -28319,14 +28071,14 @@ "Type": { "type": "string", "enum": [ - "AWS::XRay::Group" + "AWS::Synthetics::Group" ], "markdownEnumDescriptions": [ - "This schema provides construct and validation rules for AWS-XRay Group resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-group.html)" + "Resource Type definition for AWS::Synthetics::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-group.html)" ] }, "Properties": { - "$ref": "resources/aws-xray-group.json" + "$ref": "resources/aws-synthetics-group.json" } }, "required": [ @@ -28340,9 +28092,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_Fleet": { + "AWS_IoT_Policy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html)", + "markdownDescription": "Resource Type definition for AWS::IoT::Policy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policy.html)", "allOf": [ { "type": "object", @@ -28350,14 +28102,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::Fleet" + "AWS::IoT::Policy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html)" + "Resource Type definition for AWS::IoT::Policy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policy.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-fleet.json" + "$ref": "resources/aws-iot-policy.json" } }, "required": [ @@ -28371,9 +28123,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkPerformanceMetricSubscription": { + "AWS_WAFRegional_WebACL": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::NetworkPerformanceMetricSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkperformancemetricsubscription.html)", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::WebACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html)", "allOf": [ { "type": "object", @@ -28381,14 +28133,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkPerformanceMetricSubscription" + "AWS::WAFRegional::WebACL" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::NetworkPerformanceMetricSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkperformancemetricsubscription.html)" + "Resource Type definition for AWS::WAFRegional::WebACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkperformancemetricsubscription.json" + "$ref": "resources/aws-wafregional-webacl.json" } }, "required": [ @@ -28402,9 +28154,9 @@ ], "additionalProperties": false }, - "AWS_WAFv2_WebACLAssociation": { + "AWS_EMR_Step": { "type": "object", - "markdownDescription": "Associates WebACL to Application Load Balancer, CloudFront or API Gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webaclassociation.html)", + "markdownDescription": "Schema for AWS::EMR::Step \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.html)", "allOf": [ { "type": "object", @@ -28412,14 +28164,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFv2::WebACLAssociation" + "AWS::EMR::Step" ], "markdownEnumDescriptions": [ - "Associates WebACL to Application Load Balancer, CloudFront or API Gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webaclassociation.html)" + "Schema for AWS::EMR::Step \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.html)" ] }, "Properties": { - "$ref": "resources/aws-wafv2-webaclassociation.json" + "$ref": "resources/aws-emr-step.json" } }, "required": [ @@ -28433,9 +28185,9 @@ ], "additionalProperties": false }, - "AWS_DMS_ReplicationSubnetGroup": { + "AWS_EC2_EIP": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DMS::ReplicationSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationsubnetgroup.html)", + "markdownDescription": "Specifies an Elastic IP (EIP) address and can, optionally, associate it with an Amazon EC2 instance.\n You can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see [Bring Your Own IP Addresses (BYOIP)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) in the *Amazon EC2 User Guide*.\n For more information, see [Elastic IP Addresses](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) in the *Amazon EC2 User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html)", "allOf": [ { "type": "object", @@ -28443,19 +28195,18 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::ReplicationSubnetGroup" + "AWS::EC2::EIP" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DMS::ReplicationSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationsubnetgroup.html)" + "Specifies an Elastic IP (EIP) address and can, optionally, associate it with an Amazon EC2 instance.\n You can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see [Bring Your Own IP Addresses (BYOIP)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) in the *Amazon EC2 User Guide*.\n For more information, see [Elastic IP Addresses](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) in the *Amazon EC2 User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html)" ] }, "Properties": { - "$ref": "resources/aws-dms-replicationsubnetgroup.json" + "$ref": "resources/aws-ec2-eip.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -28464,9 +28215,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_Campaign": { + "AWS_IoT_Command": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::Campaign \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html)", + "markdownDescription": "Represents the resource definition of AWS IoT Command. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-command.html)", "allOf": [ { "type": "object", @@ -28474,14 +28225,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::Campaign" + "AWS::IoT::Command" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::Campaign \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html)" + "Represents the resource definition of AWS IoT Command. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-command.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-campaign.json" + "$ref": "resources/aws-iot-command.json" } }, "required": [ @@ -28495,9 +28246,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_TargetGroup": { + "AWS_DMS_ReplicationConfig": { "type": "object", - "markdownDescription": "A target group is a collection of targets, or compute resources, that run your application or service. A target group can only be used by a single service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-targetgroup.html)", + "markdownDescription": "A replication configuration that you later provide to configure and start a AWS DMS Serverless replication \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html)", "allOf": [ { "type": "object", @@ -28505,14 +28256,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::TargetGroup" + "AWS::DMS::ReplicationConfig" ], "markdownEnumDescriptions": [ - "A target group is a collection of targets, or compute resources, that run your application or service. A target group can only be used by a single service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-targetgroup.html)" + "A replication configuration that you later provide to configure and start a AWS DMS Serverless replication \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-targetgroup.json" + "$ref": "resources/aws-dms-replicationconfig.json" } }, "required": [ @@ -28526,9 +28277,9 @@ ], "additionalProperties": false }, - "AWS_Glue_TableOptimizer": { + "AWS_IoTSiteWise_Gateway": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::TableOptimizer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-tableoptimizer.html)", + "markdownDescription": "Resource schema for AWS::IoTSiteWise::Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-gateway.html)", "allOf": [ { "type": "object", @@ -28536,14 +28287,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::TableOptimizer" + "AWS::IoTSiteWise::Gateway" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::TableOptimizer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-tableoptimizer.html)" + "Resource schema for AWS::IoTSiteWise::Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-gateway.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-tableoptimizer.json" + "$ref": "resources/aws-iotsitewise-gateway.json" } }, "required": [ @@ -28557,9 +28308,9 @@ ], "additionalProperties": false }, - "AWS_Omics_RunGroup": { + "AWS_EC2_NetworkAclEntry": { "type": "object", - "markdownDescription": "Definition of AWS::Omics::RunGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-rungroup.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::NetworkAclEntry \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html)", "allOf": [ { "type": "object", @@ -28567,18 +28318,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Omics::RunGroup" + "AWS::EC2::NetworkAclEntry" ], "markdownEnumDescriptions": [ - "Definition of AWS::Omics::RunGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-rungroup.html)" + "Resource Type definition for AWS::EC2::NetworkAclEntry \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html)" ] }, "Properties": { - "$ref": "resources/aws-omics-rungroup.json" + "$ref": "resources/aws-ec2-networkaclentry.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -28587,9 +28339,9 @@ ], "additionalProperties": false }, - "AWS_IoT_Thing": { + "AWS_AmplifyUIBuilder_Form": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT::Thing \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.html)", + "markdownDescription": "Definition of AWS::AmplifyUIBuilder::Form Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-form.html)", "allOf": [ { "type": "object", @@ -28597,14 +28349,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::Thing" + "AWS::AmplifyUIBuilder::Form" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::Thing \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.html)" + "Definition of AWS::AmplifyUIBuilder::Form Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-form.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-thing.json" + "$ref": "resources/aws-amplifyuibuilder-form.json" } }, "required": [ @@ -28617,9 +28369,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_ImageBuilder": { + "AWS_ControlTower_EnabledControl": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::ImageBuilder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html)", + "markdownDescription": "Enables a control on a specified target. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledcontrol.html)", "allOf": [ { "type": "object", @@ -28627,14 +28379,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::ImageBuilder" + "AWS::ControlTower::EnabledControl" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::ImageBuilder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html)" + "Enables a control on a specified target. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledcontrol.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-imagebuilder.json" + "$ref": "resources/aws-controltower-enabledcontrol.json" } }, "required": [ @@ -28648,9 +28400,9 @@ ], "additionalProperties": false }, - "AWS_SES_MailManagerArchive": { + "AWS_AppStream_Fleet": { "type": "object", - "markdownDescription": "Definition of AWS::SES::MailManagerArchive Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerarchive.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html)", "allOf": [ { "type": "object", @@ -28658,18 +28410,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::MailManagerArchive" + "AWS::AppStream::Fleet" ], "markdownEnumDescriptions": [ - "Definition of AWS::SES::MailManagerArchive Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerarchive.html)" + "Resource Type definition for AWS::AppStream::Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-mailmanagerarchive.json" + "$ref": "resources/aws-appstream-fleet.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -28678,9 +28431,9 @@ ], "additionalProperties": false }, - "AWS_CloudTrail_EventDataStore": { + "AWS_Cognito_UserPoolRiskConfigurationAttachment": { "type": "object", - "markdownDescription": "A storage lake of event data against which you can run complex SQL-based queries. An event data store can include events that you have logged on your account from the last 7 to 2557 or 3653 days (about seven or ten years) depending on the selected BillingMode. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolRiskConfigurationAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html)", "allOf": [ { "type": "object", @@ -28688,18 +28441,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudTrail::EventDataStore" + "AWS::Cognito::UserPoolRiskConfigurationAttachment" ], "markdownEnumDescriptions": [ - "A storage lake of event data against which you can run complex SQL-based queries. An event data store can include events that you have logged on your account from the last 7 to 2557 or 3653 days (about seven or ten years) depending on the selected BillingMode. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html)" + "Resource Type definition for AWS::Cognito::UserPoolRiskConfigurationAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudtrail-eventdatastore.json" + "$ref": "resources/aws-cognito-userpoolriskconfigurationattachment.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -28708,9 +28462,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayVpcAttachment": { + "AWS_CleanRoomsML_TrainingDataset": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::TransitGatewayVpcAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayvpcattachment.html)", + "markdownDescription": "Definition of AWS::CleanRoomsML::TrainingDataset Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanroomsml-trainingdataset.html)", "allOf": [ { "type": "object", @@ -28718,14 +28472,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayVpcAttachment" + "AWS::CleanRoomsML::TrainingDataset" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TransitGatewayVpcAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayvpcattachment.html)" + "Definition of AWS::CleanRoomsML::TrainingDataset Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanroomsml-trainingdataset.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewayvpcattachment.json" + "$ref": "resources/aws-cleanroomsml-trainingdataset.json" } }, "required": [ @@ -28739,9 +28493,9 @@ ], "additionalProperties": false }, - "AWS_RedshiftServerless_Namespace": { + "AWS_IoTFleetHub_Application": { "type": "object", - "markdownDescription": "Definition of AWS::RedshiftServerless::Namespace Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html)", + "markdownDescription": "Resource schema for AWS::IoTFleetHub::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleethub-application.html)", "allOf": [ { "type": "object", @@ -28749,14 +28503,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RedshiftServerless::Namespace" + "AWS::IoTFleetHub::Application" ], "markdownEnumDescriptions": [ - "Definition of AWS::RedshiftServerless::Namespace Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html)" + "Resource schema for AWS::IoTFleetHub::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleethub-application.html)" ] }, "Properties": { - "$ref": "resources/aws-redshiftserverless-namespace.json" + "$ref": "resources/aws-iotfleethub-application.json" } }, "required": [ @@ -28770,9 +28524,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_WirelessDeviceImportTask": { + "AWS_NimbleStudio_LaunchProfile": { "type": "object", - "markdownDescription": "Wireless Device Import Tasks \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdeviceimporttask.html)", + "markdownDescription": "Resource Type definition for AWS::NimbleStudio::LaunchProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-launchprofile.html)", "allOf": [ { "type": "object", @@ -28780,14 +28534,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::WirelessDeviceImportTask" + "AWS::NimbleStudio::LaunchProfile" ], "markdownEnumDescriptions": [ - "Wireless Device Import Tasks \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdeviceimporttask.html)" + "Resource Type definition for AWS::NimbleStudio::LaunchProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-launchprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-wirelessdeviceimporttask.json" + "$ref": "resources/aws-nimblestudio-launchprofile.json" } }, "required": [ @@ -28801,9 +28555,9 @@ ], "additionalProperties": false }, - "AWS_QLDB_Stream": { + "AWS_Logs_LogAnomalyDetector": { "type": "object", - "markdownDescription": "Resource schema for AWS::QLDB::Stream. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html)", + "markdownDescription": "The AWS::Logs::LogAnomalyDetector resource specifies a CloudWatch Logs LogAnomalyDetector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loganomalydetector.html)", "allOf": [ { "type": "object", @@ -28811,19 +28565,18 @@ "Type": { "type": "string", "enum": [ - "AWS::QLDB::Stream" + "AWS::Logs::LogAnomalyDetector" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::QLDB::Stream. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html)" + "The AWS::Logs::LogAnomalyDetector resource specifies a CloudWatch Logs LogAnomalyDetector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loganomalydetector.html)" ] }, "Properties": { - "$ref": "resources/aws-qldb-stream.json" + "$ref": "resources/aws-logs-loganomalydetector.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -28832,9 +28585,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCCidrBlock": { + "AWS_IoT_PolicyPrincipalAttachment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::VPCCidrBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html)", + "markdownDescription": "Resource Type definition for AWS::IoT::PolicyPrincipalAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policyprincipalattachment.html)", "allOf": [ { "type": "object", @@ -28842,14 +28595,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCCidrBlock" + "AWS::IoT::PolicyPrincipalAttachment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPCCidrBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html)" + "Resource Type definition for AWS::IoT::PolicyPrincipalAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policyprincipalattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpccidrblock.json" + "$ref": "resources/aws-iot-policyprincipalattachment.json" } }, "required": [ @@ -28863,9 +28616,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_TrustStore": { + "AWS_CleanRooms_AnalysisTemplate": { "type": "object", - "markdownDescription": "Definition of AWS::WorkSpacesWeb::TrustStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-truststore.html)", + "markdownDescription": "Represents a stored analysis within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-analysistemplate.html)", "allOf": [ { "type": "object", @@ -28873,14 +28626,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::TrustStore" + "AWS::CleanRooms::AnalysisTemplate" ], "markdownEnumDescriptions": [ - "Definition of AWS::WorkSpacesWeb::TrustStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-truststore.html)" + "Represents a stored analysis within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-analysistemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-workspacesweb-truststore.json" + "$ref": "resources/aws-cleanrooms-analysistemplate.json" } }, "required": [ @@ -28894,9 +28647,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayMulticastGroupMember": { + "AWS_PCAConnectorAD_DirectoryRegistration": { "type": "object", - "markdownDescription": "The AWS::EC2::TransitGatewayMulticastGroupMember registers and deregisters members and sources (network interfaces) with the transit gateway multicast group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html)", + "markdownDescription": "Definition of AWS::PCAConnectorAD::DirectoryRegistration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-directoryregistration.html)", "allOf": [ { "type": "object", @@ -28904,14 +28657,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayMulticastGroupMember" + "AWS::PCAConnectorAD::DirectoryRegistration" ], "markdownEnumDescriptions": [ - "The AWS::EC2::TransitGatewayMulticastGroupMember registers and deregisters members and sources (network interfaces) with the transit gateway multicast group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html)" + "Definition of AWS::PCAConnectorAD::DirectoryRegistration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-directoryregistration.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewaymulticastgroupmember.json" + "$ref": "resources/aws-pcaconnectorad-directoryregistration.json" } }, "required": [ @@ -28925,9 +28678,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_Device": { + "AWS_Wisdom_MessageTemplate": { "type": "object", - "markdownDescription": "The AWS::NetworkManager::Device type describes a device. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html)", + "markdownDescription": "Definition of AWS::Wisdom::MessageTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-messagetemplate.html)", "allOf": [ { "type": "object", @@ -28935,14 +28688,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::Device" + "AWS::Wisdom::MessageTemplate" ], "markdownEnumDescriptions": [ - "The AWS::NetworkManager::Device type describes a device. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html)" + "Definition of AWS::Wisdom::MessageTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-messagetemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-device.json" + "$ref": "resources/aws-wisdom-messagetemplate.json" } }, "required": [ @@ -28956,9 +28709,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_VpcLink": { + "AWS_Logs_LogGroup": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::VpcLink`` resource creates an API Gateway VPC link for a REST API to access resources in an Amazon Virtual Private Cloud (VPC). For more information, see [vpclink:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateVpcLink.html) in the ``Amazon API Gateway REST API Reference``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html)", + "markdownDescription": "The ``AWS::Logs::LogGroup`` resource specifies a log group. A log group defines common properties for log streams, such as their retention and access control rules. Each log stream must belong to one log group.\n You can create up to 1,000,000 log groups per Region per account. You must use the following guidelines when naming a log group:\n + Log group names must be unique within a Region for an AWS account.\n + Log group names can be between 1 and 512 characters long.\n + Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)", "allOf": [ { "type": "object", @@ -28966,19 +28719,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::VpcLink" + "AWS::Logs::LogGroup" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::VpcLink`` resource creates an API Gateway VPC link for a REST API to access resources in an Amazon Virtual Private Cloud (VPC). For more information, see [vpclink:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateVpcLink.html) in the ``Amazon API Gateway REST API Reference``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html)" + "The ``AWS::Logs::LogGroup`` resource specifies a log group. A log group defines common properties for log streams, such as their retention and access control rules. Each log stream must belong to one log group.\n You can create up to 1,000,000 log groups per Region per account. You must use the following guidelines when naming a log group:\n + Log group names must be unique within a Region for an AWS account.\n + Log group names can be between 1 and 512 characters long.\n + Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-vpclink.json" + "$ref": "resources/aws-logs-loggroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -28987,9 +28739,9 @@ ], "additionalProperties": false }, - "AWS_EC2_EC2Fleet": { + "AWS_WAFRegional_Rule": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::EC2Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html)", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html)", "allOf": [ { "type": "object", @@ -28997,14 +28749,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::EC2Fleet" + "AWS::WAFRegional::Rule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::EC2Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html)" + "Resource Type definition for AWS::WAFRegional::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-ec2fleet.json" + "$ref": "resources/aws-wafregional-rule.json" } }, "required": [ @@ -29018,9 +28770,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancingV2_ListenerCertificate": { + "AWS_Wisdom_AIGuardrailVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElasticLoadBalancingV2::ListenerCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html)", + "markdownDescription": "Definition of AWS::Wisdom::AIGuardrailVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-aiguardrailversion.html)", "allOf": [ { "type": "object", @@ -29028,14 +28780,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerCertificate" + "AWS::Wisdom::AIGuardrailVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticLoadBalancingV2::ListenerCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html)" + "Definition of AWS::Wisdom::AIGuardrailVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-aiguardrailversion.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticloadbalancingv2-listenercertificate.json" + "$ref": "resources/aws-wisdom-aiguardrailversion.json" } }, "required": [ @@ -29049,9 +28801,9 @@ ], "additionalProperties": false }, - "AWS_Glue_DevEndpoint": { + "AWS_Evidently_Project": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::DevEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html)", + "markdownDescription": "Resource Type definition for AWS::Evidently::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-project.html)", "allOf": [ { "type": "object", @@ -29059,14 +28811,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::DevEndpoint" + "AWS::Evidently::Project" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::DevEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html)" + "Resource Type definition for AWS::Evidently::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-project.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-devendpoint.json" + "$ref": "resources/aws-evidently-project.json" } }, "required": [ @@ -29080,9 +28832,9 @@ ], "additionalProperties": false }, - "AWS_PCAConnectorSCEP_Connector": { + "AWS_ApiGateway_DomainNameV2": { "type": "object", - "markdownDescription": "Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorscep-connector.html)", + "markdownDescription": "Resource Type definition for AWS::ApiGateway::DomainNameV2. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html)", "allOf": [ { "type": "object", @@ -29090,19 +28842,18 @@ "Type": { "type": "string", "enum": [ - "AWS::PCAConnectorSCEP::Connector" + "AWS::ApiGateway::DomainNameV2" ], "markdownEnumDescriptions": [ - "Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorscep-connector.html)" + "Resource Type definition for AWS::ApiGateway::DomainNameV2. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html)" ] }, "Properties": { - "$ref": "resources/aws-pcaconnectorscep-connector.json" + "$ref": "resources/aws-apigateway-domainnamev2.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -29111,9 +28862,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_DeviceProfile": { + "AWS_ServiceCatalog_PortfolioShare": { "type": "object", - "markdownDescription": "Device Profile's resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-deviceprofile.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::PortfolioShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioshare.html)", "allOf": [ { "type": "object", @@ -29121,18 +28872,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::DeviceProfile" + "AWS::ServiceCatalog::PortfolioShare" ], "markdownEnumDescriptions": [ - "Device Profile's resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-deviceprofile.html)" + "Resource Type definition for AWS::ServiceCatalog::PortfolioShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioshare.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-deviceprofile.json" + "$ref": "resources/aws-servicecatalog-portfolioshare.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -29141,9 +28893,9 @@ ], "additionalProperties": false }, - "AWS_IAM_Policy": { + "AWS_WAFRegional_SizeConstraintSet": { "type": "object", - "markdownDescription": "Adds or updates an inline policy document that is embedded in the specified IAM group, user or role.\n An IAM user can also have a managed policy attached to it. For information about policies, see [Managed Policies and Inline Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *User Guide*.\n The Groups, Roles, and Users properties are optional. However, you must specify at least one of these properties.\n For information about policy documents see [Creating policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) in the *User Guide*.\n For information about limits on the number of inline policies that you can embed in an identity, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.\n This resource does not support [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). The following inline policy resource types support drift detection:\n + [AWS::IAM::GroupPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html) \n + [AWS::IAM::RolePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html) \n + [AWS::IAM::UserPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html)", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::SizeConstraintSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sizeconstraintset.html)", "allOf": [ { "type": "object", @@ -29151,14 +28903,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::Policy" + "AWS::WAFRegional::SizeConstraintSet" ], "markdownEnumDescriptions": [ - "Adds or updates an inline policy document that is embedded in the specified IAM group, user or role.\n An IAM user can also have a managed policy attached to it. For information about policies, see [Managed Policies and Inline Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *User Guide*.\n The Groups, Roles, and Users properties are optional. However, you must specify at least one of these properties.\n For information about policy documents see [Creating policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) in the *User Guide*.\n For information about limits on the number of inline policies that you can embed in an identity, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.\n This resource does not support [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). The following inline policy resource types support drift detection:\n + [AWS::IAM::GroupPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html) \n + [AWS::IAM::RolePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html) \n + [AWS::IAM::UserPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html)" + "Resource Type definition for AWS::WAFRegional::SizeConstraintSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sizeconstraintset.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-policy.json" + "$ref": "resources/aws-wafregional-sizeconstraintset.json" } }, "required": [ @@ -29172,9 +28924,9 @@ ], "additionalProperties": false }, - "AWS_CodeBuild_SourceCredential": { + "AWS_B2BI_Transformer": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CodeBuild::SourceCredential \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html)", + "markdownDescription": "Definition of AWS::B2BI::Transformer Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-transformer.html)", "allOf": [ { "type": "object", @@ -29182,14 +28934,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeBuild::SourceCredential" + "AWS::B2BI::Transformer" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeBuild::SourceCredential \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html)" + "Definition of AWS::B2BI::Transformer Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-transformer.html)" ] }, "Properties": { - "$ref": "resources/aws-codebuild-sourcecredential.json" + "$ref": "resources/aws-b2bi-transformer.json" } }, "required": [ @@ -29203,9 +28955,9 @@ ], "additionalProperties": false }, - "AWS_CloudWatch_CompositeAlarm": { + "AWS_SES_MailManagerIngressPoint": { "type": "object", - "markdownDescription": "The AWS::CloudWatch::CompositeAlarm type specifies an alarm which aggregates the states of other Alarms (Metric or Composite Alarms) as defined by the AlarmRule expression \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html)", + "markdownDescription": "Definition of AWS::SES::MailManagerIngressPoint Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageringresspoint.html)", "allOf": [ { "type": "object", @@ -29213,14 +28965,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudWatch::CompositeAlarm" + "AWS::SES::MailManagerIngressPoint" ], "markdownEnumDescriptions": [ - "The AWS::CloudWatch::CompositeAlarm type specifies an alarm which aggregates the states of other Alarms (Metric or Composite Alarms) as defined by the AlarmRule expression \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html)" + "Definition of AWS::SES::MailManagerIngressPoint Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageringresspoint.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudwatch-compositealarm.json" + "$ref": "resources/aws-ses-mailmanageringresspoint.json" } }, "required": [ @@ -29234,9 +28986,9 @@ ], "additionalProperties": false }, - "AWS_S3_MultiRegionAccessPointPolicy": { + "AWS_DMS_ReplicationSubnetGroup": { "type": "object", - "markdownDescription": "The policy to be attached to a Multi Region Access Point \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html)", + "markdownDescription": "Resource Type definition for AWS::DMS::ReplicationSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationsubnetgroup.html)", "allOf": [ { "type": "object", @@ -29244,14 +28996,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::MultiRegionAccessPointPolicy" + "AWS::DMS::ReplicationSubnetGroup" ], "markdownEnumDescriptions": [ - "The policy to be attached to a Multi Region Access Point \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html)" + "Resource Type definition for AWS::DMS::ReplicationSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationsubnetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-multiregionaccesspointpolicy.json" + "$ref": "resources/aws-dms-replicationsubnetgroup.json" } }, "required": [ @@ -29265,9 +29017,9 @@ ], "additionalProperties": false }, - "AWS_Evidently_Launch": { + "AWS_S3_Bucket": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Evidently::Launch. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-launch.html)", + "markdownDescription": "The ``AWS::S3::Bucket`` resource creates an Amazon S3 bucket in the same AWS Region where you create the AWS CloudFormation stack.\n To control how AWS CloudFormation handles the bucket when the stack is deleted, you can set a deletion policy for your bucket. You can choose to *retain* the bucket or to *delete* the bucket. For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).\n You can only delete empty buckets. Deletion fails for buckets that have contents. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucket.html)", "allOf": [ { "type": "object", @@ -29275,19 +29027,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Evidently::Launch" + "AWS::S3::Bucket" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Evidently::Launch. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-launch.html)" + "The ``AWS::S3::Bucket`` resource creates an Amazon S3 bucket in the same AWS Region where you create the AWS CloudFormation stack.\n To control how AWS CloudFormation handles the bucket when the stack is deleted, you can set a deletion policy for your bucket. You can choose to *retain* the bucket or to *delete* the bucket. For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).\n You can only delete empty buckets. Deletion fails for buckets that have contents. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucket.html)" ] }, "Properties": { - "$ref": "resources/aws-evidently-launch.json" + "$ref": "resources/aws-s3-bucket.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -29296,9 +29047,9 @@ ], "additionalProperties": false }, - "AWS_IAM_UserToGroupAddition": { + "AWS_Connect_Rule": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IAM::UserToGroupAddition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-usertogroupaddition.html)", + "markdownDescription": "Creates a rule for the specified CON instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-rule.html)", "allOf": [ { "type": "object", @@ -29306,14 +29057,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::UserToGroupAddition" + "AWS::Connect::Rule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IAM::UserToGroupAddition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-usertogroupaddition.html)" + "Creates a rule for the specified CON instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-rule.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-usertogroupaddition.json" + "$ref": "resources/aws-connect-rule.json" } }, "required": [ @@ -29327,9 +29078,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_Dashboard": { + "AWS_Lambda_Alias": { "type": "object", - "markdownDescription": "Definition of the AWS::QuickSight::Dashboard Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html)", + "markdownDescription": "Resource Type definition for AWS::Lambda::Alias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html)", "allOf": [ { "type": "object", @@ -29337,14 +29088,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::Dashboard" + "AWS::Lambda::Alias" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::Dashboard Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html)" + "Resource Type definition for AWS::Lambda::Alias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html)" ] }, "Properties": { - "$ref": "resources/aws-quicksight-dashboard.json" + "$ref": "resources/aws-lambda-alias.json" } }, "required": [ @@ -29358,9 +29109,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Cluster": { + "AWS_SecurityHub_FindingAggregator": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html)", + "markdownDescription": "The ``AWS::SecurityHub::FindingAggregator`` resource enables cross-Region aggregation. When cross-Region aggregation is enabled, you can aggregate findings, finding updates, insights, control compliance statuses, and security scores from one or more linked Regions to a single aggregation Region. You can then view and manage all of this data from the aggregation Region. For more details about cross-Region aggregation, see [Cross-Region aggregation](https://docs.aws.amazon.com/securityhub/latest/userguide/finding-aggregation.html) in the *User Guide* \n This resource must be created in the Region that you want to designate as your aggregation Region.\n Cross-Region aggregation is also a prerequisite for using [central configuration](https://docs.aws.amazon.com/securityhub/latest/userguide/central-configuration-intro.html) in ASH. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-findingaggregator.html)", "allOf": [ { "type": "object", @@ -29368,14 +29119,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Cluster" + "AWS::SecurityHub::FindingAggregator" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html)" + "The ``AWS::SecurityHub::FindingAggregator`` resource enables cross-Region aggregation. When cross-Region aggregation is enabled, you can aggregate findings, finding updates, insights, control compliance statuses, and security scores from one or more linked Regions to a single aggregation Region. You can then view and manage all of this data from the aggregation Region. For more details about cross-Region aggregation, see [Cross-Region aggregation](https://docs.aws.amazon.com/securityhub/latest/userguide/finding-aggregation.html) in the *User Guide* \n This resource must be created in the Region that you want to designate as your aggregation Region.\n Cross-Region aggregation is also a prerequisite for using [central configuration](https://docs.aws.amazon.com/securityhub/latest/userguide/central-configuration-intro.html) in ASH. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-findingaggregator.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-cluster.json" + "$ref": "resources/aws-securityhub-findingaggregator.json" } }, "required": [ @@ -29389,9 +29140,9 @@ ], "additionalProperties": false }, - "AWS_RDS_EventSubscription": { + "AWS_EC2_GatewayRouteTableAssociation": { "type": "object", - "markdownDescription": "The ``AWS::RDS::EventSubscription`` resource allows you to receive notifications for Amazon Relational Database Service events through the Amazon Simple Notification Service (Amazon SNS). For more information, see [Using Amazon RDS Event Notification](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html) in the *Amazon RDS User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html)", + "markdownDescription": "Associates a gateway with a route table. The gateway and route table must be in the same VPC. This association causes the incoming traffic to the gateway to be routed according to the routes in the route table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-gatewayroutetableassociation.html)", "allOf": [ { "type": "object", @@ -29399,14 +29150,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::EventSubscription" + "AWS::EC2::GatewayRouteTableAssociation" ], "markdownEnumDescriptions": [ - "The ``AWS::RDS::EventSubscription`` resource allows you to receive notifications for Amazon Relational Database Service events through the Amazon Simple Notification Service (Amazon SNS). For more information, see [Using Amazon RDS Event Notification](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html) in the *Amazon RDS User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html)" + "Associates a gateway with a route table. The gateway and route table must be in the same VPC. This association causes the incoming traffic to the gateway to be routed according to the routes in the route table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-gatewayroutetableassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-eventsubscription.json" + "$ref": "resources/aws-ec2-gatewayroutetableassociation.json" } }, "required": [ @@ -29420,9 +29171,9 @@ ], "additionalProperties": false }, - "AWS_EC2_Volume": { + "AWS_CloudFront_Function": { "type": "object", - "markdownDescription": "Specifies an Amazon Elastic Block Store (Amazon EBS) volume.\n When you use CFNlong to update an Amazon EBS volume that modifies ``Iops``, ``Size``, or ``VolumeType``, there is a cooldown period before another operation can occur. This can cause your stack to report being in ``UPDATE_IN_PROGRESS`` or ``UPDATE_ROLLBACK_IN_PROGRESS`` for long periods of time.\n Amazon EBS does not support sizing down an Amazon EBS volume. CFNlong does not attempt to modify an Amazon EBS volume to a smaller size on rollback.\n Some common scenarios when you might encounter a cooldown period for Amazon EBS include:\n + You successfully update an Amazon EBS volume and the update succeeds. When you attempt another update within the cooldown window, that update will be subject to a cooldown period.\n + You successfully update an Amazon EBS volume and the update succeeds but another change in your ``update-stack`` call fails. The rollback will be subject to a cooldown period.\n \n For more information, see [Requirements for EBS volume modifications](https://docs.aws.amazon.com/ebs/latest/userguide/modify-volume-requirements.html).\n *DeletionPolicy attribute* \n To control how CFNlong handles the volume when the stack is deleted, set a deletion policy for your volume. You can choose to retain the volume, to delete the volume, or to create a snapshot of the volume. For more information, see [DeletionPolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).\n If you set a deletion policy that creates a snapshot, all tags on the volume are included in the snapshot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html)", + "markdownDescription": "Creates a CF function.\n To create a function, you provide the function code and some configuration information about the function. The response contains an Amazon Resource Name (ARN) that uniquely identifies the function, and the function\u2019s stage.\n By default, when you create a function, it\u2019s in the ``DEVELOPMENT`` stage. In this stage, you can [test the function](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/test-function.html) in the CF console (or with ``TestFunction`` in the CF API).\n When you\u2019re ready to use your function with a CF distribution, publish the function to the ``LIVE`` stage. You can do this in the CF console, with ``PublishFunction`` in the CF API, or by updating the ``AWS::CloudFront::Function`` resource with the ``AutoPublish`` property set to ``true``. When the function is published to the ``LIVE`` stage, you can attach it to a distribution\u2019s cache behavior, using the function\u2019s ARN.\n To automatically publish the function to the ``LIVE`` stage when it\u2019s created, set the ``AutoPublish`` property to ``true``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-function.html)", "allOf": [ { "type": "object", @@ -29430,14 +29181,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::Volume" + "AWS::CloudFront::Function" ], "markdownEnumDescriptions": [ - "Specifies an Amazon Elastic Block Store (Amazon EBS) volume.\n When you use CFNlong to update an Amazon EBS volume that modifies ``Iops``, ``Size``, or ``VolumeType``, there is a cooldown period before another operation can occur. This can cause your stack to report being in ``UPDATE_IN_PROGRESS`` or ``UPDATE_ROLLBACK_IN_PROGRESS`` for long periods of time.\n Amazon EBS does not support sizing down an Amazon EBS volume. CFNlong does not attempt to modify an Amazon EBS volume to a smaller size on rollback.\n Some common scenarios when you might encounter a cooldown period for Amazon EBS include:\n + You successfully update an Amazon EBS volume and the update succeeds. When you attempt another update within the cooldown window, that update will be subject to a cooldown period.\n + You successfully update an Amazon EBS volume and the update succeeds but another change in your ``update-stack`` call fails. The rollback will be subject to a cooldown period.\n \n For more information, see [Requirements for EBS volume modifications](https://docs.aws.amazon.com/ebs/latest/userguide/modify-volume-requirements.html).\n *DeletionPolicy attribute* \n To control how CFNlong handles the volume when the stack is deleted, set a deletion policy for your volume. You can choose to retain the volume, to delete the volume, or to create a snapshot of the volume. For more information, see [DeletionPolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).\n If you set a deletion policy that creates a snapshot, all tags on the volume are included in the snapshot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html)" + "Creates a CF function.\n To create a function, you provide the function code and some configuration information about the function. The response contains an Amazon Resource Name (ARN) that uniquely identifies the function, and the function\u2019s stage.\n By default, when you create a function, it\u2019s in the ``DEVELOPMENT`` stage. In this stage, you can [test the function](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/test-function.html) in the CF console (or with ``TestFunction`` in the CF API).\n When you\u2019re ready to use your function with a CF distribution, publish the function to the ``LIVE`` stage. You can do this in the CF console, with ``PublishFunction`` in the CF API, or by updating the ``AWS::CloudFront::Function`` resource with the ``AutoPublish`` property set to ``true``. When the function is published to the ``LIVE`` stage, you can attach it to a distribution\u2019s cache behavior, using the function\u2019s ARN.\n To automatically publish the function to the ``LIVE`` stage when it\u2019s created, set the ``AutoPublish`` property to ``true``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-function.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-volume.json" + "$ref": "resources/aws-cloudfront-function.json" } }, "required": [ @@ -29451,9 +29202,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VerifiedAccessGroup": { + "AWS_Panorama_Package": { "type": "object", - "markdownDescription": "The AWS::EC2::VerifiedAccessGroup resource creates an AWS EC2 Verified Access Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessgroup.html)", + "markdownDescription": "Creates a package and storage location in an Amazon S3 access point. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-package.html)", "allOf": [ { "type": "object", @@ -29461,14 +29212,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VerifiedAccessGroup" + "AWS::Panorama::Package" ], "markdownEnumDescriptions": [ - "The AWS::EC2::VerifiedAccessGroup resource creates an AWS EC2 Verified Access Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessgroup.html)" + "Creates a package and storage location in an Amazon S3 access point. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-package.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-verifiedaccessgroup.json" + "$ref": "resources/aws-panorama-package.json" } }, "required": [ @@ -29482,9 +29233,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_KeyGroup": { + "AWS_ResilienceHub_ResiliencyPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::KeyGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keygroup.html)", + "markdownDescription": "Resource Type Definition for Resiliency Policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-resiliencypolicy.html)", "allOf": [ { "type": "object", @@ -29492,14 +29243,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::KeyGroup" + "AWS::ResilienceHub::ResiliencyPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::KeyGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keygroup.html)" + "Resource Type Definition for Resiliency Policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-resiliencypolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-keygroup.json" + "$ref": "resources/aws-resiliencehub-resiliencypolicy.json" } }, "required": [ @@ -29513,9 +29264,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancingV2_TargetGroup": { + "AWS_MediaTailor_SourceLocation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElasticLoadBalancingV2::TargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html)", + "markdownDescription": "Definition of AWS::MediaTailor::SourceLocation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-sourcelocation.html)", "allOf": [ { "type": "object", @@ -29523,18 +29274,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancingV2::TargetGroup" + "AWS::MediaTailor::SourceLocation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticLoadBalancingV2::TargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html)" + "Definition of AWS::MediaTailor::SourceLocation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-sourcelocation.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticloadbalancingv2-targetgroup.json" + "$ref": "resources/aws-mediatailor-sourcelocation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -29543,9 +29295,9 @@ ], "additionalProperties": false }, - "AWS_IAM_SAMLProvider": { + "AWS_S3_AccessGrantsInstance": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IAM::SAMLProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-samlprovider.html)", + "markdownDescription": "The AWS::S3::AccessGrantsInstance resource is an Amazon S3 resource type that hosts Access Grants and their associated locations \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantsinstance.html)", "allOf": [ { "type": "object", @@ -29553,19 +29305,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::SAMLProvider" + "AWS::S3::AccessGrantsInstance" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IAM::SAMLProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-samlprovider.html)" + "The AWS::S3::AccessGrantsInstance resource is an Amazon S3 resource type that hosts Access Grants and their associated locations \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantsinstance.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-samlprovider.json" + "$ref": "resources/aws-s3-accessgrantsinstance.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -29574,9 +29325,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_MonitoringSubscription": { + "AWS_RDS_DBProxyEndpoint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::MonitoringSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-monitoringsubscription.html)", + "markdownDescription": "Resource schema for AWS::RDS::DBProxyEndpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxyendpoint.html)", "allOf": [ { "type": "object", @@ -29584,14 +29335,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::MonitoringSubscription" + "AWS::RDS::DBProxyEndpoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::MonitoringSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-monitoringsubscription.html)" + "Resource schema for AWS::RDS::DBProxyEndpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxyendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-monitoringsubscription.json" + "$ref": "resources/aws-rds-dbproxyendpoint.json" } }, "required": [ @@ -29605,9 +29356,9 @@ ], "additionalProperties": false }, - "AWS_RDS_CustomDBEngineVersion": { + "AWS_EC2_NatGateway": { "type": "object", - "markdownDescription": "The AWS::RDS::CustomDBEngineVersion resource creates an Amazon RDS custom DB engine version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html)", + "markdownDescription": "Specifies a network address translation (NAT) gateway in the specified subnet. You can create either a public NAT gateway or a private NAT gateway. The default is a public NAT gateway. If you create a public NAT gateway, you must specify an elastic IP address.\n With a NAT gateway, instances in a private subnet can connect to the internet, other AWS services, or an on-premises network using the IP address of the NAT gateway. For more information, see [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) in the *Amazon VPC User Guide*.\n If you add a default route (``AWS::EC2::Route`` resource) that points to a NAT gateway, specify the NAT gateway ID for the route's ``NatGatewayId`` property.\n When you associate an Elastic IP address or secondary Elastic IP address with a public NAT gateway, the network border group of the Elastic IP address must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. Otherwise, the NAT gateway fails to launch. You can see the network border group for the AZ by viewing the details of the subnet. Similarly, you can view the network border group for the Elastic IP address by viewing its details. For more information, see [Allocate an Elastic IP address](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#allocate-eip) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html)", "allOf": [ { "type": "object", @@ -29615,14 +29366,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::CustomDBEngineVersion" + "AWS::EC2::NatGateway" ], "markdownEnumDescriptions": [ - "The AWS::RDS::CustomDBEngineVersion resource creates an Amazon RDS custom DB engine version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html)" + "Specifies a network address translation (NAT) gateway in the specified subnet. You can create either a public NAT gateway or a private NAT gateway. The default is a public NAT gateway. If you create a public NAT gateway, you must specify an elastic IP address.\n With a NAT gateway, instances in a private subnet can connect to the internet, other AWS services, or an on-premises network using the IP address of the NAT gateway. For more information, see [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) in the *Amazon VPC User Guide*.\n If you add a default route (``AWS::EC2::Route`` resource) that points to a NAT gateway, specify the NAT gateway ID for the route's ``NatGatewayId`` property.\n When you associate an Elastic IP address or secondary Elastic IP address with a public NAT gateway, the network border group of the Elastic IP address must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. Otherwise, the NAT gateway fails to launch. You can see the network border group for the AZ by viewing the details of the subnet. Similarly, you can view the network border group for the Elastic IP address by viewing its details. For more information, see [Allocate an Elastic IP address](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#allocate-eip) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-customdbengineversion.json" + "$ref": "resources/aws-ec2-natgateway.json" } }, "required": [ @@ -29636,9 +29387,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_SubscriptionDefinitionVersion": { + "AWS_S3_MultiRegionAccessPointPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::SubscriptionDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html)", + "markdownDescription": "The policy to be attached to a Multi Region Access Point \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html)", "allOf": [ { "type": "object", @@ -29646,14 +29397,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::SubscriptionDefinitionVersion" + "AWS::S3::MultiRegionAccessPointPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::SubscriptionDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html)" + "The policy to be attached to a Multi Region Access Point \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-subscriptiondefinitionversion.json" + "$ref": "resources/aws-s3-multiregionaccesspointpolicy.json" } }, "required": [ @@ -29667,9 +29418,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_Api": { + "AWS_ServiceCatalog_ResourceUpdateConstraint": { "type": "object", - "markdownDescription": "The ``AWS::ApiGatewayV2::Api`` resource creates an API. WebSocket APIs and HTTP APIs are supported. For more information about WebSocket APIs, see [About WebSocket APIs in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-overview.html) in the *API Gateway Developer Guide*. For more information about HTTP APIs, see [HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html) in the *API Gateway Developer Guide.* \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::ResourceUpdateConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-resourceupdateconstraint.html)", "allOf": [ { "type": "object", @@ -29677,18 +29428,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::Api" + "AWS::ServiceCatalog::ResourceUpdateConstraint" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGatewayV2::Api`` resource creates an API. WebSocket APIs and HTTP APIs are supported. For more information about WebSocket APIs, see [About WebSocket APIs in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-overview.html) in the *API Gateway Developer Guide*. For more information about HTTP APIs, see [HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html) in the *API Gateway Developer Guide.* \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html)" + "Resource Type definition for AWS::ServiceCatalog::ResourceUpdateConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-resourceupdateconstraint.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-api.json" + "$ref": "resources/aws-servicecatalog-resourceupdateconstraint.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -29697,9 +29449,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_ResolverDNSSECConfig": { + "AWS_ApiGatewayV2_Route": { "type": "object", - "markdownDescription": "Resource schema for AWS::Route53Resolver::ResolverDNSSECConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverdnssecconfig.html)", + "markdownDescription": "The ``AWS::ApiGatewayV2::Route`` resource creates a route for an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html)", "allOf": [ { "type": "object", @@ -29707,18 +29459,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::ResolverDNSSECConfig" + "AWS::ApiGatewayV2::Route" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::ResolverDNSSECConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverdnssecconfig.html)" + "The ``AWS::ApiGatewayV2::Route`` resource creates a route for an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-resolverdnssecconfig.json" + "$ref": "resources/aws-apigatewayv2-route.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -29727,9 +29480,9 @@ ], "additionalProperties": false }, - "AWS_PinpointEmail_Identity": { + "AWS_Lightsail_StaticIp": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::PinpointEmail::Identity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::StaticIp \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-staticip.html)", "allOf": [ { "type": "object", @@ -29737,14 +29490,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PinpointEmail::Identity" + "AWS::Lightsail::StaticIp" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::PinpointEmail::Identity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.html)" + "Resource Type definition for AWS::Lightsail::StaticIp \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-staticip.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpointemail-identity.json" + "$ref": "resources/aws-lightsail-staticip.json" } }, "required": [ @@ -29758,9 +29511,9 @@ ], "additionalProperties": false }, - "AWS_CodePipeline_CustomActionType": { + "AWS_WAFv2_RuleGroup": { "type": "object", - "markdownDescription": "The AWS::CodePipeline::CustomActionType resource creates a custom action for activities that aren't included in the CodePipeline default actions, such as running an internally developed build process or a test suite. You can use these custom actions in the stage of a pipeline. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html)", + "markdownDescription": "Contains the Rules that identify the requests that you want to allow, block, or count. In a RuleGroup, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a RuleGroup, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the RuleGroup with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a RuleGroup, a request needs to match only one of the specifications to be allowed, blocked, or counted. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html)", "allOf": [ { "type": "object", @@ -29768,14 +29521,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodePipeline::CustomActionType" + "AWS::WAFv2::RuleGroup" ], "markdownEnumDescriptions": [ - "The AWS::CodePipeline::CustomActionType resource creates a custom action for activities that aren't included in the CodePipeline default actions, such as running an internally developed build process or a test suite. You can use these custom actions in the stage of a pipeline. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html)" + "Contains the Rules that identify the requests that you want to allow, block, or count. In a RuleGroup, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a RuleGroup, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the RuleGroup with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a RuleGroup, a request needs to match only one of the specifications to be allowed, blocked, or counted. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html)" ] }, "Properties": { - "$ref": "resources/aws-codepipeline-customactiontype.json" + "$ref": "resources/aws-wafv2-rulegroup.json" } }, "required": [ @@ -29789,9 +29542,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_BasePathMapping": { + "AWS_EC2_SubnetCidrBlock": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::BasePathMapping`` resource creates a base path that clients who call your API must use in the invocation URL. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html)", + "markdownDescription": "The AWS::EC2::SubnetCidrBlock resource creates association between subnet and IPv6 CIDR \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html)", "allOf": [ { "type": "object", @@ -29799,14 +29552,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::BasePathMapping" + "AWS::EC2::SubnetCidrBlock" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::BasePathMapping`` resource creates a base path that clients who call your API must use in the invocation URL. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html)" + "The AWS::EC2::SubnetCidrBlock resource creates association between subnet and IPv6 CIDR \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-basepathmapping.json" + "$ref": "resources/aws-ec2-subnetcidrblock.json" } }, "required": [ @@ -29820,9 +29573,9 @@ ], "additionalProperties": false }, - "AWS_SSM_PatchBaseline": { + "AWS_CleanRooms_PrivacyBudgetTemplate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SSM::PatchBaseline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html)", + "markdownDescription": "Represents a privacy budget within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-privacybudgettemplate.html)", "allOf": [ { "type": "object", @@ -29830,14 +29583,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::PatchBaseline" + "AWS::CleanRooms::PrivacyBudgetTemplate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSM::PatchBaseline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html)" + "Represents a privacy budget within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-privacybudgettemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-ssm-patchbaseline.json" + "$ref": "resources/aws-cleanrooms-privacybudgettemplate.json" } }, "required": [ @@ -29851,9 +29604,9 @@ ], "additionalProperties": false }, - "AWS_Connect_Prompt": { + "AWS_BillingConductor_CustomLineItem": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::Prompt \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-prompt.html)", + "markdownDescription": "A custom line item is an one time charge that is applied to a specific billing group's bill. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-customlineitem.html)", "allOf": [ { "type": "object", @@ -29861,14 +29614,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::Prompt" + "AWS::BillingConductor::CustomLineItem" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::Prompt \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-prompt.html)" + "A custom line item is an one time charge that is applied to a specific billing group's bill. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-customlineitem.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-prompt.json" + "$ref": "resources/aws-billingconductor-customlineitem.json" } }, "required": [ @@ -29882,9 +29635,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_CustomResource": { + "AWS_Wisdom_MessageTemplateVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFormation::CustomResource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-customresource.html)", + "markdownDescription": "A version for the specified customer-managed message template within the specified knowledge base. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-messagetemplateversion.html)", "allOf": [ { "type": "object", @@ -29892,14 +29645,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::CustomResource" + "AWS::Wisdom::MessageTemplateVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFormation::CustomResource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-customresource.html)" + "A version for the specified customer-managed message template within the specified knowledge base. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-messagetemplateversion.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-customresource.json" + "$ref": "resources/aws-wisdom-messagetemplateversion.json" } }, "required": [ @@ -29913,9 +29666,9 @@ ], "additionalProperties": false }, - "AWS_EMR_InstanceGroupConfig": { + "AWS_DataSync_LocationObjectStorage": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EMR::InstanceGroupConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationObjectStorage. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html)", "allOf": [ { "type": "object", @@ -29923,14 +29676,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::InstanceGroupConfig" + "AWS::DataSync::LocationObjectStorage" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EMR::InstanceGroupConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html)" + "Resource schema for AWS::DataSync::LocationObjectStorage. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html)" ] }, "Properties": { - "$ref": "resources/aws-emr-instancegroupconfig.json" + "$ref": "resources/aws-datasync-locationobjectstorage.json" } }, "required": [ @@ -29944,9 +29697,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancingV2_TrustStoreRevocation": { + "AWS_SSM_Association": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElasticLoadBalancingV2::TrustStoreRevocation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststorerevocation.html)", + "markdownDescription": "The AWS::SSM::Association resource associates an SSM document in AWS Systems Manager with EC2 instances that contain a configuration agent to process the document. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html)", "allOf": [ { "type": "object", @@ -29954,18 +29707,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancingV2::TrustStoreRevocation" + "AWS::SSM::Association" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticLoadBalancingV2::TrustStoreRevocation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststorerevocation.html)" + "The AWS::SSM::Association resource associates an SSM document in AWS Systems Manager with EC2 instances that contain a configuration agent to process the document. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticloadbalancingv2-truststorerevocation.json" + "$ref": "resources/aws-ssm-association.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -29974,9 +29728,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancingV2_TrustStore": { + "AWS_IoT_Authorizer": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElasticLoadBalancingV2::TrustStore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststore.html)", + "markdownDescription": "Creates an authorizer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html)", "allOf": [ { "type": "object", @@ -29984,18 +29738,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancingV2::TrustStore" + "AWS::IoT::Authorizer" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticLoadBalancingV2::TrustStore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststore.html)" + "Creates an authorizer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticloadbalancingv2-truststore.json" + "$ref": "resources/aws-iot-authorizer.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30004,9 +29759,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_GroupVersion": { + "AWS_WAF_XssMatchSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::GroupVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html)", + "markdownDescription": "Resource Type definition for AWS::WAF::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-xssmatchset.html)", "allOf": [ { "type": "object", @@ -30014,14 +29769,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::GroupVersion" + "AWS::WAF::XssMatchSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::GroupVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html)" + "Resource Type definition for AWS::WAF::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-xssmatchset.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-groupversion.json" + "$ref": "resources/aws-waf-xssmatchset.json" } }, "required": [ @@ -30035,9 +29790,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackageV2_OriginEndpointPolicy": { + "AWS_AppMesh_Mesh": { "type": "object", - "markdownDescription": "

Represents a resource policy that allows or denies access to an origin endpoint.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-originendpointpolicy.html)", + "markdownDescription": "Resource Type definition for AWS::AppMesh::Mesh \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html)", "allOf": [ { "type": "object", @@ -30045,19 +29800,18 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackageV2::OriginEndpointPolicy" + "AWS::AppMesh::Mesh" ], "markdownEnumDescriptions": [ - "

Represents a resource policy that allows or denies access to an origin endpoint.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-originendpointpolicy.html)" + "Resource Type definition for AWS::AppMesh::Mesh \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackagev2-originendpointpolicy.json" + "$ref": "resources/aws-appmesh-mesh.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -30066,9 +29820,9 @@ ], "additionalProperties": false }, - "AWS_CodeGuruProfiler_ProfilingGroup": { + "AWS_VpcLattice_Listener": { "type": "object", - "markdownDescription": "This resource schema represents the Profiling Group resource in the Amazon CodeGuru Profiler service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html)", + "markdownDescription": "Creates a listener for a service. Before you start using your Amazon VPC Lattice service, you must add one or more listeners. A listener is a process that checks for connection requests to your services. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-listener.html)", "allOf": [ { "type": "object", @@ -30076,14 +29830,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeGuruProfiler::ProfilingGroup" + "AWS::VpcLattice::Listener" ], "markdownEnumDescriptions": [ - "This resource schema represents the Profiling Group resource in the Amazon CodeGuru Profiler service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html)" + "Creates a listener for a service. Before you start using your Amazon VPC Lattice service, you must add one or more listeners. A listener is a process that checks for connection requests to your services. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-listener.html)" ] }, "Properties": { - "$ref": "resources/aws-codeguruprofiler-profilinggroup.json" + "$ref": "resources/aws-vpclattice-listener.json" } }, "required": [ @@ -30097,9 +29851,9 @@ ], "additionalProperties": false }, - "AWS_ElasticBeanstalk_Environment": { + "AWS_ECS_Service": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElasticBeanstalk::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-environment.html)", + "markdownDescription": "The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers.\n The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace.\n Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html)", "allOf": [ { "type": "object", @@ -30107,19 +29861,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticBeanstalk::Environment" + "AWS::ECS::Service" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticBeanstalk::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-environment.html)" + "The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers.\n The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace.\n Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticbeanstalk-environment.json" + "$ref": "resources/aws-ecs-service.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -30128,9 +29881,9 @@ ], "additionalProperties": false }, - "AWS_KinesisFirehose_DeliveryStream": { + "AWS_AppSync_GraphQLApi": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::KinesisFirehose::DeliveryStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html)", + "markdownDescription": "Resource Type definition for AWS::AppSync::GraphQLApi \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html)", "allOf": [ { "type": "object", @@ -30138,18 +29891,19 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisFirehose::DeliveryStream" + "AWS::AppSync::GraphQLApi" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KinesisFirehose::DeliveryStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html)" + "Resource Type definition for AWS::AppSync::GraphQLApi \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisfirehose-deliverystream.json" + "$ref": "resources/aws-appsync-graphqlapi.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30158,9 +29912,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_CoreDefinition": { + "AWS_CloudTrail_Trail": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::CoreDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html)", + "markdownDescription": "Creates a trail that specifies the settings for delivery of log data to an Amazon S3 bucket. A maximum of five trails can exist in a region, irrespective of the region in which they were created. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html)", "allOf": [ { "type": "object", @@ -30168,14 +29922,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::CoreDefinition" + "AWS::CloudTrail::Trail" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::CoreDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html)" + "Creates a trail that specifies the settings for delivery of log data to an Amazon S3 bucket. A maximum of five trails can exist in a region, irrespective of the region in which they were created. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-coredefinition.json" + "$ref": "resources/aws-cloudtrail-trail.json" } }, "required": [ @@ -30189,9 +29943,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_GlobalNetwork": { + "AWS_SecurityHub_AutomationRule": { "type": "object", - "markdownDescription": "The AWS::NetworkManager::GlobalNetwork type specifies a global network of the user's account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html)", + "markdownDescription": "The ``AWS::SecurityHub::AutomationRule`` resource specifies an automation rule based on input parameters. For more information, see [Automation rules](https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrule.html)", "allOf": [ { "type": "object", @@ -30199,18 +29953,19 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::GlobalNetwork" + "AWS::SecurityHub::AutomationRule" ], "markdownEnumDescriptions": [ - "The AWS::NetworkManager::GlobalNetwork type specifies a global network of the user's account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html)" + "The ``AWS::SecurityHub::AutomationRule`` resource specifies an automation rule based on input parameters. For more information, see [Automation rules](https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrule.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-globalnetwork.json" + "$ref": "resources/aws-securityhub-automationrule.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30219,9 +29974,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_Topic": { + "AWS_EC2_LaunchTemplate": { "type": "object", - "markdownDescription": "Definition of the AWS::QuickSight::Topic Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-topic.html)", + "markdownDescription": "Specifies the properties for creating a launch template.\n The minimum required properties for specifying a launch template are as follows:\n + You must specify at least one property for the launch template data.\n + You can optionally specify a name for the launch template. If you do not specify a name, CFN creates a name for you.\n \n A launch template can contain some or all of the configuration information to launch an instance. When you launch an instance using a launch template, instance properties that are not specified in the launch template use default values, except the ``ImageId`` property, which has no default value. If you do not specify an AMI ID for the launch template ``ImageId`` property, you must specify an AMI ID for the instance ``ImageId`` property.\n For more information, see [Launch an instance from a launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) in the *Amazon EC2 User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html)", "allOf": [ { "type": "object", @@ -30229,18 +29984,19 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::Topic" + "AWS::EC2::LaunchTemplate" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::Topic Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-topic.html)" + "Specifies the properties for creating a launch template.\n The minimum required properties for specifying a launch template are as follows:\n + You must specify at least one property for the launch template data.\n + You can optionally specify a name for the launch template. If you do not specify a name, CFN creates a name for you.\n \n A launch template can contain some or all of the configuration information to launch an instance. When you launch an instance using a launch template, instance properties that are not specified in the launch template use default values, except the ``ImageId`` property, which has no default value. If you do not specify an AMI ID for the launch template ``ImageId`` property, you must specify an AMI ID for the instance ``ImageId`` property.\n For more information, see [Launch an instance from a launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) in the *Amazon EC2 User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-quicksight-topic.json" + "$ref": "resources/aws-ec2-launchtemplate.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30249,9 +30005,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_ResolverEndpoint": { + "AWS_GreengrassV2_Deployment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Route53Resolver::ResolverEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html)", + "markdownDescription": "Resource for Greengrass V2 deployment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.html)", "allOf": [ { "type": "object", @@ -30259,14 +30015,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::ResolverEndpoint" + "AWS::GreengrassV2::Deployment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Route53Resolver::ResolverEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html)" + "Resource for Greengrass V2 deployment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-resolverendpoint.json" + "$ref": "resources/aws-greengrassv2-deployment.json" } }, "required": [ @@ -30280,9 +30036,9 @@ ], "additionalProperties": false }, - "AWS_KinesisVideo_SignalingChannel": { + "AWS_Logs_MetricFilter": { "type": "object", - "markdownDescription": "Resource Type Definition for AWS::KinesisVideo::SignalingChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-signalingchannel.html)", + "markdownDescription": "The ``AWS::Logs::MetricFilter`` resource specifies a metric filter that describes how CWL extracts information from logs and transforms it into Amazon CloudWatch metrics. If you have multiple metric filters that are associated with a log group, all the filters are applied to the log streams in that group.\n The maximum number of metric filters that can be associated with a log group is 100. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html)", "allOf": [ { "type": "object", @@ -30290,18 +30046,19 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisVideo::SignalingChannel" + "AWS::Logs::MetricFilter" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::KinesisVideo::SignalingChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-signalingchannel.html)" + "The ``AWS::Logs::MetricFilter`` resource specifies a metric filter that describes how CWL extracts information from logs and transforms it into Amazon CloudWatch metrics. If you have multiple metric filters that are associated with a log group, all the filters are applied to the log streams in that group.\n The maximum number of metric filters that can be associated with a log group is 100. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisvideo-signalingchannel.json" + "$ref": "resources/aws-logs-metricfilter.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30310,9 +30067,9 @@ ], "additionalProperties": false }, - "AWS_IAM_ServerCertificate": { + "AWS_MediaLive_Multiplexprogram": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IAM::ServerCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servercertificate.html)", + "markdownDescription": "Resource schema for AWS::MediaLive::Multiplexprogram \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-multiplexprogram.html)", "allOf": [ { "type": "object", @@ -30320,14 +30077,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::ServerCertificate" + "AWS::MediaLive::Multiplexprogram" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IAM::ServerCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servercertificate.html)" + "Resource schema for AWS::MediaLive::Multiplexprogram \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-multiplexprogram.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-servercertificate.json" + "$ref": "resources/aws-medialive-multiplexprogram.json" } }, "required": [ @@ -30340,9 +30097,9 @@ ], "additionalProperties": false }, - "AWS_SES_ReceiptRule": { + "AWS_IoTSiteWise_AssetModel": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SES::ReceiptRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptrule.html)", + "markdownDescription": "Resource schema for AWS::IoTSiteWise::AssetModel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-assetmodel.html)", "allOf": [ { "type": "object", @@ -30350,14 +30107,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::ReceiptRule" + "AWS::IoTSiteWise::AssetModel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SES::ReceiptRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptrule.html)" + "Resource schema for AWS::IoTSiteWise::AssetModel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-assetmodel.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-receiptrule.json" + "$ref": "resources/aws-iotsitewise-assetmodel.json" } }, "required": [ @@ -30371,9 +30128,9 @@ ], "additionalProperties": false }, - "AWS_Comprehend_Flywheel": { + "AWS_EMRServerless_Application": { "type": "object", - "markdownDescription": "The AWS::Comprehend::Flywheel resource creates an Amazon Comprehend Flywheel that enables customer to train their model. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-comprehend-flywheel.html)", + "markdownDescription": "Resource schema for AWS::EMRServerless::Application Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html)", "allOf": [ { "type": "object", @@ -30381,14 +30138,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Comprehend::Flywheel" + "AWS::EMRServerless::Application" ], "markdownEnumDescriptions": [ - "The AWS::Comprehend::Flywheel resource creates an Amazon Comprehend Flywheel that enables customer to train their model. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-comprehend-flywheel.html)" + "Resource schema for AWS::EMRServerless::Application Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html)" ] }, "Properties": { - "$ref": "resources/aws-comprehend-flywheel.json" + "$ref": "resources/aws-emrserverless-application.json" } }, "required": [ @@ -30402,9 +30159,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorks_Instance": { + "AWS_CodeArtifact_Domain": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::OpsWorks::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html)", + "markdownDescription": "The resource schema to create a CodeArtifact domain. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html)", "allOf": [ { "type": "object", @@ -30412,14 +30169,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorks::Instance" + "AWS::CodeArtifact::Domain" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorks::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html)" + "The resource schema to create a CodeArtifact domain. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html)" ] }, "Properties": { - "$ref": "resources/aws-opsworks-instance.json" + "$ref": "resources/aws-codeartifact-domain.json" } }, "required": [ @@ -30433,9 +30190,9 @@ ], "additionalProperties": false }, - "AWS_StepFunctions_StateMachine": { + "AWS_OpsWorks_Layer": { "type": "object", - "markdownDescription": "Resource schema for StateMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html)", + "markdownDescription": "Resource Type definition for AWS::OpsWorks::Layer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html)", "allOf": [ { "type": "object", @@ -30443,14 +30200,14 @@ "Type": { "type": "string", "enum": [ - "AWS::StepFunctions::StateMachine" + "AWS::OpsWorks::Layer" ], "markdownEnumDescriptions": [ - "Resource schema for StateMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html)" + "Resource Type definition for AWS::OpsWorks::Layer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html)" ] }, "Properties": { - "$ref": "resources/aws-stepfunctions-statemachine.json" + "$ref": "resources/aws-opsworks-layer.json" } }, "required": [ @@ -30464,9 +30221,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_ServiceAction": { + "AWS_Connect_QuickConnect": { "type": "object", - "markdownDescription": "Resource Schema for AWS::ServiceCatalog::ServiceAction \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceaction.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::QuickConnect \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-quickconnect.html)", "allOf": [ { "type": "object", @@ -30474,14 +30231,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::ServiceAction" + "AWS::Connect::QuickConnect" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::ServiceCatalog::ServiceAction \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceaction.html)" + "Resource Type definition for AWS::Connect::QuickConnect \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-quickconnect.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-serviceaction.json" + "$ref": "resources/aws-connect-quickconnect.json" } }, "required": [ @@ -30495,9 +30252,9 @@ ], "additionalProperties": false }, - "AWS_LicenseManager_Grant": { + "AWS_CloudFormation_Macro": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-grant.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFormation::Macro \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html)", "allOf": [ { "type": "object", @@ -30505,18 +30262,19 @@ "Type": { "type": "string", "enum": [ - "AWS::LicenseManager::Grant" + "AWS::CloudFormation::Macro" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-grant.html)" + "Resource Type definition for AWS::CloudFormation::Macro \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html)" ] }, "Properties": { - "$ref": "resources/aws-licensemanager-grant.json" + "$ref": "resources/aws-cloudformation-macro.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30525,9 +30283,9 @@ ], "additionalProperties": false }, - "AWS_MemoryDB_Cluster": { + "AWS_EC2_TransitGatewayVpcAttachment": { "type": "object", - "markdownDescription": "The AWS::MemoryDB::Cluster resource creates an Amazon MemoryDB Cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::TransitGatewayVpcAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayvpcattachment.html)", "allOf": [ { "type": "object", @@ -30535,14 +30293,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MemoryDB::Cluster" + "AWS::EC2::TransitGatewayVpcAttachment" ], "markdownEnumDescriptions": [ - "The AWS::MemoryDB::Cluster resource creates an Amazon MemoryDB Cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html)" + "Resource Type definition for AWS::EC2::TransitGatewayVpcAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayvpcattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-memorydb-cluster.json" + "$ref": "resources/aws-ec2-transitgatewayvpcattachment.json" } }, "required": [ @@ -30556,9 +30314,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Model": { + "AWS_EntityResolution_PolicyStatement": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::Model \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html)", + "markdownDescription": "Policy Statement defined in AWS Entity Resolution Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-policystatement.html)", "allOf": [ { "type": "object", @@ -30566,18 +30324,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Model" + "AWS::EntityResolution::PolicyStatement" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Model \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html)" + "Policy Statement defined in AWS Entity Resolution Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-policystatement.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-model.json" + "$ref": "resources/aws-entityresolution-policystatement.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30586,9 +30345,9 @@ ], "additionalProperties": false }, - "AWS_Transfer_Workflow": { + "AWS_DataZone_DataSource": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Transfer::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-workflow.html)", + "markdownDescription": "A data source is used to import technical metadata of assets (data) from the source databases or data warehouses into Amazon DataZone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-datasource.html)", "allOf": [ { "type": "object", @@ -30596,14 +30355,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Transfer::Workflow" + "AWS::DataZone::DataSource" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Transfer::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-workflow.html)" + "A data source is used to import technical metadata of assets (data) from the source databases or data warehouses into Amazon DataZone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-datasource.html)" ] }, "Properties": { - "$ref": "resources/aws-transfer-workflow.json" + "$ref": "resources/aws-datazone-datasource.json" } }, "required": [ @@ -30617,9 +30376,9 @@ ], "additionalProperties": false }, - "AWS_DirectoryService_MicrosoftAD": { + "AWS_Lightsail_Database": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DirectoryService::MicrosoftAD \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::Database \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-database.html)", "allOf": [ { "type": "object", @@ -30627,14 +30386,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DirectoryService::MicrosoftAD" + "AWS::Lightsail::Database" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DirectoryService::MicrosoftAD \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html)" + "Resource Type definition for AWS::Lightsail::Database \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-database.html)" ] }, "Properties": { - "$ref": "resources/aws-directoryservice-microsoftad.json" + "$ref": "resources/aws-lightsail-database.json" } }, "required": [ @@ -30648,9 +30407,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_FlowSource": { + "AWS_MediaLive_Cluster": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaConnect::FlowSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html)", + "markdownDescription": "Definition of AWS::MediaLive::Cluster Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cluster.html)", "allOf": [ { "type": "object", @@ -30658,19 +30417,18 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::FlowSource" + "AWS::MediaLive::Cluster" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::FlowSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html)" + "Definition of AWS::MediaLive::Cluster Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconnect-flowsource.json" + "$ref": "resources/aws-medialive-cluster.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -30679,9 +30437,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolResourceServer": { + "AWS_GameLift_GameSessionQueue": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolResourceServer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html)", + "markdownDescription": "The AWS::GameLift::GameSessionQueue resource creates an Amazon GameLift (GameLift) game session queue. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html)", "allOf": [ { "type": "object", @@ -30689,14 +30447,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolResourceServer" + "AWS::GameLift::GameSessionQueue" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolResourceServer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html)" + "The AWS::GameLift::GameSessionQueue resource creates an Amazon GameLift (GameLift) game session queue. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-userpoolresourceserver.json" + "$ref": "resources/aws-gamelift-gamesessionqueue.json" } }, "required": [ @@ -30710,9 +30468,9 @@ ], "additionalProperties": false }, - "AWS_Cassandra_Keyspace": { + "AWS_Route53RecoveryReadiness_ResourceSet": { "type": "object", - "markdownDescription": "Resource schema for AWS::Cassandra::Keyspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html)", + "markdownDescription": "Schema for the AWS Route53 Recovery Readiness ResourceSet Resource and API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-resourceset.html)", "allOf": [ { "type": "object", @@ -30720,18 +30478,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Cassandra::Keyspace" + "AWS::Route53RecoveryReadiness::ResourceSet" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Cassandra::Keyspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html)" + "Schema for the AWS Route53 Recovery Readiness ResourceSet Resource and API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-resourceset.html)" ] }, "Properties": { - "$ref": "resources/aws-cassandra-keyspace.json" + "$ref": "resources/aws-route53recoveryreadiness-resourceset.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30740,9 +30499,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VerifiedAccessTrustProvider": { + "AWS_CustomerProfiles_EventStream": { "type": "object", - "markdownDescription": "The AWS::EC2::VerifiedAccessTrustProvider type describes a verified access trust provider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccesstrustprovider.html)", + "markdownDescription": "An Event Stream resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventstream.html)", "allOf": [ { "type": "object", @@ -30750,14 +30509,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VerifiedAccessTrustProvider" + "AWS::CustomerProfiles::EventStream" ], "markdownEnumDescriptions": [ - "The AWS::EC2::VerifiedAccessTrustProvider type describes a verified access trust provider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccesstrustprovider.html)" + "An Event Stream resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventstream.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-verifiedaccesstrustprovider.json" + "$ref": "resources/aws-customerprofiles-eventstream.json" } }, "required": [ @@ -30771,9 +30530,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_Function": { + "AWS_IAM_Role": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::Function \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-function.html)", + "markdownDescription": "Creates a new role for your AWS-account.\n For more information about roles, see [IAM roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) in the *IAM User Guide*. For information about quotas for role names and the number of roles you can create, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html)", "allOf": [ { "type": "object", @@ -30781,14 +30540,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::Function" + "AWS::IAM::Role" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::Function \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-function.html)" + "Creates a new role for your AWS-account.\n For more information about roles, see [IAM roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) in the *IAM User Guide*. For information about quotas for role names and the number of roles you can create, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-function.json" + "$ref": "resources/aws-iam-role.json" } }, "required": [ @@ -30802,9 +30561,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_LogDeliveryConfiguration": { + "AWS_Deadline_Farm": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::LogDeliveryConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.html)", + "markdownDescription": "Definition of AWS::Deadline::Farm Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-farm.html)", "allOf": [ { "type": "object", @@ -30812,14 +30571,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::LogDeliveryConfiguration" + "AWS::Deadline::Farm" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::LogDeliveryConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.html)" + "Definition of AWS::Deadline::Farm Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-farm.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-logdeliveryconfiguration.json" + "$ref": "resources/aws-deadline-farm.json" } }, "required": [ @@ -30833,9 +30592,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryReadiness_ResourceSet": { + "AWS_EC2_TransitGatewayRouteTable": { "type": "object", - "markdownDescription": "Schema for the AWS Route53 Recovery Readiness ResourceSet Resource and API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-resourceset.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::TransitGatewayRouteTable \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetable.html)", "allOf": [ { "type": "object", @@ -30843,14 +30602,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryReadiness::ResourceSet" + "AWS::EC2::TransitGatewayRouteTable" ], "markdownEnumDescriptions": [ - "Schema for the AWS Route53 Recovery Readiness ResourceSet Resource and API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-resourceset.html)" + "Resource Type definition for AWS::EC2::TransitGatewayRouteTable \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetable.html)" ] }, "Properties": { - "$ref": "resources/aws-route53recoveryreadiness-resourceset.json" + "$ref": "resources/aws-ec2-transitgatewayroutetable.json" } }, "required": [ @@ -30864,9 +30623,9 @@ ], "additionalProperties": false }, - "AWS_S3Express_BucketPolicy": { + "AWS_KinesisVideo_Stream": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::S3Express::BucketPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-bucketpolicy.html)", + "markdownDescription": "Resource Type Definition for AWS::KinesisVideo::Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-stream.html)", "allOf": [ { "type": "object", @@ -30874,19 +30633,18 @@ "Type": { "type": "string", "enum": [ - "AWS::S3Express::BucketPolicy" + "AWS::KinesisVideo::Stream" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::S3Express::BucketPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-bucketpolicy.html)" + "Resource Type Definition for AWS::KinesisVideo::Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-stream.html)" ] }, "Properties": { - "$ref": "resources/aws-s3express-bucketpolicy.json" + "$ref": "resources/aws-kinesisvideo-stream.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -30895,9 +30653,9 @@ ], "additionalProperties": false }, - "AWS_CloudTrail_ResourcePolicy": { + "AWS_AppIntegrations_Application": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudTrail::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-resourcepolicy.html)", + "markdownDescription": "Resource Type definition for AWS:AppIntegrations::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html)", "allOf": [ { "type": "object", @@ -30905,14 +30663,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudTrail::ResourcePolicy" + "AWS::AppIntegrations::Application" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudTrail::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-resourcepolicy.html)" + "Resource Type definition for AWS:AppIntegrations::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudtrail-resourcepolicy.json" + "$ref": "resources/aws-appintegrations-application.json" } }, "required": [ @@ -30926,9 +30684,9 @@ ], "additionalProperties": false }, - "AWS_RedshiftServerless_Workgroup": { + "AWS_RolesAnywhere_TrustAnchor": { "type": "object", - "markdownDescription": "Definition of AWS::RedshiftServerless::Workgroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-workgroup.html)", + "markdownDescription": "Definition of AWS::RolesAnywhere::TrustAnchor Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-trustanchor.html)", "allOf": [ { "type": "object", @@ -30936,14 +30694,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RedshiftServerless::Workgroup" + "AWS::RolesAnywhere::TrustAnchor" ], "markdownEnumDescriptions": [ - "Definition of AWS::RedshiftServerless::Workgroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-workgroup.html)" + "Definition of AWS::RolesAnywhere::TrustAnchor Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-trustanchor.html)" ] }, "Properties": { - "$ref": "resources/aws-redshiftserverless-workgroup.json" + "$ref": "resources/aws-rolesanywhere-trustanchor.json" } }, "required": [ @@ -30957,9 +30715,9 @@ ], "additionalProperties": false }, - "AWS_VerifiedPermissions_Policy": { + "AWS_MediaPackageV2_ChannelPolicy": { "type": "object", - "markdownDescription": "Definition of AWS::VerifiedPermissions::Policy Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policy.html)", + "markdownDescription": "

Represents a resource-based policy that allows or denies access to a channel.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channelpolicy.html)", "allOf": [ { "type": "object", @@ -30967,14 +30725,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VerifiedPermissions::Policy" + "AWS::MediaPackageV2::ChannelPolicy" ], "markdownEnumDescriptions": [ - "Definition of AWS::VerifiedPermissions::Policy Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policy.html)" + "

Represents a resource-based policy that allows or denies access to a channel.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channelpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-verifiedpermissions-policy.json" + "$ref": "resources/aws-mediapackagev2-channelpolicy.json" } }, "required": [ @@ -30988,9 +30746,9 @@ ], "additionalProperties": false }, - "AWS_IoTAnalytics_Channel": { + "AWS_IAM_Group": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoTAnalytics::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.html)", + "markdownDescription": "Creates a new group.\n For information about the number of groups you can create, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-group.html)", "allOf": [ { "type": "object", @@ -30998,14 +30756,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTAnalytics::Channel" + "AWS::IAM::Group" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoTAnalytics::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.html)" + "Creates a new group.\n For information about the number of groups you can create, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-group.html)" ] }, "Properties": { - "$ref": "resources/aws-iotanalytics-channel.json" + "$ref": "resources/aws-iam-group.json" } }, "required": [ @@ -31018,9 +30776,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_Macro": { + "AWS_Greengrass_CoreDefinition": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFormation::Macro \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::CoreDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html)", "allOf": [ { "type": "object", @@ -31028,14 +30786,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::Macro" + "AWS::Greengrass::CoreDefinition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFormation::Macro \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html)" + "Resource Type definition for AWS::Greengrass::CoreDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-macro.json" + "$ref": "resources/aws-greengrass-coredefinition.json" } }, "required": [ @@ -31049,9 +30807,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_ResourceUpdateConstraint": { + "AWS_WAFv2_RegexPatternSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::ResourceUpdateConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-resourceupdateconstraint.html)", + "markdownDescription": "Contains a list of Regular expressions based on the provided inputs. RegexPatternSet can be used with other WAF entities with RegexPatternSetReferenceStatement to perform other actions . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-regexpatternset.html)", "allOf": [ { "type": "object", @@ -31059,14 +30817,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::ResourceUpdateConstraint" + "AWS::WAFv2::RegexPatternSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::ResourceUpdateConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-resourceupdateconstraint.html)" + "Contains a list of Regular expressions based on the provided inputs. RegexPatternSet can be used with other WAF entities with RegexPatternSetReferenceStatement to perform other actions . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-regexpatternset.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-resourceupdateconstraint.json" + "$ref": "resources/aws-wafv2-regexpatternset.json" } }, "required": [ @@ -31080,9 +30838,9 @@ ], "additionalProperties": false }, - "AWS_DirectoryService_SimpleAD": { + "AWS_Organizations_ResourcePolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DirectoryService::SimpleAD \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html)", + "markdownDescription": "You can use AWS::Organizations::ResourcePolicy to delegate policy management for AWS Organizations to specified member accounts to perform policy actions that are by default available only to the management account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-resourcepolicy.html)", "allOf": [ { "type": "object", @@ -31090,14 +30848,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DirectoryService::SimpleAD" + "AWS::Organizations::ResourcePolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DirectoryService::SimpleAD \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html)" + "You can use AWS::Organizations::ResourcePolicy to delegate policy management for AWS Organizations to specified member accounts to perform policy actions that are by default available only to the management account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-resourcepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-directoryservice-simplead.json" + "$ref": "resources/aws-organizations-resourcepolicy.json" } }, "required": [ @@ -31111,9 +30869,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_IdentityProvider": { + "AWS_Route53Resolver_ResolverRule": { "type": "object", - "markdownDescription": "Definition of AWS::WorkSpacesWeb::IdentityProvider Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-identityprovider.html)", + "markdownDescription": "Resource Type definition for AWS::Route53Resolver::ResolverRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html)", "allOf": [ { "type": "object", @@ -31121,14 +30879,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::IdentityProvider" + "AWS::Route53Resolver::ResolverRule" ], "markdownEnumDescriptions": [ - "Definition of AWS::WorkSpacesWeb::IdentityProvider Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-identityprovider.html)" + "Resource Type definition for AWS::Route53Resolver::ResolverRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html)" ] }, "Properties": { - "$ref": "resources/aws-workspacesweb-identityprovider.json" + "$ref": "resources/aws-route53resolver-resolverrule.json" } }, "required": [ @@ -31142,9 +30900,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_StaticIp": { + "AWS_EC2_NetworkInsightsAccessScope": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::StaticIp \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-staticip.html)", + "markdownDescription": "Resource schema for AWS::EC2::NetworkInsightsAccessScope \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscope.html)", "allOf": [ { "type": "object", @@ -31152,19 +30910,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::StaticIp" + "AWS::EC2::NetworkInsightsAccessScope" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::StaticIp \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-staticip.html)" + "Resource schema for AWS::EC2::NetworkInsightsAccessScope \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscope.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-staticip.json" + "$ref": "resources/aws-ec2-networkinsightsaccessscope.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -31173,9 +30930,9 @@ ], "additionalProperties": false }, - "AWS_EC2_EnclaveCertificateIamRoleAssociation": { + "AWS_IVS_PublicKey": { "type": "object", - "markdownDescription": "Associates an AWS Identity and Access Management (IAM) role with an AWS Certificate Manager (ACM) certificate. This association is based on Amazon Resource Names and it enables the certificate to be used by the ACM for Nitro Enclaves application inside an enclave. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-enclavecertificateiamroleassociation.html)", + "markdownDescription": "Resource Type definition for AWS::IVS::PublicKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-publickey.html)", "allOf": [ { "type": "object", @@ -31183,19 +30940,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::EnclaveCertificateIamRoleAssociation" + "AWS::IVS::PublicKey" ], "markdownEnumDescriptions": [ - "Associates an AWS Identity and Access Management (IAM) role with an AWS Certificate Manager (ACM) certificate. This association is based on Amazon Resource Names and it enables the certificate to be used by the ACM for Nitro Enclaves application inside an enclave. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-enclavecertificateiamroleassociation.html)" + "Resource Type definition for AWS::IVS::PublicKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-publickey.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-enclavecertificateiamroleassociation.json" + "$ref": "resources/aws-ivs-publickey.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -31204,9 +30960,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_Folder": { + "AWS_ControlTower_EnabledBaseline": { "type": "object", - "markdownDescription": "Definition of the AWS::QuickSight::Folder Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-folder.html)", + "markdownDescription": "Definition of AWS::ControlTower::EnabledBaseline Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledbaseline.html)", "allOf": [ { "type": "object", @@ -31214,18 +30970,19 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::Folder" + "AWS::ControlTower::EnabledBaseline" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::Folder Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-folder.html)" + "Definition of AWS::ControlTower::EnabledBaseline Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledbaseline.html)" ] }, "Properties": { - "$ref": "resources/aws-quicksight-folder.json" + "$ref": "resources/aws-controltower-enabledbaseline.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -31234,9 +30991,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VolumeAttachment": { + "AWS_SSMContacts_Plan": { "type": "object", - "markdownDescription": "Attaches an Amazon EBS volume to a running instance and exposes it to the instance with the specified device name.\n Before this resource can be deleted (and therefore the volume detached), you must first unmount the volume in the instance. Failure to do so results in the volume being stuck in the busy state while it is trying to detach, which could possibly damage the file system or the data it contains.\n If an Amazon EBS volume is the root device of an instance, it cannot be detached while the instance is in the \"running\" state. To detach the root volume, stop the instance first.\n If the root volume is detached from an instance with an MKT product code, then the product codes from that volume are no longer associated with the instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volumeattachment.html)", + "markdownDescription": "Engagement Plan for a SSM Incident Manager Contact. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-plan.html)", "allOf": [ { "type": "object", @@ -31244,19 +31001,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VolumeAttachment" + "AWS::SSMContacts::Plan" ], "markdownEnumDescriptions": [ - "Attaches an Amazon EBS volume to a running instance and exposes it to the instance with the specified device name.\n Before this resource can be deleted (and therefore the volume detached), you must first unmount the volume in the instance. Failure to do so results in the volume being stuck in the busy state while it is trying to detach, which could possibly damage the file system or the data it contains.\n If an Amazon EBS volume is the root device of an instance, it cannot be detached while the instance is in the \"running\" state. To detach the root volume, stop the instance first.\n If the root volume is detached from an instance with an MKT product code, then the product codes from that volume are no longer associated with the instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volumeattachment.html)" + "Engagement Plan for a SSM Incident Manager Contact. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-plan.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-volumeattachment.json" + "$ref": "resources/aws-ssmcontacts-plan.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -31265,9 +31021,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SubnetNetworkAclAssociation": { + "AWS_FSx_StorageVirtualMachine": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::SubnetNetworkAclAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetnetworkaclassociation.html)", + "markdownDescription": "Resource Type definition for AWS::FSx::StorageVirtualMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-storagevirtualmachine.html)", "allOf": [ { "type": "object", @@ -31275,14 +31031,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SubnetNetworkAclAssociation" + "AWS::FSx::StorageVirtualMachine" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::SubnetNetworkAclAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetnetworkaclassociation.html)" + "Resource Type definition for AWS::FSx::StorageVirtualMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-storagevirtualmachine.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-subnetnetworkaclassociation.json" + "$ref": "resources/aws-fsx-storagevirtualmachine.json" } }, "required": [ @@ -31296,9 +31052,9 @@ ], "additionalProperties": false }, - "AWS_S3_MultiRegionAccessPoint": { + "AWS_Bedrock_ApplicationInferenceProfile": { "type": "object", - "markdownDescription": "AWS::S3::MultiRegionAccessPoint is an Amazon S3 resource type that dynamically routes S3 requests to easily satisfy geographic compliance requirements based on customer-defined routing policies. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html)", + "markdownDescription": "Definition of AWS::Bedrock::ApplicationInferenceProfile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-applicationinferenceprofile.html)", "allOf": [ { "type": "object", @@ -31306,14 +31062,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::MultiRegionAccessPoint" + "AWS::Bedrock::ApplicationInferenceProfile" ], "markdownEnumDescriptions": [ - "AWS::S3::MultiRegionAccessPoint is an Amazon S3 resource type that dynamically routes S3 requests to easily satisfy geographic compliance requirements based on customer-defined routing policies. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html)" + "Definition of AWS::Bedrock::ApplicationInferenceProfile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-applicationinferenceprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-multiregionaccesspoint.json" + "$ref": "resources/aws-bedrock-applicationinferenceprofile.json" } }, "required": [ @@ -31327,9 +31083,9 @@ ], "additionalProperties": false }, - "AWS_Connect_UserHierarchyGroup": { + "AWS_Transfer_Server": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::UserHierarchyGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-userhierarchygroup.html)", + "markdownDescription": "Definition of AWS::Transfer::Server Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html)", "allOf": [ { "type": "object", @@ -31337,19 +31093,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::UserHierarchyGroup" + "AWS::Transfer::Server" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::UserHierarchyGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-userhierarchygroup.html)" + "Definition of AWS::Transfer::Server Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-userhierarchygroup.json" + "$ref": "resources/aws-transfer-server.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -31358,9 +31113,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_FirewallDomainList": { + "AWS_DataZone_Project": { "type": "object", - "markdownDescription": "Resource schema for AWS::Route53Resolver::FirewallDomainList. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewalldomainlist.html)", + "markdownDescription": "Amazon DataZone projects are business use case\u2013based groupings of people, assets (data), and tools used to simplify access to the AWS analytics. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-project.html)", "allOf": [ { "type": "object", @@ -31368,18 +31123,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::FirewallDomainList" + "AWS::DataZone::Project" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::FirewallDomainList. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewalldomainlist.html)" + "Amazon DataZone projects are business use case\u2013based groupings of people, assets (data), and tools used to simplify access to the AWS analytics. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-project.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-firewalldomainlist.json" + "$ref": "resources/aws-datazone-project.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -31388,9 +31144,9 @@ ], "additionalProperties": false }, - "AWS_RoboMaker_RobotApplicationVersion": { + "AWS_SSM_ResourcePolicy": { "type": "object", - "markdownDescription": "AWS::RoboMaker::RobotApplicationVersion resource creates an AWS RoboMaker RobotApplicationVersion. This helps you control which code your robot uses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplicationversion.html)", + "markdownDescription": "Resource Type definition for AWS::SSM::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcepolicy.html)", "allOf": [ { "type": "object", @@ -31398,14 +31154,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RoboMaker::RobotApplicationVersion" + "AWS::SSM::ResourcePolicy" ], "markdownEnumDescriptions": [ - "AWS::RoboMaker::RobotApplicationVersion resource creates an AWS RoboMaker RobotApplicationVersion. This helps you control which code your robot uses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplicationversion.html)" + "Resource Type definition for AWS::SSM::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-robomaker-robotapplicationversion.json" + "$ref": "resources/aws-ssm-resourcepolicy.json" } }, "required": [ @@ -31419,9 +31175,9 @@ ], "additionalProperties": false }, - "AWS_EC2_IPAMResourceDiscovery": { + "AWS_OpenSearchServerless_AccessPolicy": { "type": "object", - "markdownDescription": "Resource Schema of AWS::EC2::IPAMResourceDiscovery Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscovery.html)", + "markdownDescription": "Amazon OpenSearchServerless access policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-accesspolicy.html)", "allOf": [ { "type": "object", @@ -31429,18 +31185,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::IPAMResourceDiscovery" + "AWS::OpenSearchServerless::AccessPolicy" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EC2::IPAMResourceDiscovery Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscovery.html)" + "Amazon OpenSearchServerless access policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-accesspolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-ipamresourcediscovery.json" + "$ref": "resources/aws-opensearchserverless-accesspolicy.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -31449,9 +31206,9 @@ ], "additionalProperties": false }, - "AWS_Evidently_Feature": { + "AWS_IoTWireless_NetworkAnalyzerConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Evidently::Feature. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-feature.html)", + "markdownDescription": "Create and manage NetworkAnalyzerConfiguration resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-networkanalyzerconfiguration.html)", "allOf": [ { "type": "object", @@ -31459,14 +31216,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Evidently::Feature" + "AWS::IoTWireless::NetworkAnalyzerConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Evidently::Feature. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-feature.html)" + "Create and manage NetworkAnalyzerConfiguration resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-networkanalyzerconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-evidently-feature.json" + "$ref": "resources/aws-iotwireless-networkanalyzerconfiguration.json" } }, "required": [ @@ -31480,9 +31237,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_Url": { + "AWS_NimbleStudio_Studio": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lambda::Url \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html)", + "markdownDescription": "Resource Type definition for AWS::NimbleStudio::Studio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-studio.html)", "allOf": [ { "type": "object", @@ -31490,14 +31247,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::Url" + "AWS::NimbleStudio::Studio" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lambda::Url \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html)" + "Resource Type definition for AWS::NimbleStudio::Studio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-studio.html)" ] }, "Properties": { - "$ref": "resources/aws-lambda-url.json" + "$ref": "resources/aws-nimblestudio-studio.json" } }, "required": [ @@ -31511,9 +31268,9 @@ ], "additionalProperties": false }, - "AWS_Glue_DataCatalogEncryptionSettings": { + "AWS_CodeBuild_ReportGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::DataCatalogEncryptionSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-datacatalogencryptionsettings.html)", + "markdownDescription": "Resource Type definition for AWS::CodeBuild::ReportGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html)", "allOf": [ { "type": "object", @@ -31521,14 +31278,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::DataCatalogEncryptionSettings" + "AWS::CodeBuild::ReportGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::DataCatalogEncryptionSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-datacatalogencryptionsettings.html)" + "Resource Type definition for AWS::CodeBuild::ReportGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-datacatalogencryptionsettings.json" + "$ref": "resources/aws-codebuild-reportgroup.json" } }, "required": [ @@ -31542,9 +31299,9 @@ ], "additionalProperties": false }, - "AWS_APS_Workspace": { + "AWS_Backup_BackupVault": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::APS::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-workspace.html)", + "markdownDescription": "Resource Type definition for AWS::Backup::BackupVault \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html)", "allOf": [ { "type": "object", @@ -31552,18 +31309,19 @@ "Type": { "type": "string", "enum": [ - "AWS::APS::Workspace" + "AWS::Backup::BackupVault" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::APS::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-workspace.html)" + "Resource Type definition for AWS::Backup::BackupVault \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html)" ] }, "Properties": { - "$ref": "resources/aws-aps-workspace.json" + "$ref": "resources/aws-backup-backupvault.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -31572,9 +31330,9 @@ ], "additionalProperties": false }, - "AWS_LaunchWizard_Deployment": { + "AWS_EntityResolution_IdNamespace": { "type": "object", - "markdownDescription": "Definition of AWS::LaunchWizard::Deployment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-launchwizard-deployment.html)", + "markdownDescription": "IdNamespace defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idnamespace.html)", "allOf": [ { "type": "object", @@ -31582,14 +31340,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LaunchWizard::Deployment" + "AWS::EntityResolution::IdNamespace" ], "markdownEnumDescriptions": [ - "Definition of AWS::LaunchWizard::Deployment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-launchwizard-deployment.html)" + "IdNamespace defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idnamespace.html)" ] }, "Properties": { - "$ref": "resources/aws-launchwizard-deployment.json" + "$ref": "resources/aws-entityresolution-idnamespace.json" } }, "required": [ @@ -31603,9 +31361,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_ApiGatewayManagedOverrides": { + "AWS_MediaTailor_VodSource": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ApiGatewayV2::ApiGatewayManagedOverrides \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html)", + "markdownDescription": "Definition of AWS::MediaTailor::VodSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-vodsource.html)", "allOf": [ { "type": "object", @@ -31613,14 +31371,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + "AWS::MediaTailor::VodSource" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ApiGatewayV2::ApiGatewayManagedOverrides \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html)" + "Definition of AWS::MediaTailor::VodSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-vodsource.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-apigatewaymanagedoverrides.json" + "$ref": "resources/aws-mediatailor-vodsource.json" } }, "required": [ @@ -31634,9 +31392,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpaces_Workspace": { + "AWS_VerifiedPermissions_PolicyTemplate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WorkSpaces::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html)", + "markdownDescription": "Definition of AWS::VerifiedPermissions::PolicyTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policytemplate.html)", "allOf": [ { "type": "object", @@ -31644,14 +31402,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpaces::Workspace" + "AWS::VerifiedPermissions::PolicyTemplate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WorkSpaces::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html)" + "Definition of AWS::VerifiedPermissions::PolicyTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policytemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-workspaces-workspace.json" + "$ref": "resources/aws-verifiedpermissions-policytemplate.json" } }, "required": [ @@ -31665,9 +31423,9 @@ ], "additionalProperties": false }, - "AWS_RefactorSpaces_Application": { + "AWS_IoT_FleetMetric": { "type": "object", - "markdownDescription": "Definition of AWS::RefactorSpaces::Application Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-application.html)", + "markdownDescription": "An aggregated metric of certain devices in your fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-fleetmetric.html)", "allOf": [ { "type": "object", @@ -31675,14 +31433,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RefactorSpaces::Application" + "AWS::IoT::FleetMetric" ], "markdownEnumDescriptions": [ - "Definition of AWS::RefactorSpaces::Application Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-application.html)" + "An aggregated metric of certain devices in your fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-fleetmetric.html)" ] }, "Properties": { - "$ref": "resources/aws-refactorspaces-application.json" + "$ref": "resources/aws-iot-fleetmetric.json" } }, "required": [ @@ -31696,9 +31454,9 @@ ], "additionalProperties": false }, - "AWS_CloudTrail_Trail": { + "AWS_Config_ConfigRule": { "type": "object", - "markdownDescription": "Creates a trail that specifies the settings for delivery of log data to an Amazon S3 bucket. A maximum of five trails can exist in a region, irrespective of the region in which they were created. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html)", + "markdownDescription": "You must first create and start the CC configuration recorder in order to create CC managed rules with CFNlong. For more information, see [Managing the Configuration Recorder](https://docs.aws.amazon.com/config/latest/developerguide/stop-start-recorder.html).\n Adds or updates an CC rule to evaluate if your AWS resources comply with your desired configurations. For information on how many CC rules you can have per account, see [Service Limits](https://docs.aws.amazon.com/config/latest/developerguide/configlimits.html) in the *Developer Guide*.\n There are two types of rules: *Managed Rules* and *Custom Rules*. You can use the ``ConfigRule`` resource to create both CC Managed Rules and CC Custom Rules.\n CC Managed Rules are predefined, customizable rules created by CC. For a list of managed rules, see [List of Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html). If you are adding an CC managed rule, you must specify the rule's identifier for the ``SourceIdentifier`` key.\n CC Custom Rules are rules that you create from scratch. There are two ways to create CC custom rules: with Lambda functions ([Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/gettingstarted-concepts.html#gettingstarted-concepts-function)) and with CFNGUARDshort ([Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard)), a policy-as-code language. CC custom rules created with LAMlong are called *Custom Lambda Rules* and CC custom rules created with CFNGUARDshort are called *Custom Policy Rules*.\n If you are adding a new CC Custom LAM rule, you first need to create an LAMlong function that the rule invokes to evaluate your resources. When you use the ``ConfigRule`` resource to add a Custom LAM rule to CC, you must specify the Amazon Resource Name (ARN) that LAMlong assigns to the function. You specify the ARN in the ``SourceIdentifier`` key. This key is part of the ``Source`` object, which is part of the ``ConfigRule`` object. \n For any new CC rule that you add, specify the ``ConfigRuleName`` in the ``ConfigRule`` object. Do not specify the ``ConfigRuleArn`` or the ``ConfigRuleId``. These values are generated by CC for new rules.\n If you are updating a rule that you added previously, you can specify the rule by ``ConfigRuleName``, ``ConfigRuleId``, or ``ConfigRuleArn`` in the ``ConfigRule`` data type that you use in this request.\n For more information about developing and using CC rules, see [Evaluating Resources with Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html)", "allOf": [ { "type": "object", @@ -31706,14 +31464,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudTrail::Trail" + "AWS::Config::ConfigRule" ], "markdownEnumDescriptions": [ - "Creates a trail that specifies the settings for delivery of log data to an Amazon S3 bucket. A maximum of five trails can exist in a region, irrespective of the region in which they were created. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html)" + "You must first create and start the CC configuration recorder in order to create CC managed rules with CFNlong. For more information, see [Managing the Configuration Recorder](https://docs.aws.amazon.com/config/latest/developerguide/stop-start-recorder.html).\n Adds or updates an CC rule to evaluate if your AWS resources comply with your desired configurations. For information on how many CC rules you can have per account, see [Service Limits](https://docs.aws.amazon.com/config/latest/developerguide/configlimits.html) in the *Developer Guide*.\n There are two types of rules: *Managed Rules* and *Custom Rules*. You can use the ``ConfigRule`` resource to create both CC Managed Rules and CC Custom Rules.\n CC Managed Rules are predefined, customizable rules created by CC. For a list of managed rules, see [List of Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html). If you are adding an CC managed rule, you must specify the rule's identifier for the ``SourceIdentifier`` key.\n CC Custom Rules are rules that you create from scratch. There are two ways to create CC custom rules: with Lambda functions ([Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/gettingstarted-concepts.html#gettingstarted-concepts-function)) and with CFNGUARDshort ([Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard)), a policy-as-code language. CC custom rules created with LAMlong are called *Custom Lambda Rules* and CC custom rules created with CFNGUARDshort are called *Custom Policy Rules*.\n If you are adding a new CC Custom LAM rule, you first need to create an LAMlong function that the rule invokes to evaluate your resources. When you use the ``ConfigRule`` resource to add a Custom LAM rule to CC, you must specify the Amazon Resource Name (ARN) that LAMlong assigns to the function. You specify the ARN in the ``SourceIdentifier`` key. This key is part of the ``Source`` object, which is part of the ``ConfigRule`` object. \n For any new CC rule that you add, specify the ``ConfigRuleName`` in the ``ConfigRule`` object. Do not specify the ``ConfigRuleArn`` or the ``ConfigRuleId``. These values are generated by CC for new rules.\n If you are updating a rule that you added previously, you can specify the rule by ``ConfigRuleName``, ``ConfigRuleId``, or ``ConfigRuleArn`` in the ``ConfigRule`` data type that you use in this request.\n For more information about developing and using CC rules, see [Evaluating Resources with Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudtrail-trail.json" + "$ref": "resources/aws-config-configrule.json" } }, "required": [ @@ -31727,9 +31485,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_WebACLAssociation": { + "AWS_ImageBuilder_ImagePipeline": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::WebACLAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webaclassociation.html)", + "markdownDescription": "Resource schema for AWS::ImageBuilder::ImagePipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html)", "allOf": [ { "type": "object", @@ -31737,19 +31495,18 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::WebACLAssociation" + "AWS::ImageBuilder::ImagePipeline" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::WebACLAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webaclassociation.html)" + "Resource schema for AWS::ImageBuilder::ImagePipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-webaclassociation.json" + "$ref": "resources/aws-imagebuilder-imagepipeline.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -31758,9 +31515,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_FirewallRuleGroupAssociation": { + "AWS_VpcLattice_ServiceNetwork": { "type": "object", - "markdownDescription": "Resource schema for AWS::Route53Resolver::FirewallRuleGroupAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewallrulegroupassociation.html)", + "markdownDescription": "A service network is a logical boundary for a collection of services. You can associate services and VPCs with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetwork.html)", "allOf": [ { "type": "object", @@ -31768,19 +31525,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::FirewallRuleGroupAssociation" + "AWS::VpcLattice::ServiceNetwork" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::FirewallRuleGroupAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewallrulegroupassociation.html)" + "A service network is a logical boundary for a collection of services. You can associate services and VPCs with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetwork.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-firewallrulegroupassociation.json" + "$ref": "resources/aws-vpclattice-servicenetwork.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -31789,9 +31545,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCEndpointServicePermissions": { + "AWS_Athena_DataCatalog": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::VPCEndpointServicePermissions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservicepermissions.html)", + "markdownDescription": "Resource schema for AWS::Athena::DataCatalog \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html)", "allOf": [ { "type": "object", @@ -31799,14 +31555,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCEndpointServicePermissions" + "AWS::Athena::DataCatalog" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPCEndpointServicePermissions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservicepermissions.html)" + "Resource schema for AWS::Athena::DataCatalog \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpcendpointservicepermissions.json" + "$ref": "resources/aws-athena-datacatalog.json" } }, "required": [ @@ -31820,9 +31576,9 @@ ], "additionalProperties": false }, - "AWS_IoTEvents_DetectorModel": { + "AWS_EC2_SecurityGroupVpcAssociation": { "type": "object", - "markdownDescription": "The AWS::IoTEvents::DetectorModel resource creates a detector model. You create a *detector model* (a model of your equipment or process) using *states*. For each state, you define conditional (Boolean) logic that evaluates the incoming inputs to detect significant events. When an event is detected, it can change the state or trigger custom-built or predefined actions using other AWS services. You can define additional events that trigger actions when entering or exiting a state and, optionally, when a condition is met. For more information, see [How to Use AWS IoT Events](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *AWS IoT Events Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html)", + "markdownDescription": "Resource type definition for the AWS::EC2::SecurityGroupVpcAssociation resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupvpcassociation.html)", "allOf": [ { "type": "object", @@ -31830,14 +31586,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTEvents::DetectorModel" + "AWS::EC2::SecurityGroupVpcAssociation" ], "markdownEnumDescriptions": [ - "The AWS::IoTEvents::DetectorModel resource creates a detector model. You create a *detector model* (a model of your equipment or process) using *states*. For each state, you define conditional (Boolean) logic that evaluates the incoming inputs to detect significant events. When an event is detected, it can change the state or trigger custom-built or predefined actions using other AWS services. You can define additional events that trigger actions when entering or exiting a state and, optionally, when a condition is met. For more information, see [How to Use AWS IoT Events](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *AWS IoT Events Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html)" + "Resource type definition for the AWS::EC2::SecurityGroupVpcAssociation resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupvpcassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-iotevents-detectormodel.json" + "$ref": "resources/aws-ec2-securitygroupvpcassociation.json" } }, "required": [ @@ -31851,9 +31607,9 @@ ], "additionalProperties": false }, - "AWS_Location_RouteCalculator": { + "AWS_IoTWireless_DeviceProfile": { "type": "object", - "markdownDescription": "Definition of AWS::Location::RouteCalculator Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-routecalculator.html)", + "markdownDescription": "Device Profile's resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-deviceprofile.html)", "allOf": [ { "type": "object", @@ -31861,14 +31617,44 @@ "Type": { "type": "string", "enum": [ - "AWS::Location::RouteCalculator" + "AWS::IoTWireless::DeviceProfile" ], "markdownEnumDescriptions": [ - "Definition of AWS::Location::RouteCalculator Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-routecalculator.html)" + "Device Profile's resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-deviceprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-location-routecalculator.json" + "$ref": "resources/aws-iotwireless-deviceprofile.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_EC2_VPNConnectionRoute": { + "type": "object", + "markdownDescription": "Specifies a static route for a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnectionroute.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::EC2::VPNConnectionRoute" + ], + "markdownEnumDescriptions": [ + "Specifies a static route for a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnectionroute.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-ec2-vpnconnectionroute.json" } }, "required": [ @@ -31882,9 +31668,9 @@ ], "additionalProperties": false }, - "AWS_QLDB_Ledger": { + "AWS_Route53_RecordSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::QLDB::Ledger \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html)", + "markdownDescription": "Resource Type definition for AWS::Route53::RecordSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordset.html)", "allOf": [ { "type": "object", @@ -31892,14 +31678,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QLDB::Ledger" + "AWS::Route53::RecordSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::QLDB::Ledger \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html)" + "Resource Type definition for AWS::Route53::RecordSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordset.html)" ] }, "Properties": { - "$ref": "resources/aws-qldb-ledger.json" + "$ref": "resources/aws-route53-recordset.json" } }, "required": [ @@ -31913,9 +31699,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_MlflowTrackingServer": { + "AWS_Route53Profiles_Profile": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::MlflowTrackingServer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-mlflowtrackingserver.html)", + "markdownDescription": "Resource Type definition for AWS::Route53Profiles::Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profile.html)", "allOf": [ { "type": "object", @@ -31923,14 +31709,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::MlflowTrackingServer" + "AWS::Route53Profiles::Profile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::MlflowTrackingServer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-mlflowtrackingserver.html)" + "Resource Type definition for AWS::Route53Profiles::Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profile.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-mlflowtrackingserver.json" + "$ref": "resources/aws-route53profiles-profile.json" } }, "required": [ @@ -31944,9 +31730,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_ProjectMembership": { + "AWS_Location_Tracker": { "type": "object", - "markdownDescription": "Definition of AWS::DataZone::ProjectMembership Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-projectmembership.html)", + "markdownDescription": "Definition of AWS::Location::Tracker Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-tracker.html)", "allOf": [ { "type": "object", @@ -31954,14 +31740,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::ProjectMembership" + "AWS::Location::Tracker" ], "markdownEnumDescriptions": [ - "Definition of AWS::DataZone::ProjectMembership Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-projectmembership.html)" + "Definition of AWS::Location::Tracker Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-tracker.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-projectmembership.json" + "$ref": "resources/aws-location-tracker.json" } }, "required": [ @@ -31975,9 +31761,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_CodeRepository": { + "AWS_WAFRegional_RegexPatternSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::CodeRepository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-coderepository.html)", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::RegexPatternSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-regexpatternset.html)", "allOf": [ { "type": "object", @@ -31985,14 +31771,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::CodeRepository" + "AWS::WAFRegional::RegexPatternSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::CodeRepository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-coderepository.html)" + "Resource Type definition for AWS::WAFRegional::RegexPatternSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-regexpatternset.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-coderepository.json" + "$ref": "resources/aws-wafregional-regexpatternset.json" } }, "required": [ @@ -32006,9 +31792,9 @@ ], "additionalProperties": false }, - "AWS_PaymentCryptography_Alias": { + "AWS_IoT_ThingPrincipalAttachment": { "type": "object", - "markdownDescription": "Definition of AWS::PaymentCryptography::Alias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-paymentcryptography-alias.html)", + "markdownDescription": "Resource Type definition for AWS::IoT::ThingPrincipalAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingprincipalattachment.html)", "allOf": [ { "type": "object", @@ -32016,14 +31802,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PaymentCryptography::Alias" + "AWS::IoT::ThingPrincipalAttachment" ], "markdownEnumDescriptions": [ - "Definition of AWS::PaymentCryptography::Alias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-paymentcryptography-alias.html)" + "Resource Type definition for AWS::IoT::ThingPrincipalAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingprincipalattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-paymentcryptography-alias.json" + "$ref": "resources/aws-iot-thingprincipalattachment.json" } }, "required": [ @@ -32037,9 +31823,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_Alias": { + "AWS_ApiGatewayV2_Integration": { "type": "object", - "markdownDescription": "The AWS::GameLift::Alias resource creates an alias for an Amazon GameLift (GameLift) fleet destination. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html)", "allOf": [ { "type": "object", @@ -32047,14 +31833,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::Alias" + "AWS::ApiGatewayV2::Integration" ], "markdownEnumDescriptions": [ - "The AWS::GameLift::Alias resource creates an alias for an Amazon GameLift (GameLift) fleet destination. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html)" ] }, "Properties": { - "$ref": "resources/aws-gamelift-alias.json" + "$ref": "resources/aws-apigatewayv2-integration.json" } }, "required": [ @@ -32068,9 +31854,9 @@ ], "additionalProperties": false }, - "AWS_RoboMaker_SimulationApplication": { + "AWS_Athena_PreparedStatement": { "type": "object", - "markdownDescription": "This schema is for testing purpose only. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html)", + "markdownDescription": "Resource schema for AWS::Athena::PreparedStatement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.html)", "allOf": [ { "type": "object", @@ -32078,14 +31864,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RoboMaker::SimulationApplication" + "AWS::Athena::PreparedStatement" ], "markdownEnumDescriptions": [ - "This schema is for testing purpose only. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html)" + "Resource schema for AWS::Athena::PreparedStatement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.html)" ] }, "Properties": { - "$ref": "resources/aws-robomaker-simulationapplication.json" + "$ref": "resources/aws-athena-preparedstatement.json" } }, "required": [ @@ -32099,9 +31885,9 @@ ], "additionalProperties": false }, - "AWS_AppIntegrations_Application": { + "AWS_DevOpsGuru_NotificationChannel": { "type": "object", - "markdownDescription": "Resource Type definition for AWS:AppIntegrations::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html)", + "markdownDescription": "This resource schema represents the NotificationChannel resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-notificationchannel.html)", "allOf": [ { "type": "object", @@ -32109,14 +31895,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppIntegrations::Application" + "AWS::DevOpsGuru::NotificationChannel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS:AppIntegrations::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html)" + "This resource schema represents the NotificationChannel resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-notificationchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-appintegrations-application.json" + "$ref": "resources/aws-devopsguru-notificationchannel.json" } }, "required": [ @@ -32130,9 +31916,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkInsightsPath": { + "AWS_MediaLive_SignalMap": { "type": "object", - "markdownDescription": "Resource schema for AWS::EC2::NetworkInsightsPath \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html)", + "markdownDescription": "Definition of AWS::MediaLive::SignalMap Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-signalmap.html)", "allOf": [ { "type": "object", @@ -32140,14 +31926,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkInsightsPath" + "AWS::MediaLive::SignalMap" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EC2::NetworkInsightsPath \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html)" + "Definition of AWS::MediaLive::SignalMap Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-signalmap.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkinsightspath.json" + "$ref": "resources/aws-medialive-signalmap.json" } }, "required": [ @@ -32161,9 +31947,9 @@ ], "additionalProperties": false }, - "AWS_APS_RuleGroupsNamespace": { + "AWS_Glue_TableOptimizer": { "type": "object", - "markdownDescription": "RuleGroupsNamespace schema for cloudformation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-rulegroupsnamespace.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::TableOptimizer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-tableoptimizer.html)", "allOf": [ { "type": "object", @@ -32171,14 +31957,14 @@ "Type": { "type": "string", "enum": [ - "AWS::APS::RuleGroupsNamespace" + "AWS::Glue::TableOptimizer" ], "markdownEnumDescriptions": [ - "RuleGroupsNamespace schema for cloudformation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-rulegroupsnamespace.html)" + "Resource Type definition for AWS::Glue::TableOptimizer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-tableoptimizer.html)" ] }, "Properties": { - "$ref": "resources/aws-aps-rulegroupsnamespace.json" + "$ref": "resources/aws-glue-tableoptimizer.json" } }, "required": [ @@ -32192,9 +31978,9 @@ ], "additionalProperties": false }, - "AWS_IVS_Stage": { + "AWS_IoTThingsGraph_FlowTemplate": { "type": "object", - "markdownDescription": "Resource Definition for type AWS::IVS::Stage. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-stage.html)", + "markdownDescription": "Resource Type definition for AWS::IoTThingsGraph::FlowTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotthingsgraph-flowtemplate.html)", "allOf": [ { "type": "object", @@ -32202,18 +31988,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::Stage" + "AWS::IoTThingsGraph::FlowTemplate" ], "markdownEnumDescriptions": [ - "Resource Definition for type AWS::IVS::Stage. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-stage.html)" + "Resource Type definition for AWS::IoTThingsGraph::FlowTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotthingsgraph-flowtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-ivs-stage.json" + "$ref": "resources/aws-iotthingsgraph-flowtemplate.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -32222,9 +32009,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackageV2_Channel": { + "AWS_Kendra_DataSource": { "type": "object", - "markdownDescription": "

Represents an entry point into AWS Elemental MediaPackage for an ABR video content stream sent from an upstream encoder such as AWS Elemental MediaLive. The channel continuously analyzes the content that it receives and prepares it to be distributed to consumers via one or more origin endpoints.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channel.html)", + "markdownDescription": "Kendra DataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html)", "allOf": [ { "type": "object", @@ -32232,14 +32019,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackageV2::Channel" + "AWS::Kendra::DataSource" ], "markdownEnumDescriptions": [ - "

Represents an entry point into AWS Elemental MediaPackage for an ABR video content stream sent from an upstream encoder such as AWS Elemental MediaLive. The channel continuously analyzes the content that it receives and prepares it to be distributed to consumers via one or more origin endpoints.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channel.html)" + "Kendra DataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackagev2-channel.json" + "$ref": "resources/aws-kendra-datasource.json" } }, "required": [ @@ -32253,9 +32040,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Alarm": { + "AWS_SSM_PatchBaseline": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::Alarm \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html)", + "markdownDescription": "Resource Type definition for AWS::SSM::PatchBaseline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html)", "allOf": [ { "type": "object", @@ -32263,14 +32050,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Alarm" + "AWS::SSM::PatchBaseline" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::Alarm \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html)" + "Resource Type definition for AWS::SSM::PatchBaseline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-alarm.json" + "$ref": "resources/aws-ssm-patchbaseline.json" } }, "required": [ @@ -32284,9 +32071,9 @@ ], "additionalProperties": false }, - "AWS_Logs_QueryDefinition": { + "AWS_AppStream_Application": { "type": "object", - "markdownDescription": "The resource schema for AWSLogs QueryDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-querydefinition.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html)", "allOf": [ { "type": "object", @@ -32294,14 +32081,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::QueryDefinition" + "AWS::AppStream::Application" ], "markdownEnumDescriptions": [ - "The resource schema for AWSLogs QueryDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-querydefinition.html)" + "Resource Type definition for AWS::AppStream::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-querydefinition.json" + "$ref": "resources/aws-appstream-application.json" } }, "required": [ @@ -32315,9 +32102,9 @@ ], "additionalProperties": false }, - "AWS_Pipes_Pipe": { + "AWS_FSx_Volume": { "type": "object", - "markdownDescription": "Definition of AWS::Pipes::Pipe Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pipes-pipe.html)", + "markdownDescription": "Resource Type definition for AWS::FSx::Volume \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-volume.html)", "allOf": [ { "type": "object", @@ -32325,14 +32112,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pipes::Pipe" + "AWS::FSx::Volume" ], "markdownEnumDescriptions": [ - "Definition of AWS::Pipes::Pipe Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pipes-pipe.html)" + "Resource Type definition for AWS::FSx::Volume \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-volume.html)" ] }, "Properties": { - "$ref": "resources/aws-pipes-pipe.json" + "$ref": "resources/aws-fsx-volume.json" } }, "required": [ @@ -32346,9 +32133,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_Authorizer": { + "AWS_Route53RecoveryReadiness_Cell": { "type": "object", - "markdownDescription": "The ``AWS::ApiGatewayV2::Authorizer`` resource creates an authorizer for a WebSocket API or an HTTP API. To learn more, see [Controlling and managing access to a WebSocket API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-control-access.html) and [Controlling and managing access to an HTTP API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-access-control.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html)", + "markdownDescription": "The API Schema for AWS Route53 Recovery Readiness Cells. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-cell.html)", "allOf": [ { "type": "object", @@ -32356,14 +32143,74 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::Authorizer" + "AWS::Route53RecoveryReadiness::Cell" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGatewayV2::Authorizer`` resource creates an authorizer for a WebSocket API or an HTTP API. To learn more, see [Controlling and managing access to a WebSocket API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-control-access.html) and [Controlling and managing access to an HTTP API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-access-control.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html)" + "The API Schema for AWS Route53 Recovery Readiness Cells. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-cell.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-authorizer.json" + "$ref": "resources/aws-route53recoveryreadiness-cell.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_MediaLive_InputSecurityGroup": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::MediaLive::InputSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-inputsecuritygroup.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::MediaLive::InputSecurityGroup" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::MediaLive::InputSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-inputsecuritygroup.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-medialive-inputsecuritygroup.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_IoTSiteWise_Portal": { + "type": "object", + "markdownDescription": "Resource schema for AWS::IoTSiteWise::Portal \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-portal.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::IoTSiteWise::Portal" + ], + "markdownEnumDescriptions": [ + "Resource schema for AWS::IoTSiteWise::Portal \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-portal.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-iotsitewise-portal.json" } }, "required": [ @@ -32377,9 +32224,9 @@ ], "additionalProperties": false }, - "AWS_QBusiness_DataSource": { + "AWS_Inspector_AssessmentTemplate": { "type": "object", - "markdownDescription": "Definition of AWS::QBusiness::DataSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html)", + "markdownDescription": "Resource Type definition for AWS::Inspector::AssessmentTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttemplate.html)", "allOf": [ { "type": "object", @@ -32387,14 +32234,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QBusiness::DataSource" + "AWS::Inspector::AssessmentTemplate" ], "markdownEnumDescriptions": [ - "Definition of AWS::QBusiness::DataSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html)" + "Resource Type definition for AWS::Inspector::AssessmentTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-qbusiness-datasource.json" + "$ref": "resources/aws-inspector-assessmenttemplate.json" } }, "required": [ @@ -32408,9 +32255,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_Permission": { + "AWS_SageMaker_Workteam": { "type": "object", - "markdownDescription": "The ``AWS::Lambda::Permission`` resource grants an AWS service or another account permission to use a function. You can apply the policy at the function level, or specify a qualifier to restrict access to a single version or alias. If you use a qualifier, the invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the function.\n To grant permission to another account, specify the account ID as the ``Principal``. To grant permission to an organization defined in AOlong, specify the organization ID as the ``PrincipalOrgID``. For AWS services, the principal is a domain-style identifier defined by the service, like ``s3.amazonaws.com`` or ``sns.amazonaws.com``. For AWS services, you can also specify the ARN of the associated resource as the ``SourceArn``. If you grant permission to a service principal without specifying the source, other accounts could potentially configure resources in their account to invoke your Lambda function.\n If your function has a function URL, you can specify the ``FunctionUrlAuthType`` parameter. This adds a condition to your permission that only applies when your function URL's ``AuthType`` matches the specified ``FunctionUrlAuthType``. For more information about the ``AuthType`` parameter, see [Security and auth model for function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html).\n This resource adds a statement to a resource-based permission policy for the function. For more information about function policies, see [Lambda Function Policies](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::Workteam \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html)", "allOf": [ { "type": "object", @@ -32418,14 +32265,44 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::Permission" + "AWS::SageMaker::Workteam" ], "markdownEnumDescriptions": [ - "The ``AWS::Lambda::Permission`` resource grants an AWS service or another account permission to use a function. You can apply the policy at the function level, or specify a qualifier to restrict access to a single version or alias. If you use a qualifier, the invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the function.\n To grant permission to another account, specify the account ID as the ``Principal``. To grant permission to an organization defined in AOlong, specify the organization ID as the ``PrincipalOrgID``. For AWS services, the principal is a domain-style identifier defined by the service, like ``s3.amazonaws.com`` or ``sns.amazonaws.com``. For AWS services, you can also specify the ARN of the associated resource as the ``SourceArn``. If you grant permission to a service principal without specifying the source, other accounts could potentially configure resources in their account to invoke your Lambda function.\n If your function has a function URL, you can specify the ``FunctionUrlAuthType`` parameter. This adds a condition to your permission that only applies when your function URL's ``AuthType`` matches the specified ``FunctionUrlAuthType``. For more information about the ``AuthType`` parameter, see [Security and auth model for function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html).\n This resource adds a statement to a resource-based permission policy for the function. For more information about function policies, see [Lambda Function Policies](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)" + "Resource Type definition for AWS::SageMaker::Workteam \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html)" ] }, "Properties": { - "$ref": "resources/aws-lambda-permission.json" + "$ref": "resources/aws-sagemaker-workteam.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_SSO_PermissionSet": { + "type": "object", + "markdownDescription": "Resource Type definition for SSO PermissionSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::SSO::PermissionSet" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for SSO PermissionSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-sso-permissionset.json" } }, "required": [ @@ -32439,9 +32316,9 @@ ], "additionalProperties": false }, - "AWS_LakeFormation_Tag": { + "AWS_AppStream_Entitlement": { "type": "object", - "markdownDescription": "A resource schema representing a Lake Formation Tag. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-tag.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::Entitlement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-entitlement.html)", "allOf": [ { "type": "object", @@ -32449,14 +32326,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LakeFormation::Tag" + "AWS::AppStream::Entitlement" ], "markdownEnumDescriptions": [ - "A resource schema representing a Lake Formation Tag. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-tag.html)" + "Resource Type definition for AWS::AppStream::Entitlement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-entitlement.html)" ] }, "Properties": { - "$ref": "resources/aws-lakeformation-tag.json" + "$ref": "resources/aws-appstream-entitlement.json" } }, "required": [ @@ -32470,9 +32347,9 @@ ], "additionalProperties": false }, - "AWS_Proton_EnvironmentAccountConnection": { + "AWS_GuardDuty_Detector": { "type": "object", - "markdownDescription": "Resource Schema describing various properties for AWS Proton Environment Account Connections resources. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-environmentaccountconnection.html)", + "markdownDescription": "Resource Type definition for AWS::GuardDuty::Detector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-detector.html)", "allOf": [ { "type": "object", @@ -32480,14 +32357,45 @@ "Type": { "type": "string", "enum": [ - "AWS::Proton::EnvironmentAccountConnection" + "AWS::GuardDuty::Detector" ], "markdownEnumDescriptions": [ - "Resource Schema describing various properties for AWS Proton Environment Account Connections resources. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-environmentaccountconnection.html)" + "Resource Type definition for AWS::GuardDuty::Detector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-detector.html)" ] }, "Properties": { - "$ref": "resources/aws-proton-environmentaccountconnection.json" + "$ref": "resources/aws-guardduty-detector.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_ApiGateway_ClientCertificate": { + "type": "object", + "markdownDescription": "The ``AWS::ApiGateway::ClientCertificate`` resource creates a client certificate that API Gateway uses to configure client-side SSL authentication for sending requests to the integration endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::ApiGateway::ClientCertificate" + ], + "markdownEnumDescriptions": [ + "The ``AWS::ApiGateway::ClientCertificate`` resource creates a client certificate that API Gateway uses to configure client-side SSL authentication for sending requests to the integration endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-apigateway-clientcertificate.json" } }, "required": [ @@ -32500,9 +32408,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_User": { + "AWS_EC2_IPAMAllocation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElastiCache::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html)", + "markdownDescription": "Resource Schema of AWS::EC2::IPAMAllocation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamallocation.html)", "allOf": [ { "type": "object", @@ -32510,14 +32418,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::User" + "AWS::EC2::IPAMAllocation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElastiCache::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html)" + "Resource Schema of AWS::EC2::IPAMAllocation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamallocation.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-user.json" + "$ref": "resources/aws-ec2-ipamallocation.json" } }, "required": [ @@ -32531,9 +32439,9 @@ ], "additionalProperties": false }, - "AWS_MediaConvert_Preset": { + "AWS_Deadline_QueueEnvironment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MediaConvert::Preset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html)", + "markdownDescription": "Definition of AWS::Deadline::QueueEnvironment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queueenvironment.html)", "allOf": [ { "type": "object", @@ -32541,14 +32449,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConvert::Preset" + "AWS::Deadline::QueueEnvironment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MediaConvert::Preset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html)" + "Definition of AWS::Deadline::QueueEnvironment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queueenvironment.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconvert-preset.json" + "$ref": "resources/aws-deadline-queueenvironment.json" } }, "required": [ @@ -32562,9 +32470,9 @@ ], "additionalProperties": false }, - "AWS_AppMesh_Route": { + "AWS_Evidently_Experiment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppMesh::Route \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html)", + "markdownDescription": "Resource Type definition for AWS::Evidently::Experiment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-experiment.html)", "allOf": [ { "type": "object", @@ -32572,14 +32480,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppMesh::Route" + "AWS::Evidently::Experiment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppMesh::Route \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html)" + "Resource Type definition for AWS::Evidently::Experiment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-experiment.html)" ] }, "Properties": { - "$ref": "resources/aws-appmesh-route.json" + "$ref": "resources/aws-evidently-experiment.json" } }, "required": [ @@ -32593,9 +32501,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_RequestValidator": { + "AWS_Config_ConfigurationRecorder": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::RequestValidator`` resource sets up basic validation rules for incoming requests to your API. For more information, see [Enable Basic Request Validation for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html)", + "markdownDescription": "Resource Type definition for AWS::Config::ConfigurationRecorder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html)", "allOf": [ { "type": "object", @@ -32603,14 +32511,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::RequestValidator" + "AWS::Config::ConfigurationRecorder" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::RequestValidator`` resource sets up basic validation rules for incoming requests to your API. For more information, see [Enable Basic Request Validation for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html)" + "Resource Type definition for AWS::Config::ConfigurationRecorder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-requestvalidator.json" + "$ref": "resources/aws-config-configurationrecorder.json" } }, "required": [ @@ -32624,9 +32532,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_TagOptionAssociation": { + "AWS_EC2_NetworkInterface": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::TagOptionAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoptionassociation.html)", + "markdownDescription": "The AWS::EC2::NetworkInterface resource creates network interface \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html)", "allOf": [ { "type": "object", @@ -32634,14 +32542,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::TagOptionAssociation" + "AWS::EC2::NetworkInterface" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::TagOptionAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoptionassociation.html)" + "The AWS::EC2::NetworkInterface resource creates network interface \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-tagoptionassociation.json" + "$ref": "resources/aws-ec2-networkinterface.json" } }, "required": [ @@ -32655,9 +32563,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBProxy": { + "AWS_SecurityHub_SecurityControl": { "type": "object", - "markdownDescription": "Resource schema for AWS::RDS::DBProxy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html)", + "markdownDescription": "A security control in Security Hub describes a security best practice related to a specific resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-securitycontrol.html)", "allOf": [ { "type": "object", @@ -32665,14 +32573,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBProxy" + "AWS::SecurityHub::SecurityControl" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::RDS::DBProxy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html)" + "A security control in Security Hub describes a security best practice related to a specific resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-securitycontrol.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbproxy.json" + "$ref": "resources/aws-securityhub-securitycontrol.json" } }, "required": [ @@ -32686,9 +32594,9 @@ ], "additionalProperties": false }, - "AWS_Route53_RecordSet": { + "AWS_Backup_BackupPlan": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Route53::RecordSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordset.html)", + "markdownDescription": "Resource Type definition for AWS::Backup::BackupPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupplan.html)", "allOf": [ { "type": "object", @@ -32696,14 +32604,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53::RecordSet" + "AWS::Backup::BackupPlan" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Route53::RecordSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordset.html)" + "Resource Type definition for AWS::Backup::BackupPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupplan.html)" ] }, "Properties": { - "$ref": "resources/aws-route53-recordset.json" + "$ref": "resources/aws-backup-backupplan.json" } }, "required": [ @@ -32717,9 +32625,9 @@ ], "additionalProperties": false }, - "AWS_VerifiedPermissions_IdentitySource": { + "AWS_RoboMaker_RobotApplication": { "type": "object", - "markdownDescription": "Definition of AWS::VerifiedPermissions::IdentitySource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-identitysource.html)", + "markdownDescription": "This schema is for testing purpose only. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html)", "allOf": [ { "type": "object", @@ -32727,14 +32635,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VerifiedPermissions::IdentitySource" + "AWS::RoboMaker::RobotApplication" ], "markdownEnumDescriptions": [ - "Definition of AWS::VerifiedPermissions::IdentitySource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-identitysource.html)" + "This schema is for testing purpose only. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html)" ] }, "Properties": { - "$ref": "resources/aws-verifiedpermissions-identitysource.json" + "$ref": "resources/aws-robomaker-robotapplication.json" } }, "required": [ @@ -32748,9 +32656,9 @@ ], "additionalProperties": false }, - "AWS_Wisdom_Assistant": { + "AWS_SES_MailManagerTrafficPolicy": { "type": "object", - "markdownDescription": "Definition of AWS::Wisdom::Assistant Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-assistant.html)", + "markdownDescription": "Definition of AWS::SES::MailManagerTrafficPolicy Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagertrafficpolicy.html)", "allOf": [ { "type": "object", @@ -32758,14 +32666,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Wisdom::Assistant" + "AWS::SES::MailManagerTrafficPolicy" ], "markdownEnumDescriptions": [ - "Definition of AWS::Wisdom::Assistant Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-assistant.html)" + "Definition of AWS::SES::MailManagerTrafficPolicy Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagertrafficpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-wisdom-assistant.json" + "$ref": "resources/aws-ses-mailmanagertrafficpolicy.json" } }, "required": [ @@ -32779,9 +32687,9 @@ ], "additionalProperties": false }, - "AWS_Config_ConfigurationAggregator": { + "AWS_PCAConnectorAD_ServicePrincipalName": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Config::ConfigurationAggregator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationaggregator.html)", + "markdownDescription": "Definition of AWS::PCAConnectorAD::ServicePrincipalName Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-serviceprincipalname.html)", "allOf": [ { "type": "object", @@ -32789,14 +32697,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::ConfigurationAggregator" + "AWS::PCAConnectorAD::ServicePrincipalName" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Config::ConfigurationAggregator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationaggregator.html)" + "Definition of AWS::PCAConnectorAD::ServicePrincipalName Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-serviceprincipalname.html)" ] }, "Properties": { - "$ref": "resources/aws-config-configurationaggregator.json" + "$ref": "resources/aws-pcaconnectorad-serviceprincipalname.json" } }, "required": [ @@ -32809,9 +32717,9 @@ ], "additionalProperties": false }, - "AWS_ResilienceHub_ResiliencyPolicy": { + "AWS_KafkaConnect_CustomPlugin": { "type": "object", - "markdownDescription": "Resource Type Definition for Resiliency Policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-resiliencypolicy.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-customplugin.html)", "allOf": [ { "type": "object", @@ -32819,14 +32727,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ResilienceHub::ResiliencyPolicy" + "AWS::KafkaConnect::CustomPlugin" ], "markdownEnumDescriptions": [ - "Resource Type Definition for Resiliency Policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-resiliencypolicy.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-customplugin.html)" ] }, "Properties": { - "$ref": "resources/aws-resiliencehub-resiliencypolicy.json" + "$ref": "resources/aws-kafkaconnect-customplugin.json" } }, "required": [ @@ -32871,9 +32779,9 @@ ], "additionalProperties": false }, - "AWS_MediaTailor_Channel": { + "AWS_Bedrock_KnowledgeBase": { "type": "object", - "markdownDescription": "Definition of AWS::MediaTailor::Channel Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channel.html)", + "markdownDescription": "Definition of AWS::Bedrock::KnowledgeBase Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html)", "allOf": [ { "type": "object", @@ -32881,14 +32789,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaTailor::Channel" + "AWS::Bedrock::KnowledgeBase" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaTailor::Channel Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channel.html)" + "Definition of AWS::Bedrock::KnowledgeBase Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html)" ] }, "Properties": { - "$ref": "resources/aws-mediatailor-channel.json" + "$ref": "resources/aws-bedrock-knowledgebase.json" } }, "required": [ @@ -32902,9 +32810,9 @@ ], "additionalProperties": false }, - "AWS_IoTTwinMaker_SyncJob": { + "AWS_IoTWireless_TaskDefinition": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTTwinMaker::SyncJob \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-syncjob.html)", + "markdownDescription": "Creates a gateway task definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-taskdefinition.html)", "allOf": [ { "type": "object", @@ -32912,14 +32820,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTTwinMaker::SyncJob" + "AWS::IoTWireless::TaskDefinition" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTTwinMaker::SyncJob \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-syncjob.html)" + "Creates a gateway task definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-taskdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-iottwinmaker-syncjob.json" + "$ref": "resources/aws-iotwireless-taskdefinition.json" } }, "required": [ @@ -32933,9 +32841,9 @@ ], "additionalProperties": false }, - "AWS_Connect_User": { + "AWS_CodePipeline_Webhook": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-user.html)", + "markdownDescription": "Resource Type definition for AWS::CodePipeline::Webhook \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html)", "allOf": [ { "type": "object", @@ -32943,14 +32851,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::User" + "AWS::CodePipeline::Webhook" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-user.html)" + "Resource Type definition for AWS::CodePipeline::Webhook \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-user.json" + "$ref": "resources/aws-codepipeline-webhook.json" } }, "required": [ @@ -32964,9 +32872,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_AppImageConfig": { + "AWS_EC2_LocalGatewayRoute": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::AppImageConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-appimageconfig.html)", + "markdownDescription": "Describes a route for a local gateway route table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroute.html)", "allOf": [ { "type": "object", @@ -32974,19 +32882,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::AppImageConfig" + "AWS::EC2::LocalGatewayRoute" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::AppImageConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-appimageconfig.html)" + "Describes a route for a local gateway route table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroute.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-appimageconfig.json" + "$ref": "resources/aws-ec2-localgatewayroute.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -32995,9 +32902,9 @@ ], "additionalProperties": false }, - "AWS_ECS_PrimaryTaskSet": { + "AWS_EC2_Host": { "type": "object", - "markdownDescription": "A pseudo-resource that manages which of your ECS task sets is primary. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-primarytaskset.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::Host \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html)", "allOf": [ { "type": "object", @@ -33005,14 +32912,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECS::PrimaryTaskSet" + "AWS::EC2::Host" ], "markdownEnumDescriptions": [ - "A pseudo-resource that manages which of your ECS task sets is primary. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-primarytaskset.html)" + "Resource Type definition for AWS::EC2::Host \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html)" ] }, "Properties": { - "$ref": "resources/aws-ecs-primarytaskset.json" + "$ref": "resources/aws-ec2-host.json" } }, "required": [ @@ -33026,9 +32933,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkAcl": { + "AWS_Neptune_DBClusterParameterGroup": { "type": "object", - "markdownDescription": "Specifies a network ACL for your VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkacl.html)", + "markdownDescription": "Resource Type definition for AWS::Neptune::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html)", "allOf": [ { "type": "object", @@ -33036,14 +32943,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkAcl" + "AWS::Neptune::DBClusterParameterGroup" ], "markdownEnumDescriptions": [ - "Specifies a network ACL for your VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkacl.html)" + "Resource Type definition for AWS::Neptune::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkacl.json" + "$ref": "resources/aws-neptune-dbclusterparametergroup.json" } }, "required": [ @@ -33057,9 +32964,9 @@ ], "additionalProperties": false }, - "AWS_B2BI_Capability": { + "AWS_Deadline_StorageProfile": { "type": "object", - "markdownDescription": "Definition of AWS::B2BI::Capability Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-capability.html)", + "markdownDescription": "Definition of AWS::Deadline::StorageProfile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-storageprofile.html)", "allOf": [ { "type": "object", @@ -33067,14 +32974,14 @@ "Type": { "type": "string", "enum": [ - "AWS::B2BI::Capability" + "AWS::Deadline::StorageProfile" ], "markdownEnumDescriptions": [ - "Definition of AWS::B2BI::Capability Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-capability.html)" + "Definition of AWS::Deadline::StorageProfile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-storageprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-b2bi-capability.json" + "$ref": "resources/aws-deadline-storageprofile.json" } }, "required": [ @@ -33088,9 +32995,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_Agent": { + "AWS_OpsWorks_UserProfile": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::Agent Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html)", + "markdownDescription": "Resource Type definition for AWS::OpsWorks::UserProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-userprofile.html)", "allOf": [ { "type": "object", @@ -33098,14 +33005,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::Agent" + "AWS::OpsWorks::UserProfile" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::Agent Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html)" + "Resource Type definition for AWS::OpsWorks::UserProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-userprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-agent.json" + "$ref": "resources/aws-opsworks-userprofile.json" } }, "required": [ @@ -33119,9 +33026,9 @@ ], "additionalProperties": false }, - "AWS_SecretsManager_SecretTargetAttachment": { + "AWS_LookoutVision_Project": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SecretsManager::SecretTargetAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secrettargetattachment.html)", + "markdownDescription": "The AWS::LookoutVision::Project type creates an Amazon Lookout for Vision project. A project is a grouping of the resources needed to create and manage a Lookout for Vision model. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutvision-project.html)", "allOf": [ { "type": "object", @@ -33129,14 +33036,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecretsManager::SecretTargetAttachment" + "AWS::LookoutVision::Project" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SecretsManager::SecretTargetAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secrettargetattachment.html)" + "The AWS::LookoutVision::Project type creates an Amazon Lookout for Vision project. A project is a grouping of the resources needed to create and manage a Lookout for Vision model. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutvision-project.html)" ] }, "Properties": { - "$ref": "resources/aws-secretsmanager-secrettargetattachment.json" + "$ref": "resources/aws-lookoutvision-project.json" } }, "required": [ @@ -33150,9 +33057,9 @@ ], "additionalProperties": false }, - "AWS_BCMDataExports_Export": { + "AWS_Proton_EnvironmentAccountConnection": { "type": "object", - "markdownDescription": "Definition of AWS::BCMDataExports::Export Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bcmdataexports-export.html)", + "markdownDescription": "Resource Schema describing various properties for AWS Proton Environment Account Connections resources. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-environmentaccountconnection.html)", "allOf": [ { "type": "object", @@ -33160,19 +33067,18 @@ "Type": { "type": "string", "enum": [ - "AWS::BCMDataExports::Export" + "AWS::Proton::EnvironmentAccountConnection" ], "markdownEnumDescriptions": [ - "Definition of AWS::BCMDataExports::Export Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bcmdataexports-export.html)" + "Resource Schema describing various properties for AWS Proton Environment Account Connections resources. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-environmentaccountconnection.html)" ] }, "Properties": { - "$ref": "resources/aws-bcmdataexports-export.json" + "$ref": "resources/aws-proton-environmentaccountconnection.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -33181,9 +33087,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayRouteTablePropagation": { + "AWS_KinesisAnalytics_ApplicationOutput": { "type": "object", - "markdownDescription": "AWS::EC2::TransitGatewayRouteTablePropagation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetablepropagation.html)", + "markdownDescription": "Resource Type definition for AWS::KinesisAnalytics::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationoutput.html)", "allOf": [ { "type": "object", @@ -33191,14 +33097,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayRouteTablePropagation" + "AWS::KinesisAnalytics::ApplicationOutput" ], "markdownEnumDescriptions": [ - "AWS::EC2::TransitGatewayRouteTablePropagation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetablepropagation.html)" + "Resource Type definition for AWS::KinesisAnalytics::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationoutput.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewayroutetablepropagation.json" + "$ref": "resources/aws-kinesisanalytics-applicationoutput.json" } }, "required": [ @@ -33212,9 +33118,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_ImageVersion": { + "AWS_PinpointEmail_ConfigurationSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::ImageVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html)", + "markdownDescription": "Resource Type definition for AWS::PinpointEmail::ConfigurationSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html)", "allOf": [ { "type": "object", @@ -33222,14 +33128,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::ImageVersion" + "AWS::PinpointEmail::ConfigurationSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::ImageVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html)" + "Resource Type definition for AWS::PinpointEmail::ConfigurationSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-imageversion.json" + "$ref": "resources/aws-pinpointemail-configurationset.json" } }, "required": [ @@ -33243,9 +33149,9 @@ ], "additionalProperties": false }, - "AWS_APS_Scraper": { + "AWS_Connect_ContactFlowModule": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::APS::Scraper \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-scraper.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::ContactFlowModule. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-contactflowmodule.html)", "allOf": [ { "type": "object", @@ -33253,14 +33159,14 @@ "Type": { "type": "string", "enum": [ - "AWS::APS::Scraper" + "AWS::Connect::ContactFlowModule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::APS::Scraper \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-scraper.html)" + "Resource Type definition for AWS::Connect::ContactFlowModule. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-contactflowmodule.html)" ] }, "Properties": { - "$ref": "resources/aws-aps-scraper.json" + "$ref": "resources/aws-connect-contactflowmodule.json" } }, "required": [ @@ -33274,9 +33180,9 @@ ], "additionalProperties": false }, - "AWS_LookoutMetrics_AnomalyDetector": { + "AWS_SSMIncidents_ReplicationSet": { "type": "object", - "markdownDescription": "An Amazon Lookout for Metrics Detector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-anomalydetector.html)", + "markdownDescription": "Resource type definition for AWS::SSMIncidents::ReplicationSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-replicationset.html)", "allOf": [ { "type": "object", @@ -33284,14 +33190,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LookoutMetrics::AnomalyDetector" + "AWS::SSMIncidents::ReplicationSet" ], "markdownEnumDescriptions": [ - "An Amazon Lookout for Metrics Detector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-anomalydetector.html)" + "Resource type definition for AWS::SSMIncidents::ReplicationSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-replicationset.html)" ] }, "Properties": { - "$ref": "resources/aws-lookoutmetrics-anomalydetector.json" + "$ref": "resources/aws-ssmincidents-replicationset.json" } }, "required": [ @@ -33305,9 +33211,9 @@ ], "additionalProperties": false }, - "AWS_ManagedBlockchain_Member": { + "AWS_Config_ConfigurationAggregator": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ManagedBlockchain::Member \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html)", + "markdownDescription": "Resource Type definition for AWS::Config::ConfigurationAggregator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationaggregator.html)", "allOf": [ { "type": "object", @@ -33315,19 +33221,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ManagedBlockchain::Member" + "AWS::Config::ConfigurationAggregator" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ManagedBlockchain::Member \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html)" + "Resource Type definition for AWS::Config::ConfigurationAggregator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationaggregator.html)" ] }, "Properties": { - "$ref": "resources/aws-managedblockchain-member.json" + "$ref": "resources/aws-config-configurationaggregator.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -33336,9 +33241,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_CoreDefinitionVersion": { + "AWS_RDS_CustomDBEngineVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::CoreDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html)", + "markdownDescription": "Creates a custom DB engine version (CEV). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html)", "allOf": [ { "type": "object", @@ -33346,14 +33251,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::CoreDefinitionVersion" + "AWS::RDS::CustomDBEngineVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::CoreDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html)" + "Creates a custom DB engine version (CEV). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-coredefinitionversion.json" + "$ref": "resources/aws-rds-customdbengineversion.json" } }, "required": [ @@ -33367,9 +33272,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_MatchmakingRuleSet": { + "AWS_EC2_IPAMScope": { "type": "object", - "markdownDescription": "The AWS::GameLift::MatchmakingRuleSet resource creates an Amazon GameLift (GameLift) matchmaking rule set. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingruleset.html)", + "markdownDescription": "Resource Schema of AWS::EC2::IPAMScope Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamscope.html)", "allOf": [ { "type": "object", @@ -33377,14 +33282,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::MatchmakingRuleSet" + "AWS::EC2::IPAMScope" ], "markdownEnumDescriptions": [ - "The AWS::GameLift::MatchmakingRuleSet resource creates an Amazon GameLift (GameLift) matchmaking rule set. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingruleset.html)" + "Resource Schema of AWS::EC2::IPAMScope Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamscope.html)" ] }, "Properties": { - "$ref": "resources/aws-gamelift-matchmakingruleset.json" + "$ref": "resources/aws-ec2-ipamscope.json" } }, "required": [ @@ -33398,9 +33303,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_FunctionDefinition": { + "AWS_AutoScaling_LaunchConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::FunctionDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html)", + "markdownDescription": "The AWS::AutoScaling::LaunchConfiguration resource specifies the launch configuration that can be used by an Auto Scaling group to configure Amazon EC2 instances. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html)", "allOf": [ { "type": "object", @@ -33408,14 +33313,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::FunctionDefinition" + "AWS::AutoScaling::LaunchConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::FunctionDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html)" + "The AWS::AutoScaling::LaunchConfiguration resource specifies the launch configuration that can be used by an Auto Scaling group to configure Amazon EC2 instances. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-functiondefinition.json" + "$ref": "resources/aws-autoscaling-launchconfiguration.json" } }, "required": [ @@ -33429,9 +33334,9 @@ ], "additionalProperties": false }, - "AWS_DMS_EventSubscription": { + "AWS_CloudWatch_Dashboard": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DMS::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html)", + "markdownDescription": "Resource Type definition for AWS::CloudWatch::Dashboard \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-dashboard.html)", "allOf": [ { "type": "object", @@ -33439,14 +33344,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::EventSubscription" + "AWS::CloudWatch::Dashboard" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DMS::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html)" + "Resource Type definition for AWS::CloudWatch::Dashboard \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-dashboard.html)" ] }, "Properties": { - "$ref": "resources/aws-dms-eventsubscription.json" + "$ref": "resources/aws-cloudwatch-dashboard.json" } }, "required": [ @@ -33460,9 +33365,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_ResourceDefinition": { + "AWS_EC2_VPCDHCPOptionsAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::ResourceDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html)", + "markdownDescription": "Associates a set of DHCP options with a VPC, or associates no DHCP options with the VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcdhcpoptionsassociation.html)", "allOf": [ { "type": "object", @@ -33470,14 +33375,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::ResourceDefinition" + "AWS::EC2::VPCDHCPOptionsAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::ResourceDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html)" + "Associates a set of DHCP options with a VPC, or associates no DHCP options with the VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcdhcpoptionsassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-resourcedefinition.json" + "$ref": "resources/aws-ec2-vpcdhcpoptionsassociation.json" } }, "required": [ @@ -33491,9 +33396,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_ParameterGroup": { + "AWS_CloudFormation_HookDefaultVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElastiCache::ParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-parametergroup.html)", + "markdownDescription": "Set a version as default version for a hook in CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookdefaultversion.html)", "allOf": [ { "type": "object", @@ -33501,19 +33406,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::ParameterGroup" + "AWS::CloudFormation::HookDefaultVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElastiCache::ParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-parametergroup.html)" + "Set a version as default version for a hook in CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookdefaultversion.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-parametergroup.json" + "$ref": "resources/aws-cloudformation-hookdefaultversion.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -33522,9 +33426,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_IdNamespaceAssociation": { + "AWS_Amplify_Domain": { "type": "object", - "markdownDescription": "Represents an association between an ID namespace and a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idnamespaceassociation.html)", + "markdownDescription": "The AWS::Amplify::Domain resource allows you to connect a custom domain to your app. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html)", "allOf": [ { "type": "object", @@ -33532,14 +33436,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::IdNamespaceAssociation" + "AWS::Amplify::Domain" ], "markdownEnumDescriptions": [ - "Represents an association between an ID namespace and a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idnamespaceassociation.html)" + "The AWS::Amplify::Domain resource allows you to connect a custom domain to your app. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html)" ] }, "Properties": { - "$ref": "resources/aws-cleanrooms-idnamespaceassociation.json" + "$ref": "resources/aws-amplify-domain.json" } }, "required": [ @@ -33553,9 +33457,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_Workflow": { + "AWS_ApiGateway_ApiKey": { "type": "object", - "markdownDescription": "Resource schema for AWS::ImageBuilder::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-workflow.html)", + "markdownDescription": "The ``AWS::ApiGateway::ApiKey`` resource creates a unique key that you can distribute to clients who are executing API Gateway ``Method`` resources that require an API key. To specify which API key clients must use, map the API key with the ``RestApi`` and ``Stage`` resources that include the methods that require a key. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html)", "allOf": [ { "type": "object", @@ -33563,19 +33467,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::Workflow" + "AWS::ApiGateway::ApiKey" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-workflow.html)" + "The ``AWS::ApiGateway::ApiKey`` resource creates a unique key that you can distribute to clients who are executing API Gateway ``Method`` resources that require an API key. To specify which API key clients must use, map the API key with the ``RestApi`` and ``Stage`` resources that include the methods that require a key. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html)" ] }, "Properties": { - "$ref": "resources/aws-imagebuilder-workflow.json" + "$ref": "resources/aws-apigateway-apikey.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -33584,9 +33487,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_Group": { + "AWS_CloudWatch_InsightRule": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html)", + "markdownDescription": "Resource Type definition for AWS::CloudWatch::InsightRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html)", "allOf": [ { "type": "object", @@ -33594,14 +33497,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::Group" + "AWS::CloudWatch::InsightRule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html)" + "Resource Type definition for AWS::CloudWatch::InsightRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-group.json" + "$ref": "resources/aws-cloudwatch-insightrule.json" } }, "required": [ @@ -33615,9 +33518,9 @@ ], "additionalProperties": false }, - "AWS_WAFv2_WebACL": { + "AWS_RAM_Permission": { "type": "object", - "markdownDescription": "Contains the Rules that identify the requests that you want to allow, block, or count. In a WebACL, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a WebACL, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the WebACL with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a WebACL, a request needs to match only one of the specifications to be allowed, blocked, or counted. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html)", + "markdownDescription": "Resource type definition for AWS::RAM::Permission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permission.html)", "allOf": [ { "type": "object", @@ -33625,14 +33528,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFv2::WebACL" + "AWS::RAM::Permission" ], "markdownEnumDescriptions": [ - "Contains the Rules that identify the requests that you want to allow, block, or count. In a WebACL, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a WebACL, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the WebACL with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a WebACL, a request needs to match only one of the specifications to be allowed, blocked, or counted. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html)" + "Resource type definition for AWS::RAM::Permission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permission.html)" ] }, "Properties": { - "$ref": "resources/aws-wafv2-webacl.json" + "$ref": "resources/aws-ram-permission.json" } }, "required": [ @@ -33646,9 +33549,9 @@ ], "additionalProperties": false }, - "AWS_SES_MailManagerTrafficPolicy": { + "AWS_CloudFront_MonitoringSubscription": { "type": "object", - "markdownDescription": "Definition of AWS::SES::MailManagerTrafficPolicy Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagertrafficpolicy.html)", + "markdownDescription": "A monitoring subscription. This structure contains information about whether additional CloudWatch metrics are enabled for a given CloudFront distribution. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-monitoringsubscription.html)", "allOf": [ { "type": "object", @@ -33656,14 +33559,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::MailManagerTrafficPolicy" + "AWS::CloudFront::MonitoringSubscription" ], "markdownEnumDescriptions": [ - "Definition of AWS::SES::MailManagerTrafficPolicy Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagertrafficpolicy.html)" + "A monitoring subscription. This structure contains information about whether additional CloudWatch metrics are enabled for a given CloudFront distribution. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-monitoringsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-mailmanagertrafficpolicy.json" + "$ref": "resources/aws-cloudfront-monitoringsubscription.json" } }, "required": [ @@ -33677,9 +33580,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalogAppRegistry_AttributeGroupAssociation": { + "AWS_Chatbot_MicrosoftTeamsChannelConfiguration": { "type": "object", - "markdownDescription": "Resource Schema for AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroupassociation.html)", + "markdownDescription": "Resource schema for AWS::Chatbot::MicrosoftTeamsChannelConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html)", "allOf": [ { "type": "object", @@ -33687,14 +33590,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" + "AWS::Chatbot::MicrosoftTeamsChannelConfiguration" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroupassociation.html)" + "Resource schema for AWS::Chatbot::MicrosoftTeamsChannelConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalogappregistry-attributegroupassociation.json" + "$ref": "resources/aws-chatbot-microsoftteamschannelconfiguration.json" } }, "required": [ @@ -33708,9 +33611,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NatGateway": { + "AWS_Lightsail_Container": { "type": "object", - "markdownDescription": "Specifies a network address translation (NAT) gateway in the specified subnet. You can create either a public NAT gateway or a private NAT gateway. The default is a public NAT gateway. If you create a public NAT gateway, you must specify an elastic IP address.\n With a NAT gateway, instances in a private subnet can connect to the internet, other AWS services, or an on-premises network using the IP address of the NAT gateway. For more information, see [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) in the *Amazon VPC User Guide*.\n If you add a default route (``AWS::EC2::Route`` resource) that points to a NAT gateway, specify the NAT gateway ID for the route's ``NatGatewayId`` property.\n When you associate an Elastic IP address or secondary Elastic IP address with a public NAT gateway, the network border group of the Elastic IP address must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. Otherwise, the NAT gateway fails to launch. You can see the network border group for the AZ by viewing the details of the subnet. Similarly, you can view the network border group for the Elastic IP address by viewing its details. For more information, see [Allocate an Elastic IP address](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#allocate-eip) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::Container \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html)", "allOf": [ { "type": "object", @@ -33718,14 +33621,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NatGateway" + "AWS::Lightsail::Container" ], "markdownEnumDescriptions": [ - "Specifies a network address translation (NAT) gateway in the specified subnet. You can create either a public NAT gateway or a private NAT gateway. The default is a public NAT gateway. If you create a public NAT gateway, you must specify an elastic IP address.\n With a NAT gateway, instances in a private subnet can connect to the internet, other AWS services, or an on-premises network using the IP address of the NAT gateway. For more information, see [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) in the *Amazon VPC User Guide*.\n If you add a default route (``AWS::EC2::Route`` resource) that points to a NAT gateway, specify the NAT gateway ID for the route's ``NatGatewayId`` property.\n When you associate an Elastic IP address or secondary Elastic IP address with a public NAT gateway, the network border group of the Elastic IP address must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. Otherwise, the NAT gateway fails to launch. You can see the network border group for the AZ by viewing the details of the subnet. Similarly, you can view the network border group for the Elastic IP address by viewing its details. For more information, see [Allocate an Elastic IP address](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#allocate-eip) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html)" + "Resource Type definition for AWS::Lightsail::Container \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-natgateway.json" + "$ref": "resources/aws-lightsail-container.json" } }, "required": [ @@ -33739,9 +33642,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayPeeringAttachment": { + "AWS_IVS_EncoderConfiguration": { "type": "object", - "markdownDescription": "The AWS::EC2::TransitGatewayPeeringAttachment type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.html)", + "markdownDescription": "Resource Type definition for AWS::IVS::EncoderConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-encoderconfiguration.html)", "allOf": [ { "type": "object", @@ -33749,19 +33652,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayPeeringAttachment" + "AWS::IVS::EncoderConfiguration" ], "markdownEnumDescriptions": [ - "The AWS::EC2::TransitGatewayPeeringAttachment type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.html)" + "Resource Type definition for AWS::IVS::EncoderConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-encoderconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewaypeeringattachment.json" + "$ref": "resources/aws-ivs-encoderconfiguration.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -33770,9 +33672,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_TagOption": { + "AWS_CodeDeploy_DeploymentConfig": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::TagOption \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoption.html)", + "markdownDescription": "Resource Type definition for AWS::CodeDeploy::DeploymentConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html)", "allOf": [ { "type": "object", @@ -33780,19 +33682,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::TagOption" + "AWS::CodeDeploy::DeploymentConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::TagOption \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoption.html)" + "Resource Type definition for AWS::CodeDeploy::DeploymentConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-tagoption.json" + "$ref": "resources/aws-codedeploy-deploymentconfig.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -33801,9 +33702,9 @@ ], "additionalProperties": false }, - "AWS_LakeFormation_Permissions": { + "AWS_NetworkManager_SiteToSiteVpnAttachment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::LakeFormation::Permissions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html)", + "markdownDescription": "AWS::NetworkManager::SiteToSiteVpnAttachment Resource Type definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-sitetositevpnattachment.html)", "allOf": [ { "type": "object", @@ -33811,14 +33712,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LakeFormation::Permissions" + "AWS::NetworkManager::SiteToSiteVpnAttachment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::LakeFormation::Permissions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html)" + "AWS::NetworkManager::SiteToSiteVpnAttachment Resource Type definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-sitetositevpnattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-lakeformation-permissions.json" + "$ref": "resources/aws-networkmanager-sitetositevpnattachment.json" } }, "required": [ @@ -33832,9 +33733,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VerifiedAccessInstance": { + "AWS_AppConfig_ExtensionAssociation": { "type": "object", - "markdownDescription": "The AWS::EC2::VerifiedAccessInstance resource creates an AWS EC2 Verified Access Instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extensionassociation.html)", "allOf": [ { "type": "object", @@ -33842,14 +33743,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VerifiedAccessInstance" + "AWS::AppConfig::ExtensionAssociation" ], "markdownEnumDescriptions": [ - "The AWS::EC2::VerifiedAccessInstance resource creates an AWS EC2 Verified Access Instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extensionassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-verifiedaccessinstance.json" + "$ref": "resources/aws-appconfig-extensionassociation.json" } }, "required": [ @@ -33862,9 +33763,9 @@ ], "additionalProperties": false }, - "AWS_DMS_Certificate": { + "AWS_BillingConductor_PricingRule": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DMS::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html)", + "markdownDescription": "A markup/discount that is defined for a specific set of services that can later be associated with a pricing plan. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingrule.html)", "allOf": [ { "type": "object", @@ -33872,18 +33773,19 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::Certificate" + "AWS::BillingConductor::PricingRule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DMS::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html)" + "A markup/discount that is defined for a specific set of services that can later be associated with a pricing plan. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingrule.html)" ] }, "Properties": { - "$ref": "resources/aws-dms-certificate.json" + "$ref": "resources/aws-billingconductor-pricingrule.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -33892,9 +33794,9 @@ ], "additionalProperties": false }, - "AWS_Neptune_DBInstance": { + "AWS_ImageBuilder_LifecyclePolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Neptune::DBInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html)", + "markdownDescription": "Resource schema for AWS::ImageBuilder::LifecyclePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html)", "allOf": [ { "type": "object", @@ -33902,14 +33804,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Neptune::DBInstance" + "AWS::ImageBuilder::LifecyclePolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Neptune::DBInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html)" + "Resource schema for AWS::ImageBuilder::LifecyclePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-neptune-dbinstance.json" + "$ref": "resources/aws-imagebuilder-lifecyclepolicy.json" } }, "required": [ @@ -33923,9 +33825,9 @@ ], "additionalProperties": false }, - "AWS_Backup_RestoreTestingPlan": { + "AWS_B2BI_Profile": { "type": "object", - "markdownDescription": "Definition of AWS::Backup::RestoreTestingPlan Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingplan.html)", + "markdownDescription": "Definition of AWS::B2BI::Profile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-profile.html)", "allOf": [ { "type": "object", @@ -33933,14 +33835,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Backup::RestoreTestingPlan" + "AWS::B2BI::Profile" ], "markdownEnumDescriptions": [ - "Definition of AWS::Backup::RestoreTestingPlan Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingplan.html)" + "Definition of AWS::B2BI::Profile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-profile.html)" ] }, "Properties": { - "$ref": "resources/aws-backup-restoretestingplan.json" + "$ref": "resources/aws-b2bi-profile.json" } }, "required": [ @@ -33954,9 +33856,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SecurityGroup": { + "AWS_PCAConnectorSCEP_Challenge": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroup.html)", + "markdownDescription": "Represents a SCEP Challenge that is used for certificate enrollment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorscep-challenge.html)", "allOf": [ { "type": "object", @@ -33964,14 +33866,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SecurityGroup" + "AWS::PCAConnectorSCEP::Challenge" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroup.html)" + "Represents a SCEP Challenge that is used for certificate enrollment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorscep-challenge.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-securitygroup.json" + "$ref": "resources/aws-pcaconnectorscep-challenge.json" } }, "required": [ @@ -33985,9 +33887,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_ConnectAttachment": { + "AWS_EKS_FargateProfile": { "type": "object", - "markdownDescription": "AWS::NetworkManager::ConnectAttachment Resource Type Definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html)", + "markdownDescription": "Resource Schema for AWS::EKS::FargateProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html)", "allOf": [ { "type": "object", @@ -33995,14 +33897,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::ConnectAttachment" + "AWS::EKS::FargateProfile" ], "markdownEnumDescriptions": [ - "AWS::NetworkManager::ConnectAttachment Resource Type Definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html)" + "Resource Schema for AWS::EKS::FargateProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-connectattachment.json" + "$ref": "resources/aws-eks-fargateprofile.json" } }, "required": [ @@ -34016,9 +33918,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_GeoMatchSet": { + "AWS_Neptune_DBParameterGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::GeoMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-geomatchset.html)", + "markdownDescription": "Resource Type definition for AWS::Neptune::DBParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbparametergroup.html)", "allOf": [ { "type": "object", @@ -34026,14 +33928,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::GeoMatchSet" + "AWS::Neptune::DBParameterGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::GeoMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-geomatchset.html)" + "Resource Type definition for AWS::Neptune::DBParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbparametergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-geomatchset.json" + "$ref": "resources/aws-neptune-dbparametergroup.json" } }, "required": [ @@ -34047,9 +33949,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_LayerVersion": { + "AWS_Lambda_LayerVersionPermission": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lambda::LayerVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html)", + "markdownDescription": "Schema for Lambda LayerVersionPermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html)", "allOf": [ { "type": "object", @@ -34057,14 +33959,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::LayerVersion" + "AWS::Lambda::LayerVersionPermission" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lambda::LayerVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html)" + "Schema for Lambda LayerVersionPermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html)" ] }, "Properties": { - "$ref": "resources/aws-lambda-layerversion.json" + "$ref": "resources/aws-lambda-layerversionpermission.json" } }, "required": [ @@ -34078,9 +33980,9 @@ ], "additionalProperties": false }, - "AWS_RefactorSpaces_Route": { + "AWS_IoT_Dimension": { "type": "object", - "markdownDescription": "Definition of AWS::RefactorSpaces::Route Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-route.html)", + "markdownDescription": "A dimension can be used to limit the scope of a metric used in a security profile for AWS IoT Device Defender. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-dimension.html)", "allOf": [ { "type": "object", @@ -34088,14 +33990,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RefactorSpaces::Route" + "AWS::IoT::Dimension" ], "markdownEnumDescriptions": [ - "Definition of AWS::RefactorSpaces::Route Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-route.html)" + "A dimension can be used to limit the scope of a metric used in a security profile for AWS IoT Device Defender. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-dimension.html)" ] }, "Properties": { - "$ref": "resources/aws-refactorspaces-route.json" + "$ref": "resources/aws-iot-dimension.json" } }, "required": [ @@ -34109,9 +34011,9 @@ ], "additionalProperties": false }, - "AWS_Connect_IntegrationAssociation": { + "AWS_SageMaker_Cluster": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::IntegrationAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-integrationassociation.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html)", "allOf": [ { "type": "object", @@ -34119,14 +34021,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::IntegrationAssociation" + "AWS::SageMaker::Cluster" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::IntegrationAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-integrationassociation.html)" + "Resource Type definition for AWS::SageMaker::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-integrationassociation.json" + "$ref": "resources/aws-sagemaker-cluster.json" } }, "required": [ @@ -34140,9 +34042,9 @@ ], "additionalProperties": false }, - "AWS_FSx_FileSystem": { + "AWS_APS_Scraper": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::FSx::FileSystem \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html)", + "markdownDescription": "Resource Type definition for AWS::APS::Scraper \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-scraper.html)", "allOf": [ { "type": "object", @@ -34150,14 +34052,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FSx::FileSystem" + "AWS::APS::Scraper" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::FSx::FileSystem \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html)" + "Resource Type definition for AWS::APS::Scraper \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-scraper.html)" ] }, "Properties": { - "$ref": "resources/aws-fsx-filesystem.json" + "$ref": "resources/aws-aps-scraper.json" } }, "required": [ @@ -34171,9 +34073,9 @@ ], "additionalProperties": false }, - "AWS_EC2_LaunchTemplate": { + "AWS_CloudTrail_Channel": { "type": "object", - "markdownDescription": "Specifies the properties for creating a launch template.\n The minimum required properties for specifying a launch template are as follows:\n + You must specify at least one property for the launch template data.\n + You can optionally specify a name for the launch template. If you do not specify a name, CFN creates a name for you.\n \n A launch template can contain some or all of the configuration information to launch an instance. When you launch an instance using a launch template, instance properties that are not specified in the launch template use default values, except the ``ImageId`` property, which has no default value. If you do not specify an AMI ID for the launch template ``ImageId`` property, you must specify an AMI ID for the instance ``ImageId`` property.\n For more information, see [Launch an instance from a launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) in the *Amazon EC2 User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html)", + "markdownDescription": "A channel receives events from a specific source (such as an on-premises storage solution or application, or a partner event data source), and delivers the events to one or more event data stores. You use channels to ingest events into CloudTrail from sources outside AWS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-channel.html)", "allOf": [ { "type": "object", @@ -34181,19 +34083,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::LaunchTemplate" + "AWS::CloudTrail::Channel" ], "markdownEnumDescriptions": [ - "Specifies the properties for creating a launch template.\n The minimum required properties for specifying a launch template are as follows:\n + You must specify at least one property for the launch template data.\n + You can optionally specify a name for the launch template. If you do not specify a name, CFN creates a name for you.\n \n A launch template can contain some or all of the configuration information to launch an instance. When you launch an instance using a launch template, instance properties that are not specified in the launch template use default values, except the ``ImageId`` property, which has no default value. If you do not specify an AMI ID for the launch template ``ImageId`` property, you must specify an AMI ID for the instance ``ImageId`` property.\n For more information, see [Launch an instance from a launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) in the *Amazon EC2 User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html)" + "A channel receives events from a specific source (such as an on-premises storage solution or application, or a partner event data source), and delivers the events to one or more event data stores. You use channels to ingest events into CloudTrail from sources outside AWS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-channel.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-launchtemplate.json" + "$ref": "resources/aws-cloudtrail-channel.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -34202,9 +34103,9 @@ ], "additionalProperties": false }, - "AWS_NetworkFirewall_LoggingConfiguration": { + "AWS_Cassandra_Keyspace": { "type": "object", - "markdownDescription": "Resource type definition for AWS::NetworkFirewall::LoggingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-loggingconfiguration.html)", + "markdownDescription": "Resource schema for AWS::Cassandra::Keyspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html)", "allOf": [ { "type": "object", @@ -34212,19 +34113,18 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkFirewall::LoggingConfiguration" + "AWS::Cassandra::Keyspace" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::NetworkFirewall::LoggingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-loggingconfiguration.html)" + "Resource schema for AWS::Cassandra::Keyspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html)" ] }, "Properties": { - "$ref": "resources/aws-networkfirewall-loggingconfiguration.json" + "$ref": "resources/aws-cassandra-keyspace.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -34233,9 +34133,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_Method": { + "AWS_Transfer_Profile": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::Method`` resource creates API Gateway methods that define the parameters and body that clients must send in their requests. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html)", + "markdownDescription": "Resource Type definition for AWS::Transfer::Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-profile.html)", "allOf": [ { "type": "object", @@ -34243,14 +34143,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::Method" + "AWS::Transfer::Profile" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::Method`` resource creates API Gateway methods that define the parameters and body that clients must send in their requests. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html)" + "Resource Type definition for AWS::Transfer::Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-profile.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-method.json" + "$ref": "resources/aws-transfer-profile.json" } }, "required": [ @@ -34264,9 +34164,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBParameterGroup": { + "AWS_DataBrew_Schedule": { "type": "object", - "markdownDescription": "The ``AWS::RDS::DBParameterGroup`` resource creates a custom parameter group for an RDS database family.\n This type can be declared in a template and referenced in the ``DBParameterGroupName`` property of an ``AWS::RDS::DBInstance`` resource.\n For information about configuring parameters for Amazon RDS DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html) in the *Amazon RDS User Guide*.\n For information about configuring parameters for Amazon Aurora DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide*.\n Applying a parameter group to a DB instance may require the DB instance to reboot, resulting in a database outage for the duration of the reboot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbparametergroup.html)", + "markdownDescription": "Resource schema for AWS::DataBrew::Schedule. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-schedule.html)", "allOf": [ { "type": "object", @@ -34274,14 +34174,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBParameterGroup" + "AWS::DataBrew::Schedule" ], "markdownEnumDescriptions": [ - "The ``AWS::RDS::DBParameterGroup`` resource creates a custom parameter group for an RDS database family.\n This type can be declared in a template and referenced in the ``DBParameterGroupName`` property of an ``AWS::RDS::DBInstance`` resource.\n For information about configuring parameters for Amazon RDS DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html) in the *Amazon RDS User Guide*.\n For information about configuring parameters for Amazon Aurora DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide*.\n Applying a parameter group to a DB instance may require the DB instance to reboot, resulting in a database outage for the duration of the reboot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbparametergroup.html)" + "Resource schema for AWS::DataBrew::Schedule. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-schedule.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbparametergroup.json" + "$ref": "resources/aws-databrew-schedule.json" } }, "required": [ @@ -34295,9 +34195,9 @@ ], "additionalProperties": false }, - "AWS_CodeBuild_Project": { + "AWS_Connect_InstanceStorageConfig": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CodeBuild::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::InstanceStorageConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-instancestorageconfig.html)", "allOf": [ { "type": "object", @@ -34305,14 +34205,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeBuild::Project" + "AWS::Connect::InstanceStorageConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeBuild::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html)" + "Resource Type definition for AWS::Connect::InstanceStorageConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-instancestorageconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-codebuild-project.json" + "$ref": "resources/aws-connect-instancestorageconfig.json" } }, "required": [ @@ -34326,9 +34226,9 @@ ], "additionalProperties": false }, - "AWS_Events_Archive": { + "AWS_QuickSight_Theme": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Events::Archive \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html)", + "markdownDescription": "Definition of the AWS::QuickSight::Theme Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html)", "allOf": [ { "type": "object", @@ -34336,14 +34236,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Events::Archive" + "AWS::QuickSight::Theme" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Events::Archive \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html)" + "Definition of the AWS::QuickSight::Theme Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html)" ] }, "Properties": { - "$ref": "resources/aws-events-archive.json" + "$ref": "resources/aws-quicksight-theme.json" } }, "required": [ @@ -34357,9 +34257,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_MulticastGroup": { + "AWS_Comprehend_Flywheel": { "type": "object", - "markdownDescription": "Create and manage Multicast groups. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-multicastgroup.html)", + "markdownDescription": "The AWS::Comprehend::Flywheel resource creates an Amazon Comprehend Flywheel that enables customer to train their model. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-comprehend-flywheel.html)", "allOf": [ { "type": "object", @@ -34367,14 +34267,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::MulticastGroup" + "AWS::Comprehend::Flywheel" ], "markdownEnumDescriptions": [ - "Create and manage Multicast groups. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-multicastgroup.html)" + "The AWS::Comprehend::Flywheel resource creates an Amazon Comprehend Flywheel that enables customer to train their model. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-comprehend-flywheel.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-multicastgroup.json" + "$ref": "resources/aws-comprehend-flywheel.json" } }, "required": [ @@ -34388,9 +34288,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_EventSourceMapping": { + "AWS_VpcLattice_AuthPolicy": { "type": "object", - "markdownDescription": "The ``AWS::Lambda::EventSourceMapping`` resource creates a mapping between an event source and an LAMlong function. LAM reads items from the event source and triggers the function.\n For details about each event source type, see the following topics. In particular, each of the topics describes the required and optional parameters for the specific event source. \n + [Configuring a Dynamo DB stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-dynamodb-eventsourcemapping) \n + [Configuring a Kinesis stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-eventsourcemapping) \n + [Configuring an SQS queue as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-eventsource) \n + [Configuring an MQ broker as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-eventsourcemapping) \n + [Configuring MSK as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html) \n + [Configuring Self-Managed Apache Kafka as an event source](https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html) \n + [Configuring Amazon DocumentDB as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)", + "markdownDescription": "Creates or updates the auth policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-authpolicy.html)", "allOf": [ { "type": "object", @@ -34398,14 +34298,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::EventSourceMapping" + "AWS::VpcLattice::AuthPolicy" ], "markdownEnumDescriptions": [ - "The ``AWS::Lambda::EventSourceMapping`` resource creates a mapping between an event source and an LAMlong function. LAM reads items from the event source and triggers the function.\n For details about each event source type, see the following topics. In particular, each of the topics describes the required and optional parameters for the specific event source. \n + [Configuring a Dynamo DB stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-dynamodb-eventsourcemapping) \n + [Configuring a Kinesis stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-eventsourcemapping) \n + [Configuring an SQS queue as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-eventsource) \n + [Configuring an MQ broker as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-eventsourcemapping) \n + [Configuring MSK as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html) \n + [Configuring Self-Managed Apache Kafka as an event source](https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html) \n + [Configuring Amazon DocumentDB as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)" + "Creates or updates the auth policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-authpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-lambda-eventsourcemapping.json" + "$ref": "resources/aws-vpclattice-authpolicy.json" } }, "required": [ @@ -34419,9 +34319,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_AuthPolicy": { + "AWS_LakeFormation_DataCellsFilter": { "type": "object", - "markdownDescription": "Creates or updates the auth policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-authpolicy.html)", + "markdownDescription": "A resource schema representing a Lake Formation Data Cells Filter. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datacellsfilter.html)", "allOf": [ { "type": "object", @@ -34429,14 +34329,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::AuthPolicy" + "AWS::LakeFormation::DataCellsFilter" ], "markdownEnumDescriptions": [ - "Creates or updates the auth policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-authpolicy.html)" + "A resource schema representing a Lake Formation Data Cells Filter. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datacellsfilter.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-authpolicy.json" + "$ref": "resources/aws-lakeformation-datacellsfilter.json" } }, "required": [ @@ -34450,9 +34350,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationEFS": { + "AWS_EC2_IPAM": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationEFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html)", + "markdownDescription": "Resource Schema of AWS::EC2::IPAM Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipam.html)", "allOf": [ { "type": "object", @@ -34460,19 +34360,18 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationEFS" + "AWS::EC2::IPAM" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationEFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html)" + "Resource Schema of AWS::EC2::IPAM Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipam.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationefs.json" + "$ref": "resources/aws-ec2-ipam.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -34481,9 +34380,9 @@ ], "additionalProperties": false }, - "AWS_OpenSearchServerless_SecurityConfig": { + "AWS_BackupGateway_Hypervisor": { "type": "object", - "markdownDescription": "Amazon OpenSearchServerless security config resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securityconfig.html)", + "markdownDescription": "Definition of AWS::BackupGateway::Hypervisor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backupgateway-hypervisor.html)", "allOf": [ { "type": "object", @@ -34491,14 +34390,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpenSearchServerless::SecurityConfig" + "AWS::BackupGateway::Hypervisor" ], "markdownEnumDescriptions": [ - "Amazon OpenSearchServerless security config resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securityconfig.html)" + "Definition of AWS::BackupGateway::Hypervisor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backupgateway-hypervisor.html)" ] }, "Properties": { - "$ref": "resources/aws-opensearchserverless-securityconfig.json" + "$ref": "resources/aws-backupgateway-hypervisor.json" } }, "required": [ @@ -34511,9 +34410,9 @@ ], "additionalProperties": false }, - "AWS_SSMContacts_Contact": { + "AWS_RDS_Integration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SSMContacts::Contact \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contact.html)", + "markdownDescription": "A zero-ETL integration with Amazon Redshift. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-integration.html)", "allOf": [ { "type": "object", @@ -34521,14 +34420,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSMContacts::Contact" + "AWS::RDS::Integration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSMContacts::Contact \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contact.html)" + "A zero-ETL integration with Amazon Redshift. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-integration.html)" ] }, "Properties": { - "$ref": "resources/aws-ssmcontacts-contact.json" + "$ref": "resources/aws-rds-integration.json" } }, "required": [ @@ -34542,9 +34441,9 @@ ], "additionalProperties": false }, - "Alexa_ASK_Skill": { + "AWS_SES_MailManagerArchive": { "type": "object", - "markdownDescription": "Resource Type definition for Alexa::ASK::Skill \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-alexa-ask-skill.html)", + "markdownDescription": "Definition of AWS::SES::MailManagerArchive Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerarchive.html)", "allOf": [ { "type": "object", @@ -34552,19 +34451,18 @@ "Type": { "type": "string", "enum": [ - "Alexa::ASK::Skill" + "AWS::SES::MailManagerArchive" ], "markdownEnumDescriptions": [ - "Resource Type definition for Alexa::ASK::Skill \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-alexa-ask-skill.html)" + "Definition of AWS::SES::MailManagerArchive Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerarchive.html)" ] }, "Properties": { - "$ref": "resources/alexa-ask-skill.json" + "$ref": "resources/aws-ses-mailmanagerarchive.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -34573,9 +34471,9 @@ ], "additionalProperties": false }, - "AWS_IAM_RolePolicy": { + "AWS_DataZone_GroupProfile": { "type": "object", - "markdownDescription": "Adds or updates an inline policy document that is embedded in the specified IAM role.\n When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html). You can update a role's trust policy using [UpdateAssumeRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAssumeRolePolicy.html). For information about roles, see [roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html) in the *IAM User Guide*.\n A role can also have a managed policy attached to it. To attach a managed policy to a role, use [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed with a role, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html)", + "markdownDescription": "Group profiles represent groups of Amazon DataZone users. Groups can be manually created, or mapped to Active Directory groups of enterprise customers. In Amazon DataZone, groups serve two purposes. First, a group can map to a team of users in the organizational chart, and thus reduce the administrative work of a Amazon DataZone project owner when there are new employees joining or leaving a team. Second, corporate administrators use Active Directory groups to manage and update user statuses and so Amazon DataZone domain administrators can use these group memberships to implement Amazon DataZone domain policies. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-groupprofile.html)", "allOf": [ { "type": "object", @@ -34583,14 +34481,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::RolePolicy" + "AWS::DataZone::GroupProfile" ], "markdownEnumDescriptions": [ - "Adds or updates an inline policy document that is embedded in the specified IAM role.\n When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html). You can update a role's trust policy using [UpdateAssumeRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAssumeRolePolicy.html). For information about roles, see [roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html) in the *IAM User Guide*.\n A role can also have a managed policy attached to it. To attach a managed policy to a role, use [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed with a role, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html)" + "Group profiles represent groups of Amazon DataZone users. Groups can be manually created, or mapped to Active Directory groups of enterprise customers. In Amazon DataZone, groups serve two purposes. First, a group can map to a team of users in the organizational chart, and thus reduce the administrative work of a Amazon DataZone project owner when there are new employees joining or leaving a team. Second, corporate administrators use Active Directory groups to manage and update user statuses and so Amazon DataZone domain administrators can use these group memberships to implement Amazon DataZone domain policies. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-groupprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-rolepolicy.json" + "$ref": "resources/aws-datazone-groupprofile.json" } }, "required": [ @@ -34604,9 +34502,9 @@ ], "additionalProperties": false }, - "AWS_MemoryDB_ACL": { + "AWS_SecurityLake_Subscriber": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MemoryDB::ACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-acl.html)", + "markdownDescription": "Resource Type definition for AWS::SecurityLake::Subscriber \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscriber.html)", "allOf": [ { "type": "object", @@ -34614,14 +34512,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MemoryDB::ACL" + "AWS::SecurityLake::Subscriber" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MemoryDB::ACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-acl.html)" + "Resource Type definition for AWS::SecurityLake::Subscriber \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscriber.html)" ] }, "Properties": { - "$ref": "resources/aws-memorydb-acl.json" + "$ref": "resources/aws-securitylake-subscriber.json" } }, "required": [ @@ -34635,9 +34533,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_GraphQLApi": { + "AWS_Evidently_Launch": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppSync::GraphQLApi \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html)", + "markdownDescription": "Resource Type definition for AWS::Evidently::Launch. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-launch.html)", "allOf": [ { "type": "object", @@ -34645,14 +34543,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::GraphQLApi" + "AWS::Evidently::Launch" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppSync::GraphQLApi \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html)" + "Resource Type definition for AWS::Evidently::Launch. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-launch.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-graphqlapi.json" + "$ref": "resources/aws-evidently-launch.json" } }, "required": [ @@ -34666,9 +34564,9 @@ ], "additionalProperties": false }, - "AWS_IoT_Policy": { + "AWS_IoTFleetWise_ModelManifest": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT::Policy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policy.html)", + "markdownDescription": "Definition of AWS::IoTFleetWise::ModelManifest Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-modelmanifest.html)", "allOf": [ { "type": "object", @@ -34676,14 +34574,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::Policy" + "AWS::IoTFleetWise::ModelManifest" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::Policy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policy.html)" + "Definition of AWS::IoTFleetWise::ModelManifest Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-modelmanifest.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-policy.json" + "$ref": "resources/aws-iotfleetwise-modelmanifest.json" } }, "required": [ @@ -34697,9 +34595,9 @@ ], "additionalProperties": false }, - "AWS_EKS_Cluster": { + "AWS_Cognito_IdentityPool": { "type": "object", - "markdownDescription": "An object representing an Amazon EKS cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::IdentityPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html)", "allOf": [ { "type": "object", @@ -34707,14 +34605,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EKS::Cluster" + "AWS::Cognito::IdentityPool" ], "markdownEnumDescriptions": [ - "An object representing an Amazon EKS cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html)" + "Resource Type definition for AWS::Cognito::IdentityPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html)" ] }, "Properties": { - "$ref": "resources/aws-eks-cluster.json" + "$ref": "resources/aws-cognito-identitypool.json" } }, "required": [ @@ -34728,9 +34626,9 @@ ], "additionalProperties": false }, - "AWS_XRay_ResourcePolicy": { + "AWS_Macie_AllowList": { "type": "object", - "markdownDescription": "This schema provides construct and validation rules for AWS-XRay Resource Policy resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-resourcepolicy.html)", + "markdownDescription": "Macie AllowList resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-allowlist.html)", "allOf": [ { "type": "object", @@ -34738,14 +34636,14 @@ "Type": { "type": "string", "enum": [ - "AWS::XRay::ResourcePolicy" + "AWS::Macie::AllowList" ], "markdownEnumDescriptions": [ - "This schema provides construct and validation rules for AWS-XRay Resource Policy resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-resourcepolicy.html)" + "Macie AllowList resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-allowlist.html)" ] }, "Properties": { - "$ref": "resources/aws-xray-resourcepolicy.json" + "$ref": "resources/aws-macie-allowlist.json" } }, "required": [ @@ -34759,9 +34657,9 @@ ], "additionalProperties": false }, - "AWS_Backup_RestoreTestingSelection": { + "AWS_RoboMaker_Fleet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Backup::RestoreTestingSelection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.html)", + "markdownDescription": "AWS::RoboMaker::Fleet resource creates an AWS RoboMaker fleet. Fleets contain robots and can receive deployments. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-fleet.html)", "allOf": [ { "type": "object", @@ -34769,19 +34667,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Backup::RestoreTestingSelection" + "AWS::RoboMaker::Fleet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Backup::RestoreTestingSelection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.html)" + "AWS::RoboMaker::Fleet resource creates an AWS RoboMaker fleet. Fleets contain robots and can receive deployments. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-fleet.html)" ] }, "Properties": { - "$ref": "resources/aws-backup-restoretestingselection.json" + "$ref": "resources/aws-robomaker-fleet.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -34790,9 +34687,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_Function": { + "AWS_GuardDuty_Master": { "type": "object", - "markdownDescription": "The ``AWS::Lambda::Function`` resource creates a Lambda function. To create a function, you need a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) and an [execution role](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.\n You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For a container image, the code property must include the URI of a container image in the Amazon ECR registry. You do not need to specify the handler and runtime properties. \n You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For a .zip file archive, the code property specifies the location of the .zip file. You must also specify the handler and runtime properties. For a Python example, see [Deploy Python Lambda functions with .zip file archives](https://docs.aws.amazon.com/lambda/latest/dg/python-package.html).\n You can use [code signing](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with ``UpdateFunctionCode``, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.\n Note that you configure [provisioned concurrency](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) on a ``AWS::Lambda::Version`` or a ``AWS::Lambda::Alias``.\n For a complete introduction to Lambda functions, see [What is Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/lambda-welcome.html) in the *Lambda developer guide.* \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html)", + "markdownDescription": "GuardDuty Master resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html)", "allOf": [ { "type": "object", @@ -34800,14 +34697,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::Function" + "AWS::GuardDuty::Master" ], "markdownEnumDescriptions": [ - "The ``AWS::Lambda::Function`` resource creates a Lambda function. To create a function, you need a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) and an [execution role](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.\n You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For a container image, the code property must include the URI of a container image in the Amazon ECR registry. You do not need to specify the handler and runtime properties. \n You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For a .zip file archive, the code property specifies the location of the .zip file. You must also specify the handler and runtime properties. For a Python example, see [Deploy Python Lambda functions with .zip file archives](https://docs.aws.amazon.com/lambda/latest/dg/python-package.html).\n You can use [code signing](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with ``UpdateFunctionCode``, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.\n Note that you configure [provisioned concurrency](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) on a ``AWS::Lambda::Version`` or a ``AWS::Lambda::Alias``.\n For a complete introduction to Lambda functions, see [What is Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/lambda-welcome.html) in the *Lambda developer guide.* \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html)" + "GuardDuty Master resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html)" ] }, "Properties": { - "$ref": "resources/aws-lambda-function.json" + "$ref": "resources/aws-guardduty-master.json" } }, "required": [ @@ -34821,9 +34718,9 @@ ], "additionalProperties": false }, - "AWS_CE_AnomalySubscription": { + "AWS_EC2_SubnetNetworkAclAssociation": { "type": "object", - "markdownDescription": "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. Create subscription to be notified \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::SubnetNetworkAclAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetnetworkaclassociation.html)", "allOf": [ { "type": "object", @@ -34831,14 +34728,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CE::AnomalySubscription" + "AWS::EC2::SubnetNetworkAclAssociation" ], "markdownEnumDescriptions": [ - "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. Create subscription to be notified \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html)" + "Resource Type definition for AWS::EC2::SubnetNetworkAclAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetnetworkaclassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-ce-anomalysubscription.json" + "$ref": "resources/aws-ec2-subnetnetworkaclassociation.json" } }, "required": [ @@ -34852,9 +34749,9 @@ ], "additionalProperties": false }, - "AWS_KMS_Alias": { + "AWS_CloudFront_AnycastIpList": { "type": "object", - "markdownDescription": "The ``AWS::KMS::Alias`` resource specifies a display name for a [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys). You can use an alias to identify a KMS key in the KMS console, in the [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) operation, and in [cryptographic operations](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations), such as [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) and [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html).\n Adding, deleting, or updating an alias can allow or deny permission to the KMS key. For details, see [ABAC for](https://docs.aws.amazon.com/kms/latest/developerguide/abac.html) in the *Developer Guide*.\n Using an alias to refer to a KMS key can help you simplify key management. For example, an alias in your code can be associated with different KMS keys in different AWS-Regions. For more information, see [Using aliases](https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html) in the *Developer Guide*.\n When specifying an alias, observe the following rules.\n + Each alias is associated with one KMS key, but multiple aliases can be associated with the same KMS key.\n + The alias and its associated KMS key must be in the same AWS-account and Region.\n + The alias name must be unique in the AWS-account and Region. However, you can create aliases with the same name in different AWS-Regions. For example, you can have an ``alias/projectKey`` in multiple Regions, each of which is associated with a KMS key in its Region.\n + Each alias name must begin with ``alias/`` followed by a name, such as ``alias/exampleKey``. The alias name can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). Alias names cannot begin with ``alias/aws/``. That alias name prefix is reserved for [](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk).\n \n *Regions* \n KMS CloudFormation resources are available in all AWS-Regions in which KMS and CFN are supported. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html)", + "markdownDescription": "Definition of AWS::CloudFront::AnycastIpList Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-anycastiplist.html)", "allOf": [ { "type": "object", @@ -34862,14 +34759,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KMS::Alias" + "AWS::CloudFront::AnycastIpList" ], "markdownEnumDescriptions": [ - "The ``AWS::KMS::Alias`` resource specifies a display name for a [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys). You can use an alias to identify a KMS key in the KMS console, in the [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) operation, and in [cryptographic operations](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations), such as [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) and [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html).\n Adding, deleting, or updating an alias can allow or deny permission to the KMS key. For details, see [ABAC for](https://docs.aws.amazon.com/kms/latest/developerguide/abac.html) in the *Developer Guide*.\n Using an alias to refer to a KMS key can help you simplify key management. For example, an alias in your code can be associated with different KMS keys in different AWS-Regions. For more information, see [Using aliases](https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html) in the *Developer Guide*.\n When specifying an alias, observe the following rules.\n + Each alias is associated with one KMS key, but multiple aliases can be associated with the same KMS key.\n + The alias and its associated KMS key must be in the same AWS-account and Region.\n + The alias name must be unique in the AWS-account and Region. However, you can create aliases with the same name in different AWS-Regions. For example, you can have an ``alias/projectKey`` in multiple Regions, each of which is associated with a KMS key in its Region.\n + Each alias name must begin with ``alias/`` followed by a name, such as ``alias/exampleKey``. The alias name can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). Alias names cannot begin with ``alias/aws/``. That alias name prefix is reserved for [](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk).\n \n *Regions* \n KMS CloudFormation resources are available in all AWS-Regions in which KMS and CFN are supported. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html)" + "Definition of AWS::CloudFront::AnycastIpList Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-anycastiplist.html)" ] }, "Properties": { - "$ref": "resources/aws-kms-alias.json" + "$ref": "resources/aws-cloudfront-anycastiplist.json" } }, "required": [ @@ -34883,9 +34780,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkAclEntry": { + "AWS_KinesisAnalyticsV2_ApplicationReferenceDataSource": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::NetworkAclEntry \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html)", + "markdownDescription": "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationreferencedatasource.html)", "allOf": [ { "type": "object", @@ -34893,14 +34790,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkAclEntry" + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::NetworkAclEntry \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html)" + "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationreferencedatasource.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkaclentry.json" + "$ref": "resources/aws-kinesisanalyticsv2-applicationreferencedatasource.json" } }, "required": [ @@ -34914,9 +34811,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_RouteResponse": { + "AWS_SecurityHub_Standard": { "type": "object", - "markdownDescription": "The ``AWS::ApiGatewayV2::RouteResponse`` resource creates a route response for a WebSocket API. For more information, see [Set up Route Responses for a WebSocket API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-route-response.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html)", + "markdownDescription": "The ``AWS::SecurityHub::Standard`` resource specifies the enablement of a security standard. The standard is identified by the ``StandardsArn`` property. To view a list of ASH standards and their Amazon Resource Names (ARNs), use the [DescribeStandards](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_DescribeStandards.html) API operation.\n You must create a separate ``AWS::SecurityHub::Standard`` resource for each standard that you want to enable.\n For more information about ASH standards, see [standards reference](https://docs.aws.amazon.com/securityhub/latest/userguide/standards-reference.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-standard.html)", "allOf": [ { "type": "object", @@ -34924,14 +34821,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::RouteResponse" + "AWS::SecurityHub::Standard" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGatewayV2::RouteResponse`` resource creates a route response for a WebSocket API. For more information, see [Set up Route Responses for a WebSocket API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-route-response.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html)" + "The ``AWS::SecurityHub::Standard`` resource specifies the enablement of a security standard. The standard is identified by the ``StandardsArn`` property. To view a list of ASH standards and their Amazon Resource Names (ARNs), use the [DescribeStandards](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_DescribeStandards.html) API operation.\n You must create a separate ``AWS::SecurityHub::Standard`` resource for each standard that you want to enable.\n For more information about ASH standards, see [standards reference](https://docs.aws.amazon.com/securityhub/latest/userguide/standards-reference.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-standard.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-routeresponse.json" + "$ref": "resources/aws-securityhub-standard.json" } }, "required": [ @@ -34945,9 +34842,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_LoadBalancer": { + "AWS_EC2_PrefixList": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::LoadBalancer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-loadbalancer.html)", + "markdownDescription": "Resource schema of AWS::EC2::PrefixList Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html)", "allOf": [ { "type": "object", @@ -34955,14 +34852,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::LoadBalancer" + "AWS::EC2::PrefixList" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::LoadBalancer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-loadbalancer.html)" + "Resource schema of AWS::EC2::PrefixList Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-loadbalancer.json" + "$ref": "resources/aws-ec2-prefixlist.json" } }, "required": [ @@ -34976,9 +34873,9 @@ ], "additionalProperties": false }, - "AWS_EC2_RouteTable": { + "AWS_GameLift_ContainerGroupDefinition": { "type": "object", - "markdownDescription": "Specifies a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.\n For more information, see [Route tables](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html)", + "markdownDescription": "The AWS::GameLift::ContainerGroupDefinition resource creates an Amazon GameLift container group definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containergroupdefinition.html)", "allOf": [ { "type": "object", @@ -34986,14 +34883,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::RouteTable" + "AWS::GameLift::ContainerGroupDefinition" ], "markdownEnumDescriptions": [ - "Specifies a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.\n For more information, see [Route tables](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html)" + "The AWS::GameLift::ContainerGroupDefinition resource creates an Amazon GameLift container group definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containergroupdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-routetable.json" + "$ref": "resources/aws-gamelift-containergroupdefinition.json" } }, "required": [ @@ -35007,9 +34904,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_ReplicationGroup": { + "AWS_RefactorSpaces_Route": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElastiCache::ReplicationGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html)", + "markdownDescription": "Definition of AWS::RefactorSpaces::Route Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-route.html)", "allOf": [ { "type": "object", @@ -35017,14 +34914,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::ReplicationGroup" + "AWS::RefactorSpaces::Route" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElastiCache::ReplicationGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html)" + "Definition of AWS::RefactorSpaces::Route Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-route.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-replicationgroup.json" + "$ref": "resources/aws-refactorspaces-route.json" } }, "required": [ @@ -35038,9 +34935,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_AppBlockBuilder": { + "AWS_Macie_Session": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::AppBlockBuilder. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html)", + "markdownDescription": "The AWS::Macie::Session resource specifies a new Amazon Macie session. A session is an object that represents the Amazon Macie service. A session is required for Amazon Macie to become operational. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-session.html)", "allOf": [ { "type": "object", @@ -35048,19 +34945,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::AppBlockBuilder" + "AWS::Macie::Session" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::AppBlockBuilder. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html)" + "The AWS::Macie::Session resource specifies a new Amazon Macie session. A session is an object that represents the Amazon Macie service. A session is required for Amazon Macie to become operational. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-session.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-appblockbuilder.json" + "$ref": "resources/aws-macie-session.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -35069,9 +34965,9 @@ ], "additionalProperties": false }, - "AWS_Synthetics_Group": { + "AWS_StepFunctions_StateMachineVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Synthetics::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-group.html)", + "markdownDescription": "Resource schema for StateMachineVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachineversion.html)", "allOf": [ { "type": "object", @@ -35079,14 +34975,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Synthetics::Group" + "AWS::StepFunctions::StateMachineVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Synthetics::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-group.html)" + "Resource schema for StateMachineVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachineversion.html)" ] }, "Properties": { - "$ref": "resources/aws-synthetics-group.json" + "$ref": "resources/aws-stepfunctions-statemachineversion.json" } }, "required": [ @@ -35100,9 +34996,9 @@ ], "additionalProperties": false }, - "AWS_S3_AccessGrantsInstance": { + "AWS_SecurityLake_SubscriberNotification": { "type": "object", - "markdownDescription": "The AWS::S3::AccessGrantsInstance resource is an Amazon S3 resource type that hosts Access Grants and their associated locations \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantsinstance.html)", + "markdownDescription": "Resource Type definition for AWS::SecurityLake::SubscriberNotification \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscribernotification.html)", "allOf": [ { "type": "object", @@ -35110,18 +35006,19 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::AccessGrantsInstance" + "AWS::SecurityLake::SubscriberNotification" ], "markdownEnumDescriptions": [ - "The AWS::S3::AccessGrantsInstance resource is an Amazon S3 resource type that hosts Access Grants and their associated locations \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantsinstance.html)" + "Resource Type definition for AWS::SecurityLake::SubscriberNotification \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscribernotification.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-accessgrantsinstance.json" + "$ref": "resources/aws-securitylake-subscribernotification.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -35130,9 +35027,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackage_OriginEndpoint": { + "AWS_PCAConnectorSCEP_Connector": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaPackage::OriginEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html)", + "markdownDescription": "Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorscep-connector.html)", "allOf": [ { "type": "object", @@ -35140,14 +35037,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackage::OriginEndpoint" + "AWS::PCAConnectorSCEP::Connector" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaPackage::OriginEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html)" + "Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorscep-connector.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackage-originendpoint.json" + "$ref": "resources/aws-pcaconnectorscep-connector.json" } }, "required": [ @@ -35161,9 +35058,9 @@ ], "additionalProperties": false }, - "AWS_FinSpace_Environment": { + "AWS_LookoutMetrics_AnomalyDetector": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-finspace-environment.html)", + "markdownDescription": "An Amazon Lookout for Metrics Detector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-anomalydetector.html)", "allOf": [ { "type": "object", @@ -35171,14 +35068,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FinSpace::Environment" + "AWS::LookoutMetrics::AnomalyDetector" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-finspace-environment.html)" + "An Amazon Lookout for Metrics Detector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-anomalydetector.html)" ] }, "Properties": { - "$ref": "resources/aws-finspace-environment.json" + "$ref": "resources/aws-lookoutmetrics-anomalydetector.json" } }, "required": [ @@ -35192,9 +35089,9 @@ ], "additionalProperties": false }, - "AWS_WAFv2_IPSet": { + "AWS_Config_OrganizationConfigRule": { "type": "object", - "markdownDescription": "Contains a list of IP addresses. This can be either IPV4 or IPV6. The list will be mutually \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-ipset.html)", + "markdownDescription": "Resource Type definition for AWS::Config::OrganizationConfigRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html)", "allOf": [ { "type": "object", @@ -35202,14 +35099,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFv2::IPSet" + "AWS::Config::OrganizationConfigRule" ], "markdownEnumDescriptions": [ - "Contains a list of IP addresses. This can be either IPV4 or IPV6. The list will be mutually \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-ipset.html)" + "Resource Type definition for AWS::Config::OrganizationConfigRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html)" ] }, "Properties": { - "$ref": "resources/aws-wafv2-ipset.json" + "$ref": "resources/aws-config-organizationconfigrule.json" } }, "required": [ @@ -35223,9 +35120,9 @@ ], "additionalProperties": false }, - "AWS_Route53_RecordSetGroup": { + "AWS_CloudFormation_Publisher": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Route53::RecordSetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html)", + "markdownDescription": "Register as a publisher in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publisher.html)", "allOf": [ { "type": "object", @@ -35233,18 +35130,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53::RecordSetGroup" + "AWS::CloudFormation::Publisher" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Route53::RecordSetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html)" + "Register as a publisher in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publisher.html)" ] }, "Properties": { - "$ref": "resources/aws-route53-recordsetgroup.json" + "$ref": "resources/aws-cloudformation-publisher.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -35253,9 +35151,9 @@ ], "additionalProperties": false }, - "AWS_EKS_Nodegroup": { + "AWS_SecretsManager_SecretTargetAttachment": { "type": "object", - "markdownDescription": "Resource schema for AWS::EKS::Nodegroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html)", + "markdownDescription": "Resource Type definition for AWS::SecretsManager::SecretTargetAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secrettargetattachment.html)", "allOf": [ { "type": "object", @@ -35263,14 +35161,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EKS::Nodegroup" + "AWS::SecretsManager::SecretTargetAttachment" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EKS::Nodegroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html)" + "Resource Type definition for AWS::SecretsManager::SecretTargetAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secrettargetattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-eks-nodegroup.json" + "$ref": "resources/aws-secretsmanager-secrettargetattachment.json" } }, "required": [ @@ -35284,9 +35182,9 @@ ], "additionalProperties": false }, - "AWS_AmazonMQ_Broker": { + "AWS_DynamoDB_GlobalTable": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AmazonMQ::Broker \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html)", + "markdownDescription": "Version: None. Resource Type definition for AWS::DynamoDB::GlobalTable \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html)", "allOf": [ { "type": "object", @@ -35294,14 +35192,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AmazonMQ::Broker" + "AWS::DynamoDB::GlobalTable" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AmazonMQ::Broker \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html)" + "Version: None. Resource Type definition for AWS::DynamoDB::GlobalTable \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html)" ] }, "Properties": { - "$ref": "resources/aws-amazonmq-broker.json" + "$ref": "resources/aws-dynamodb-globaltable.json" } }, "required": [ @@ -35315,9 +35213,9 @@ ], "additionalProperties": false }, - "AWS_IAM_ServiceLinkedRole": { + "AWS_IoT_ResourceSpecificLogging": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IAM::ServiceLinkedRole \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servicelinkedrole.html)", + "markdownDescription": "Resource-specific logging allows you to specify a logging level for a specific thing group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-resourcespecificlogging.html)", "allOf": [ { "type": "object", @@ -35325,18 +35223,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::ServiceLinkedRole" + "AWS::IoT::ResourceSpecificLogging" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IAM::ServiceLinkedRole \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servicelinkedrole.html)" + "Resource-specific logging allows you to specify a logging level for a specific thing group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-resourcespecificlogging.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-servicelinkedrole.json" + "$ref": "resources/aws-iot-resourcespecificlogging.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -35345,9 +35244,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_EnvironmentActions": { + "AWS_WAFRegional_SqlInjectionMatchSet": { "type": "object", - "markdownDescription": "Definition of AWS::DataZone::EnvironmentActions Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentactions.html)", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::SqlInjectionMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sqlinjectionmatchset.html)", "allOf": [ { "type": "object", @@ -35355,14 +35254,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::EnvironmentActions" + "AWS::WAFRegional::SqlInjectionMatchSet" ], "markdownEnumDescriptions": [ - "Definition of AWS::DataZone::EnvironmentActions Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentactions.html)" + "Resource Type definition for AWS::WAFRegional::SqlInjectionMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sqlinjectionmatchset.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-environmentactions.json" + "$ref": "resources/aws-wafregional-sqlinjectionmatchset.json" } }, "required": [ @@ -35376,9 +35275,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_ConnectorDefinition": { + "AWS_EC2_VerifiedAccessGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::ConnectorDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html)", + "markdownDescription": "The AWS::EC2::VerifiedAccessGroup resource creates an AWS EC2 Verified Access Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessgroup.html)", "allOf": [ { "type": "object", @@ -35386,14 +35285,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::ConnectorDefinition" + "AWS::EC2::VerifiedAccessGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::ConnectorDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html)" + "The AWS::EC2::VerifiedAccessGroup resource creates an AWS EC2 Verified Access Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-connectordefinition.json" + "$ref": "resources/aws-ec2-verifiedaccessgroup.json" } }, "required": [ @@ -35407,9 +35306,9 @@ ], "additionalProperties": false }, - "AWS_EC2_EgressOnlyInternetGateway": { + "AWS_DataBrew_Recipe": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::EgressOnlyInternetGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-egressonlyinternetgateway.html)", + "markdownDescription": "Resource schema for AWS::DataBrew::Recipe. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-recipe.html)", "allOf": [ { "type": "object", @@ -35417,14 +35316,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::EgressOnlyInternetGateway" + "AWS::DataBrew::Recipe" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::EgressOnlyInternetGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-egressonlyinternetgateway.html)" + "Resource schema for AWS::DataBrew::Recipe. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-recipe.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-egressonlyinternetgateway.json" + "$ref": "resources/aws-databrew-recipe.json" } }, "required": [ @@ -35438,9 +35337,9 @@ ], "additionalProperties": false }, - "AWS_EntityResolution_MatchingWorkflow": { + "AWS_CustomerProfiles_SegmentDefinition": { "type": "object", - "markdownDescription": "MatchingWorkflow defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html)", + "markdownDescription": "A segment definition resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-segmentdefinition.html)", "allOf": [ { "type": "object", @@ -35448,14 +35347,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EntityResolution::MatchingWorkflow" + "AWS::CustomerProfiles::SegmentDefinition" ], "markdownEnumDescriptions": [ - "MatchingWorkflow defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html)" + "A segment definition resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-segmentdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-entityresolution-matchingworkflow.json" + "$ref": "resources/aws-customerprofiles-segmentdefinition.json" } }, "required": [ @@ -35469,9 +35368,9 @@ ], "additionalProperties": false }, - "AWS_LicenseManager_License": { + "AWS_DataSync_LocationSMB": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::LicenseManager::License \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationSMB. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html)", "allOf": [ { "type": "object", @@ -35479,14 +35378,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LicenseManager::License" + "AWS::DataSync::LocationSMB" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::LicenseManager::License \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.html)" + "Resource schema for AWS::DataSync::LocationSMB. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html)" ] }, "Properties": { - "$ref": "resources/aws-licensemanager-license.json" + "$ref": "resources/aws-datasync-locationsmb.json" } }, "required": [ @@ -35500,9 +35399,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Space": { + "AWS_ServiceDiscovery_HttpNamespace": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::Space \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-space.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceDiscovery::HttpNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-httpnamespace.html)", "allOf": [ { "type": "object", @@ -35510,14 +35409,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Space" + "AWS::ServiceDiscovery::HttpNamespace" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Space \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-space.html)" + "Resource Type definition for AWS::ServiceDiscovery::HttpNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-httpnamespace.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-space.json" + "$ref": "resources/aws-servicediscovery-httpnamespace.json" } }, "required": [ @@ -35531,9 +35430,9 @@ ], "additionalProperties": false }, - "AWS_IoTFleetWise_DecoderManifest": { + "AWS_SSM_MaintenanceWindowTarget": { "type": "object", - "markdownDescription": "Definition of AWS::IoTFleetWise::DecoderManifest Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-decodermanifest.html)", + "markdownDescription": "Resource Type definition for AWS::SSM::MaintenanceWindowTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html)", "allOf": [ { "type": "object", @@ -35541,14 +35440,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTFleetWise::DecoderManifest" + "AWS::SSM::MaintenanceWindowTarget" ], "markdownEnumDescriptions": [ - "Definition of AWS::IoTFleetWise::DecoderManifest Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-decodermanifest.html)" + "Resource Type definition for AWS::SSM::MaintenanceWindowTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html)" ] }, "Properties": { - "$ref": "resources/aws-iotfleetwise-decodermanifest.json" + "$ref": "resources/aws-ssm-maintenancewindowtarget.json" } }, "required": [ @@ -35562,9 +35461,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBInstance": { + "AWS_SageMaker_NotebookInstanceLifecycleConfig": { "type": "object", - "markdownDescription": "The ``AWS::RDS::DBInstance`` resource creates an Amazon DB instance. The new DB instance can be an RDS DB instance, or it can be a DB instance in an Aurora DB cluster.\n For more information about creating an RDS DB instance, see [Creating an Amazon RDS DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html) in the *Amazon RDS User Guide*.\n For more information about creating a DB instance in an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide*.\n If you import an existing DB instance, and the template configuration doesn't match the actual configuration of the DB instance, AWS CloudFormation applies the changes in the template during the import operation.\n If a DB instance is deleted or replaced during an update, AWS CloudFormation deletes all automated snapshots. However, it retains manual DB snapshots. During an update that requires replacement, you can apply a stack policy to prevent DB instances from being replaced. For more information, see [Prevent Updates to Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html).\n *Updating DB instances* \n When properties labeled \"*Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)\" are updated, AWS CloudFormation first creates a replacement DB instance, then changes references from other dependent resources to point to the replacement DB instance, and finally deletes the old DB instance.\n We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB instance. To preserve your data, perform the following procedure:\n 1. Deactivate any applications that are using the DB instance so that there's no activity on the DB instance.\n 1. Create a snapshot of the DB instance. For more information, see [Creating a DB Snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html).\n 1. If you want to restore your instance using a DB snapshot, modify the updated template with your DB instance changes and add the ``DBSnapshotIdentifier`` property with the ID of the DB snapshot that you want to use.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you can delete the ``DBSnapshotIdentifier`` property. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n 1. Update the stack.\n \n For more information about updating other properties of this resource, see ``ModifyDBInstance``. For more information about updating stacks, see [CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html).\n *Deleting DB instances* \n For DB instances that are part of an Aurora DB cluster, you can set a deletion policy for your DB instance to control how AWS CloudFormation handles the DB instance when the stack is deleted. For Amazon RDS DB instances, you can choose to *retain* the DB instance, to *delete* the DB instance, or to *create a snapshot* of the DB instance. The default AWS CloudFormation behavior depends on the ``DBClusterIdentifier`` property:\n 1. For ``AWS::RDS::DBInstance`` resources that don't specify the ``DBClusterIdentifier`` property, AWS CloudFormation saves a snapshot of the DB instance.\n 1. For ``AWS::RDS::DBInstance`` resources that do specify the ``DBClusterIdentifier`` property, AWS CloudFormation deletes the DB instance.\n \n For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::NotebookInstanceLifecycleConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstancelifecycleconfig.html)", "allOf": [ { "type": "object", @@ -35572,14 +35471,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBInstance" + "AWS::SageMaker::NotebookInstanceLifecycleConfig" ], "markdownEnumDescriptions": [ - "The ``AWS::RDS::DBInstance`` resource creates an Amazon DB instance. The new DB instance can be an RDS DB instance, or it can be a DB instance in an Aurora DB cluster.\n For more information about creating an RDS DB instance, see [Creating an Amazon RDS DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html) in the *Amazon RDS User Guide*.\n For more information about creating a DB instance in an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide*.\n If you import an existing DB instance, and the template configuration doesn't match the actual configuration of the DB instance, AWS CloudFormation applies the changes in the template during the import operation.\n If a DB instance is deleted or replaced during an update, AWS CloudFormation deletes all automated snapshots. However, it retains manual DB snapshots. During an update that requires replacement, you can apply a stack policy to prevent DB instances from being replaced. For more information, see [Prevent Updates to Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html).\n *Updating DB instances* \n When properties labeled \"*Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)\" are updated, AWS CloudFormation first creates a replacement DB instance, then changes references from other dependent resources to point to the replacement DB instance, and finally deletes the old DB instance.\n We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB instance. To preserve your data, perform the following procedure:\n 1. Deactivate any applications that are using the DB instance so that there's no activity on the DB instance.\n 1. Create a snapshot of the DB instance. For more information, see [Creating a DB Snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html).\n 1. If you want to restore your instance using a DB snapshot, modify the updated template with your DB instance changes and add the ``DBSnapshotIdentifier`` property with the ID of the DB snapshot that you want to use.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you can delete the ``DBSnapshotIdentifier`` property. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n 1. Update the stack.\n \n For more information about updating other properties of this resource, see ``ModifyDBInstance``. For more information about updating stacks, see [CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html).\n *Deleting DB instances* \n For DB instances that are part of an Aurora DB cluster, you can set a deletion policy for your DB instance to control how AWS CloudFormation handles the DB instance when the stack is deleted. For Amazon RDS DB instances, you can choose to *retain* the DB instance, to *delete* the DB instance, or to *create a snapshot* of the DB instance. The default AWS CloudFormation behavior depends on the ``DBClusterIdentifier`` property:\n 1. For ``AWS::RDS::DBInstance`` resources that don't specify the ``DBClusterIdentifier`` property, AWS CloudFormation saves a snapshot of the DB instance.\n 1. For ``AWS::RDS::DBInstance`` resources that do specify the ``DBClusterIdentifier`` property, AWS CloudFormation deletes the DB instance.\n \n For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html)" + "Resource Type definition for AWS::SageMaker::NotebookInstanceLifecycleConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstancelifecycleconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbinstance.json" + "$ref": "resources/aws-sagemaker-notebookinstancelifecycleconfig.json" } }, "required": [ @@ -35592,9 +35491,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_VpcAttachment": { + "AWS_Greengrass_DeviceDefinition": { "type": "object", - "markdownDescription": "AWS::NetworkManager::VpcAttachment Resoruce Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-vpcattachment.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::DeviceDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html)", "allOf": [ { "type": "object", @@ -35602,14 +35501,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::VpcAttachment" + "AWS::Greengrass::DeviceDefinition" ], "markdownEnumDescriptions": [ - "AWS::NetworkManager::VpcAttachment Resoruce Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-vpcattachment.html)" + "Resource Type definition for AWS::Greengrass::DeviceDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-vpcattachment.json" + "$ref": "resources/aws-greengrass-devicedefinition.json" } }, "required": [ @@ -35623,9 +35522,9 @@ ], "additionalProperties": false }, - "AWS_Connect_ApprovedOrigin": { + "AWS_RDS_DBSubnetGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::ApprovedOrigin \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-approvedorigin.html)", + "markdownDescription": "The ``AWS::RDS::DBSubnetGroup`` resource creates a database subnet group. Subnet groups must contain at least two subnets in two different Availability Zones in the same region. \n For more information, see [Working with DB subnet groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Subnets) in the *Amazon RDS User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnetgroup.html)", "allOf": [ { "type": "object", @@ -35633,14 +35532,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::ApprovedOrigin" + "AWS::RDS::DBSubnetGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::ApprovedOrigin \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-approvedorigin.html)" + "The ``AWS::RDS::DBSubnetGroup`` resource creates a database subnet group. Subnet groups must contain at least two subnets in two different Availability Zones in the same region. \n For more information, see [Working with DB subnet groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Subnets) in the *Amazon RDS User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-approvedorigin.json" + "$ref": "resources/aws-rds-dbsubnetgroup.json" } }, "required": [ @@ -35654,9 +35553,9 @@ ], "additionalProperties": false }, - "AWS_MemoryDB_ParameterGroup": { + "AWS_EC2_LocalGatewayRouteTable": { "type": "object", - "markdownDescription": "The AWS::MemoryDB::ParameterGroup resource creates an Amazon MemoryDB ParameterGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-parametergroup.html)", + "markdownDescription": "Describes a route table for a local gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetable.html)", "allOf": [ { "type": "object", @@ -35664,14 +35563,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MemoryDB::ParameterGroup" + "AWS::EC2::LocalGatewayRouteTable" ], "markdownEnumDescriptions": [ - "The AWS::MemoryDB::ParameterGroup resource creates an Amazon MemoryDB ParameterGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-parametergroup.html)" + "Describes a route table for a local gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetable.html)" ] }, "Properties": { - "$ref": "resources/aws-memorydb-parametergroup.json" + "$ref": "resources/aws-ec2-localgatewayroutetable.json" } }, "required": [ @@ -35685,9 +35584,9 @@ ], "additionalProperties": false }, - "AWS_RoboMaker_SimulationApplicationVersion": { + "AWS_SSO_ApplicationAssignment": { "type": "object", - "markdownDescription": "AWS::RoboMaker::SimulationApplicationVersion resource creates an AWS RoboMaker SimulationApplicationVersion. This helps you control which code your simulation uses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplicationversion.html)", + "markdownDescription": "Resource Type definition for SSO application access grant to a user or group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-applicationassignment.html)", "allOf": [ { "type": "object", @@ -35695,14 +35594,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RoboMaker::SimulationApplicationVersion" + "AWS::SSO::ApplicationAssignment" ], "markdownEnumDescriptions": [ - "AWS::RoboMaker::SimulationApplicationVersion resource creates an AWS RoboMaker SimulationApplicationVersion. This helps you control which code your simulation uses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplicationversion.html)" + "Resource Type definition for SSO application access grant to a user or group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-applicationassignment.html)" ] }, "Properties": { - "$ref": "resources/aws-robomaker-simulationapplicationversion.json" + "$ref": "resources/aws-sso-applicationassignment.json" } }, "required": [ @@ -35716,9 +35615,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_LaunchTemplateConstraint": { + "AWS_Location_GeofenceCollection": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::LaunchTemplateConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchtemplateconstraint.html)", + "markdownDescription": "Definition of AWS::Location::GeofenceCollection Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-geofencecollection.html)", "allOf": [ { "type": "object", @@ -35726,14 +35625,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::LaunchTemplateConstraint" + "AWS::Location::GeofenceCollection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::LaunchTemplateConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchtemplateconstraint.html)" + "Definition of AWS::Location::GeofenceCollection Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-geofencecollection.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-launchtemplateconstraint.json" + "$ref": "resources/aws-location-geofencecollection.json" } }, "required": [ @@ -35747,9 +35646,9 @@ ], "additionalProperties": false }, - "AWS_GlobalAccelerator_Accelerator": { + "AWS_EC2_TransitGatewayMulticastDomainAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GlobalAccelerator::Accelerator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html)", + "markdownDescription": "The AWS::EC2::TransitGatewayMulticastDomainAssociation type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html)", "allOf": [ { "type": "object", @@ -35757,14 +35656,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GlobalAccelerator::Accelerator" + "AWS::EC2::TransitGatewayMulticastDomainAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GlobalAccelerator::Accelerator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html)" + "The AWS::EC2::TransitGatewayMulticastDomainAssociation type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-globalaccelerator-accelerator.json" + "$ref": "resources/aws-ec2-transitgatewaymulticastdomainassociation.json" } }, "required": [ @@ -35778,9 +35677,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Crawler": { + "AWS_DocDB_DBCluster": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::Crawler \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html)", + "markdownDescription": "Resource Type definition for AWS::DocDB::DBCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html)", "allOf": [ { "type": "object", @@ -35788,19 +35687,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Crawler" + "AWS::DocDB::DBCluster" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Crawler \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html)" + "Resource Type definition for AWS::DocDB::DBCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-crawler.json" + "$ref": "resources/aws-docdb-dbcluster.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -35809,9 +35707,9 @@ ], "additionalProperties": false }, - "AWS_CodeArtifact_Domain": { + "AWS_Bedrock_GuardrailVersion": { "type": "object", - "markdownDescription": "The resource schema to create a CodeArtifact domain. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html)", + "markdownDescription": "Definition of AWS::Bedrock::GuardrailVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrailversion.html)", "allOf": [ { "type": "object", @@ -35819,14 +35717,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeArtifact::Domain" + "AWS::Bedrock::GuardrailVersion" ], "markdownEnumDescriptions": [ - "The resource schema to create a CodeArtifact domain. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html)" + "Definition of AWS::Bedrock::GuardrailVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrailversion.html)" ] }, "Properties": { - "$ref": "resources/aws-codeartifact-domain.json" + "$ref": "resources/aws-bedrock-guardrailversion.json" } }, "required": [ @@ -35840,9 +35738,9 @@ ], "additionalProperties": false }, - "AWS_Glue_MLTransform": { + "AWS_Kendra_Index": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::MLTransform \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html)", + "markdownDescription": "A Kendra index \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html)", "allOf": [ { "type": "object", @@ -35850,14 +35748,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::MLTransform" + "AWS::Kendra::Index" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::MLTransform \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html)" + "A Kendra index \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-mltransform.json" + "$ref": "resources/aws-kendra-index.json" } }, "required": [ @@ -35871,9 +35769,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_DataSet": { + "AWS_NetworkManager_Device": { "type": "object", - "markdownDescription": "Definition of the AWS::QuickSight::DataSet Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dataset.html)", + "markdownDescription": "The AWS::NetworkManager::Device type describes a device. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html)", "allOf": [ { "type": "object", @@ -35881,18 +35779,19 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::DataSet" + "AWS::NetworkManager::Device" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::DataSet Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dataset.html)" + "The AWS::NetworkManager::Device type describes a device. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html)" ] }, "Properties": { - "$ref": "resources/aws-quicksight-dataset.json" + "$ref": "resources/aws-networkmanager-device.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -35901,9 +35800,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TrafficMirrorFilterRule": { + "AWS_SageMaker_Domain": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::TrafficMirrorFilterRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-domain.html)", "allOf": [ { "type": "object", @@ -35911,14 +35810,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TrafficMirrorFilterRule" + "AWS::SageMaker::Domain" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TrafficMirrorFilterRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html)" + "Resource Type definition for AWS::SageMaker::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-domain.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-trafficmirrorfilterrule.json" + "$ref": "resources/aws-sagemaker-domain.json" } }, "required": [ @@ -35932,9 +35831,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Schema": { + "AWS_Evidently_Feature": { "type": "object", - "markdownDescription": "This resource represents a schema of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html)", + "markdownDescription": "Resource Type definition for AWS::Evidently::Feature. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-feature.html)", "allOf": [ { "type": "object", @@ -35942,14 +35841,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Schema" + "AWS::Evidently::Feature" ], "markdownEnumDescriptions": [ - "This resource represents a schema of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html)" + "Resource Type definition for AWS::Evidently::Feature. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-feature.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-schema.json" + "$ref": "resources/aws-evidently-feature.json" } }, "required": [ @@ -35963,9 +35862,9 @@ ], "additionalProperties": false }, - "AWS_EC2_IPAMPool": { + "AWS_S3_StorageLens": { "type": "object", - "markdownDescription": "Resource Schema of AWS::EC2::IPAMPool Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html)", + "markdownDescription": "The AWS::S3::StorageLens resource is an Amazon S3 resource type that you can use to create Storage Lens configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html)", "allOf": [ { "type": "object", @@ -35973,14 +35872,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::IPAMPool" + "AWS::S3::StorageLens" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EC2::IPAMPool Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html)" + "The AWS::S3::StorageLens resource is an Amazon S3 resource type that you can use to create Storage Lens configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-ipampool.json" + "$ref": "resources/aws-s3-storagelens.json" } }, "required": [ @@ -35994,9 +35893,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_LinkAssociation": { + "AWS_VpcLattice_TargetGroup": { "type": "object", - "markdownDescription": "The AWS::NetworkManager::LinkAssociation type associates a link to a device. The device and link must be in the same global network and the same site. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html)", + "markdownDescription": "A target group is a collection of targets, or compute resources, that run your application or service. A target group can only be used by a single service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-targetgroup.html)", "allOf": [ { "type": "object", @@ -36004,14 +35903,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::LinkAssociation" + "AWS::VpcLattice::TargetGroup" ], "markdownEnumDescriptions": [ - "The AWS::NetworkManager::LinkAssociation type associates a link to a device. The device and link must be in the same global network and the same site. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html)" + "A target group is a collection of targets, or compute resources, that run your application or service. A target group can only be used by a single service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-targetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-linkassociation.json" + "$ref": "resources/aws-vpclattice-targetgroup.json" } }, "required": [ @@ -36025,9 +35924,9 @@ ], "additionalProperties": false }, - "AWS_Batch_ComputeEnvironment": { + "AWS_AppStream_User": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Batch::ComputeEnvironment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html)", "allOf": [ { "type": "object", @@ -36035,14 +35934,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Batch::ComputeEnvironment" + "AWS::AppStream::User" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Batch::ComputeEnvironment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html)" + "Resource Type definition for AWS::AppStream::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html)" ] }, "Properties": { - "$ref": "resources/aws-batch-computeenvironment.json" + "$ref": "resources/aws-appstream-user.json" } }, "required": [ @@ -36056,9 +35955,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesThinClient_Environment": { + "AWS_PCAConnectorAD_Template": { "type": "object", - "markdownDescription": "Resource type definition for AWS::WorkSpacesThinClient::Environment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesthinclient-environment.html)", + "markdownDescription": "Represents a template that defines certificate configurations, both for issuance and client handling \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-template.html)", "allOf": [ { "type": "object", @@ -36066,14 +35965,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesThinClient::Environment" + "AWS::PCAConnectorAD::Template" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::WorkSpacesThinClient::Environment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesthinclient-environment.html)" + "Represents a template that defines certificate configurations, both for issuance and client handling \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-template.html)" ] }, "Properties": { - "$ref": "resources/aws-workspacesthinclient-environment.json" + "$ref": "resources/aws-pcaconnectorad-template.json" } }, "required": [ @@ -36087,9 +35986,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_Task": { + "AWS_Personalize_Dataset": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::Task. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html)", + "markdownDescription": "Resource schema for AWS::Personalize::Dataset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-dataset.html)", "allOf": [ { "type": "object", @@ -36097,14 +35996,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::Task" + "AWS::Personalize::Dataset" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::Task. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html)" + "Resource schema for AWS::Personalize::Dataset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-dataset.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-task.json" + "$ref": "resources/aws-personalize-dataset.json" } }, "required": [ @@ -36118,9 +36017,9 @@ ], "additionalProperties": false }, - "AWS_LakeFormation_TagAssociation": { + "AWS_IAM_Policy": { "type": "object", - "markdownDescription": "A resource schema representing a Lake Formation Tag Association. While tag associations are not explicit Lake Formation resources, this CloudFormation resource can be used to associate tags with Lake Formation entities. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-tagassociation.html)", + "markdownDescription": "Adds or updates an inline policy document that is embedded in the specified IAM group, user or role.\n An IAM user can also have a managed policy attached to it. For information about policies, see [Managed Policies and Inline Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *User Guide*.\n The Groups, Roles, and Users properties are optional. However, you must specify at least one of these properties.\n For information about policy documents see [Creating policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) in the *User Guide*.\n For information about limits on the number of inline policies that you can embed in an identity, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.\n This resource does not support [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). The following inline policy resource types support drift detection:\n + [AWS::IAM::GroupPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html) \n + [AWS::IAM::RolePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html) \n + [AWS::IAM::UserPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html)", "allOf": [ { "type": "object", @@ -36128,14 +36027,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LakeFormation::TagAssociation" + "AWS::IAM::Policy" ], "markdownEnumDescriptions": [ - "A resource schema representing a Lake Formation Tag Association. While tag associations are not explicit Lake Formation resources, this CloudFormation resource can be used to associate tags with Lake Formation entities. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-tagassociation.html)" + "Adds or updates an inline policy document that is embedded in the specified IAM group, user or role.\n An IAM user can also have a managed policy attached to it. For information about policies, see [Managed Policies and Inline Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *User Guide*.\n The Groups, Roles, and Users properties are optional. However, you must specify at least one of these properties.\n For information about policy documents see [Creating policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) in the *User Guide*.\n For information about limits on the number of inline policies that you can embed in an identity, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.\n This resource does not support [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). The following inline policy resource types support drift detection:\n + [AWS::IAM::GroupPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html) \n + [AWS::IAM::RolePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html) \n + [AWS::IAM::UserPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html)" ] }, "Properties": { - "$ref": "resources/aws-lakeformation-tagassociation.json" + "$ref": "resources/aws-iam-policy.json" } }, "required": [ @@ -36149,9 +36048,9 @@ ], "additionalProperties": false }, - "AWS_CustomerProfiles_Domain": { + "AWS_Wisdom_AssistantAssociation": { "type": "object", - "markdownDescription": "A domain defined for 3rd party data source in Profile Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-domain.html)", + "markdownDescription": "Definition of AWS::Wisdom::AssistantAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-assistantassociation.html)", "allOf": [ { "type": "object", @@ -36159,14 +36058,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CustomerProfiles::Domain" + "AWS::Wisdom::AssistantAssociation" ], "markdownEnumDescriptions": [ - "A domain defined for 3rd party data source in Profile Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-domain.html)" + "Definition of AWS::Wisdom::AssistantAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-assistantassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-customerprofiles-domain.json" + "$ref": "resources/aws-wisdom-assistantassociation.json" } }, "required": [ @@ -36180,9 +36079,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_ContainerGroupDefinition": { + "AWS_Athena_CapacityReservation": { "type": "object", - "markdownDescription": "The AWS::GameLift::ContainerGroupDefinition resource creates an Amazon GameLift container group definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containergroupdefinition.html)", + "markdownDescription": "Resource schema for AWS::Athena::CapacityReservation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html)", "allOf": [ { "type": "object", @@ -36190,14 +36089,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::ContainerGroupDefinition" + "AWS::Athena::CapacityReservation" ], "markdownEnumDescriptions": [ - "The AWS::GameLift::ContainerGroupDefinition resource creates an Amazon GameLift container group definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containergroupdefinition.html)" + "Resource schema for AWS::Athena::CapacityReservation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html)" ] }, "Properties": { - "$ref": "resources/aws-gamelift-containergroupdefinition.json" + "$ref": "resources/aws-athena-capacityreservation.json" } }, "required": [ @@ -36211,9 +36110,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_Network": { + "AWS_PinpointEmail_DedicatedIpPool": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaLive::Network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-network.html)", + "markdownDescription": "Resource Type definition for AWS::PinpointEmail::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-dedicatedippool.html)", "allOf": [ { "type": "object", @@ -36221,19 +36120,18 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::Network" + "AWS::PinpointEmail::DedicatedIpPool" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaLive::Network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-network.html)" + "Resource Type definition for AWS::PinpointEmail::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-dedicatedippool.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-network.json" + "$ref": "resources/aws-pinpointemail-dedicatedippool.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -36242,9 +36140,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBProxyEndpoint": { + "AWS_AppSync_DomainNameApiAssociation": { "type": "object", - "markdownDescription": "Resource schema for AWS::RDS::DBProxyEndpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxyendpoint.html)", + "markdownDescription": "Resource Type definition for AWS::AppSync::DomainNameApiAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainnameapiassociation.html)", "allOf": [ { "type": "object", @@ -36252,14 +36150,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBProxyEndpoint" + "AWS::AppSync::DomainNameApiAssociation" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::RDS::DBProxyEndpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxyendpoint.html)" + "Resource Type definition for AWS::AppSync::DomainNameApiAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainnameapiassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbproxyendpoint.json" + "$ref": "resources/aws-appsync-domainnameapiassociation.json" } }, "required": [ @@ -36273,9 +36171,9 @@ ], "additionalProperties": false }, - "AWS_CodeDeploy_DeploymentGroup": { + "AWS_Route53Resolver_ResolverRuleAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CodeDeploy::DeploymentGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html)", + "markdownDescription": "In the response to an [AssociateResolverRule](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html), [DisassociateResolverRule](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverRule.html), or [ListResolverRuleAssociations](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html) request, provides information about an association between a resolver rule and a VPC. The association determines which DNS queries that originate in the VPC are forwarded to your network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverruleassociation.html)", "allOf": [ { "type": "object", @@ -36283,14 +36181,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeDeploy::DeploymentGroup" + "AWS::Route53Resolver::ResolverRuleAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeDeploy::DeploymentGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html)" + "In the response to an [AssociateResolverRule](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html), [DisassociateResolverRule](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverRule.html), or [ListResolverRuleAssociations](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html) request, provides information about an association between a resolver rule and a VPC. The association determines which DNS queries that originate in the VPC are forwarded to your network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverruleassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-codedeploy-deploymentgroup.json" + "$ref": "resources/aws-route53resolver-resolverruleassociation.json" } }, "required": [ @@ -36304,9 +36202,9 @@ ], "additionalProperties": false }, - "AWS_IoT_CertificateProvider": { + "AWS_AppConfig_Deployment": { "type": "object", - "markdownDescription": "Use the AWS::IoT::CertificateProvider resource to declare an AWS IoT Certificate Provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificateprovider.html)", + "markdownDescription": "Resource Type definition for AWS::AppConfig::Deployment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html)", "allOf": [ { "type": "object", @@ -36314,14 +36212,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::CertificateProvider" + "AWS::AppConfig::Deployment" ], "markdownEnumDescriptions": [ - "Use the AWS::IoT::CertificateProvider resource to declare an AWS IoT Certificate Provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificateprovider.html)" + "Resource Type definition for AWS::AppConfig::Deployment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-certificateprovider.json" + "$ref": "resources/aws-appconfig-deployment.json" } }, "required": [ @@ -36335,9 +36233,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalogAppRegistry_Application": { + "AWS_QBusiness_Plugin": { "type": "object", - "markdownDescription": "Resource Schema for AWS::ServiceCatalogAppRegistry::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-application.html)", + "markdownDescription": "Definition of AWS::QBusiness::Plugin Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-plugin.html)", "allOf": [ { "type": "object", @@ -36345,14 +36243,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalogAppRegistry::Application" + "AWS::QBusiness::Plugin" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::ServiceCatalogAppRegistry::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-application.html)" + "Definition of AWS::QBusiness::Plugin Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-plugin.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalogappregistry-application.json" + "$ref": "resources/aws-qbusiness-plugin.json" } }, "required": [ @@ -36366,9 +36264,9 @@ ], "additionalProperties": false }, - "AWS_DataPipeline_Pipeline": { + "AWS_EC2_SecurityGroup": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroup.html)", "allOf": [ { "type": "object", @@ -36376,14 +36274,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataPipeline::Pipeline" + "AWS::EC2::SecurityGroup" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html)" + "Resource Type definition for AWS::EC2::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroup.html)" ] }, "Properties": { - "$ref": "resources/aws-datapipeline-pipeline.json" + "$ref": "resources/aws-ec2-securitygroup.json" } }, "required": [ @@ -36397,9 +36295,9 @@ ], "additionalProperties": false }, - "AWS_WAFv2_LoggingConfiguration": { + "AWS_VerifiedPermissions_Policy": { "type": "object", - "markdownDescription": "A WAFv2 Logging Configuration Resource Provider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-loggingconfiguration.html)", + "markdownDescription": "Definition of AWS::VerifiedPermissions::Policy Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policy.html)", "allOf": [ { "type": "object", @@ -36407,14 +36305,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFv2::LoggingConfiguration" + "AWS::VerifiedPermissions::Policy" ], "markdownEnumDescriptions": [ - "A WAFv2 Logging Configuration Resource Provider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-loggingconfiguration.html)" + "Definition of AWS::VerifiedPermissions::Policy Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policy.html)" ] }, "Properties": { - "$ref": "resources/aws-wafv2-loggingconfiguration.json" + "$ref": "resources/aws-verifiedpermissions-policy.json" } }, "required": [ @@ -36428,9 +36326,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Workteam": { + "AWS_SageMaker_DeviceFleet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::Workteam \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html)", + "markdownDescription": "Resource schema for AWS::SageMaker::DeviceFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-devicefleet.html)", "allOf": [ { "type": "object", @@ -36438,18 +36336,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Workteam" + "AWS::SageMaker::DeviceFleet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Workteam \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html)" + "Resource schema for AWS::SageMaker::DeviceFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-devicefleet.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-workteam.json" + "$ref": "resources/aws-sagemaker-devicefleet.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -36458,9 +36357,9 @@ ], "additionalProperties": false }, - "AWS_SSMIncidents_ReplicationSet": { + "AWS_MediaConnect_BridgeSource": { "type": "object", - "markdownDescription": "Resource type definition for AWS::SSMIncidents::ReplicationSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-replicationset.html)", + "markdownDescription": "Resource schema for AWS::MediaConnect::BridgeSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgesource.html)", "allOf": [ { "type": "object", @@ -36468,14 +36367,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSMIncidents::ReplicationSet" + "AWS::MediaConnect::BridgeSource" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::SSMIncidents::ReplicationSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-replicationset.html)" + "Resource schema for AWS::MediaConnect::BridgeSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgesource.html)" ] }, "Properties": { - "$ref": "resources/aws-ssmincidents-replicationset.json" + "$ref": "resources/aws-mediaconnect-bridgesource.json" } }, "required": [ @@ -36489,9 +36388,9 @@ ], "additionalProperties": false }, - "AWS_GuardDuty_Detector": { + "AWS_Lambda_Version": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GuardDuty::Detector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-detector.html)", + "markdownDescription": "Resource Type definition for AWS::Lambda::Version \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html)", "allOf": [ { "type": "object", @@ -36499,14 +36398,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GuardDuty::Detector" + "AWS::Lambda::Version" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GuardDuty::Detector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-detector.html)" + "Resource Type definition for AWS::Lambda::Version \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html)" ] }, "Properties": { - "$ref": "resources/aws-guardduty-detector.json" + "$ref": "resources/aws-lambda-version.json" } }, "required": [ @@ -36520,9 +36419,9 @@ ], "additionalProperties": false }, - "AWS_DocDB_EventSubscription": { + "AWS_IAM_ServiceLinkedRole": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DocDB::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html)", + "markdownDescription": "Resource Type definition for AWS::IAM::ServiceLinkedRole \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servicelinkedrole.html)", "allOf": [ { "type": "object", @@ -36530,19 +36429,18 @@ "Type": { "type": "string", "enum": [ - "AWS::DocDB::EventSubscription" + "AWS::IAM::ServiceLinkedRole" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DocDB::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html)" + "Resource Type definition for AWS::IAM::ServiceLinkedRole \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servicelinkedrole.html)" ] }, "Properties": { - "$ref": "resources/aws-docdb-eventsubscription.json" + "$ref": "resources/aws-iam-servicelinkedrole.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -36551,9 +36449,9 @@ ], "additionalProperties": false }, - "AWS_IoT_FleetMetric": { + "AWS_IoT_RoleAlias": { "type": "object", - "markdownDescription": "An aggregated metric of certain devices in your fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-fleetmetric.html)", + "markdownDescription": "Use the AWS::IoT::RoleAlias resource to declare an AWS IoT RoleAlias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-rolealias.html)", "allOf": [ { "type": "object", @@ -36561,14 +36459,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::FleetMetric" + "AWS::IoT::RoleAlias" ], "markdownEnumDescriptions": [ - "An aggregated metric of certain devices in your fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-fleetmetric.html)" + "Use the AWS::IoT::RoleAlias resource to declare an AWS IoT RoleAlias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-rolealias.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-fleetmetric.json" + "$ref": "resources/aws-iot-rolealias.json" } }, "required": [ @@ -36582,9 +36480,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_App": { + "AWS_SecurityHub_OrganizationConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-app.html)", + "markdownDescription": "The AWS::SecurityHub::OrganizationConfiguration resource represents the configuration of your organization in Security Hub. Only the Security Hub administrator account can create Organization Configuration resource in each region and can opt-in to Central Configuration only in the aggregation region of FindingAggregator. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-organizationconfiguration.html)", "allOf": [ { "type": "object", @@ -36592,14 +36490,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::App" + "AWS::SecurityHub::OrganizationConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-app.html)" + "The AWS::SecurityHub::OrganizationConfiguration resource represents the configuration of your organization in Security Hub. Only the Security Hub administrator account can create Organization Configuration resource in each region and can opt-in to Central Configuration only in the aggregation region of FindingAggregator. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-organizationconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-app.json" + "$ref": "resources/aws-securityhub-organizationconfiguration.json" } }, "required": [ @@ -36613,9 +36511,9 @@ ], "additionalProperties": false }, - "AWS_WAF_IPSet": { + "AWS_EC2_CapacityReservation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAF::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-ipset.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::CapacityReservation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html)", "allOf": [ { "type": "object", @@ -36623,14 +36521,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAF::IPSet" + "AWS::EC2::CapacityReservation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAF::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-ipset.html)" + "Resource Type definition for AWS::EC2::CapacityReservation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html)" ] }, "Properties": { - "$ref": "resources/aws-waf-ipset.json" + "$ref": "resources/aws-ec2-capacityreservation.json" } }, "required": [ @@ -36644,9 +36542,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_SecurityGroupIngress": { + "AWS_ServiceCatalog_Portfolio": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElastiCache::SecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-securitygroupingress.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::Portfolio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.html)", "allOf": [ { "type": "object", @@ -36654,14 +36552,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::SecurityGroupIngress" + "AWS::ServiceCatalog::Portfolio" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElastiCache::SecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-securitygroupingress.html)" + "Resource Type definition for AWS::ServiceCatalog::Portfolio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-securitygroupingress.json" + "$ref": "resources/aws-servicecatalog-portfolio.json" } }, "required": [ @@ -36675,9 +36573,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_Queue": { + "AWS_IoTFleetWise_StateTemplate": { "type": "object", - "markdownDescription": "Definition of AWS::Deadline::Queue Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queue.html)", + "markdownDescription": "Definition of AWS::IoTFleetWise::StateTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-statetemplate.html)", "allOf": [ { "type": "object", @@ -36685,14 +36583,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::Queue" + "AWS::IoTFleetWise::StateTemplate" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::Queue Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queue.html)" + "Definition of AWS::IoTFleetWise::StateTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-statetemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-deadline-queue.json" + "$ref": "resources/aws-iotfleetwise-statetemplate.json" } }, "required": [ @@ -36706,9 +36604,9 @@ ], "additionalProperties": false }, - "AWS_Events_Endpoint": { + "AWS_Cognito_UserPoolResourceServer": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Events::Endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolResourceServer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html)", "allOf": [ { "type": "object", @@ -36716,14 +36614,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Events::Endpoint" + "AWS::Cognito::UserPoolResourceServer" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Events::Endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html)" + "Resource Type definition for AWS::Cognito::UserPoolResourceServer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html)" ] }, "Properties": { - "$ref": "resources/aws-events-endpoint.json" + "$ref": "resources/aws-cognito-userpoolresourceserver.json" } }, "required": [ @@ -36737,9 +36635,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationObjectStorage": { + "AWS_DocDB_DBClusterParameterGroup": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationObjectStorage. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html)", + "markdownDescription": "Resource Type definition for AWS::DocDB::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html)", "allOf": [ { "type": "object", @@ -36747,14 +36645,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationObjectStorage" + "AWS::DocDB::DBClusterParameterGroup" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationObjectStorage. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html)" + "Resource Type definition for AWS::DocDB::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationobjectstorage.json" + "$ref": "resources/aws-docdb-dbclusterparametergroup.json" } }, "required": [ @@ -36768,9 +36666,9 @@ ], "additionalProperties": false }, - "AWS_SES_MailManagerAddonSubscription": { + "AWS_StepFunctions_StateMachine": { "type": "object", - "markdownDescription": "Definition of AWS::SES::MailManagerAddonSubscription Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddonsubscription.html)", + "markdownDescription": "Resource schema for StateMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html)", "allOf": [ { "type": "object", @@ -36778,14 +36676,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::MailManagerAddonSubscription" + "AWS::StepFunctions::StateMachine" ], "markdownEnumDescriptions": [ - "Definition of AWS::SES::MailManagerAddonSubscription Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddonsubscription.html)" + "Resource schema for StateMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-mailmanageraddonsubscription.json" + "$ref": "resources/aws-stepfunctions-statemachine.json" } }, "required": [ @@ -36799,9 +36697,9 @@ ], "additionalProperties": false }, - "AWS_SNS_Topic": { + "AWS_PinpointEmail_ConfigurationSetEventDestination": { "type": "object", - "markdownDescription": "The ``AWS::SNS::Topic`` resource creates a topic to which notifications can be published.\n One account can create a maximum of 100,000 standard topics and 1,000 FIFO topics. For more information, see [endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html) in the *General Reference*.\n The structure of ``AUTHPARAMS`` depends on the .signature of the API request. For more information, see [Examples of the complete Signature Version 4 signing process](https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html) in the *General Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html)", + "markdownDescription": "Resource Type definition for AWS::PinpointEmail::ConfigurationSetEventDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationseteventdestination.html)", "allOf": [ { "type": "object", @@ -36809,18 +36707,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SNS::Topic" + "AWS::PinpointEmail::ConfigurationSetEventDestination" ], "markdownEnumDescriptions": [ - "The ``AWS::SNS::Topic`` resource creates a topic to which notifications can be published.\n One account can create a maximum of 100,000 standard topics and 1,000 FIFO topics. For more information, see [endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html) in the *General Reference*.\n The structure of ``AUTHPARAMS`` depends on the .signature of the API request. For more information, see [Examples of the complete Signature Version 4 signing process](https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html) in the *General Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html)" + "Resource Type definition for AWS::PinpointEmail::ConfigurationSetEventDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationseteventdestination.html)" ] }, "Properties": { - "$ref": "resources/aws-sns-topic.json" + "$ref": "resources/aws-pinpointemail-configurationseteventdestination.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -36829,9 +36728,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_DataSource": { + "AWS_VoiceID_Domain": { "type": "object", - "markdownDescription": "Definition of the AWS::QuickSight::DataSource Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-datasource.html)", + "markdownDescription": "The AWS::VoiceID::Domain resource specifies an Amazon VoiceID Domain. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-voiceid-domain.html)", "allOf": [ { "type": "object", @@ -36839,14 +36738,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::DataSource" + "AWS::VoiceID::Domain" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::DataSource Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-datasource.html)" + "The AWS::VoiceID::Domain resource specifies an Amazon VoiceID Domain. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-voiceid-domain.html)" ] }, "Properties": { - "$ref": "resources/aws-quicksight-datasource.json" + "$ref": "resources/aws-voiceid-domain.json" } }, "required": [ @@ -36860,9 +36759,9 @@ ], "additionalProperties": false }, - "AWS_KinesisAnalyticsV2_ApplicationOutput": { + "AWS_FraudDetector_List": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationoutput.html)", + "markdownDescription": "A resource schema for a List in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-list.html)", "allOf": [ { "type": "object", @@ -36870,14 +36769,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationOutput" + "AWS::FraudDetector::List" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationoutput.html)" + "A resource schema for a List in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-list.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisanalyticsv2-applicationoutput.json" + "$ref": "resources/aws-frauddetector-list.json" } }, "required": [ @@ -36891,9 +36790,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_GuardrailVersion": { + "AWS_M2_Deployment": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::GuardrailVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrailversion.html)", + "markdownDescription": "Represents a deployment resource of an AWS Mainframe Modernization (M2) application to a specified environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-m2-deployment.html)", "allOf": [ { "type": "object", @@ -36901,14 +36800,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::GuardrailVersion" + "AWS::M2::Deployment" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::GuardrailVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrailversion.html)" + "Represents a deployment resource of an AWS Mainframe Modernization (M2) application to a specified environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-m2-deployment.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-guardrailversion.json" + "$ref": "resources/aws-m2-deployment.json" } }, "required": [ @@ -36922,9 +36821,9 @@ ], "additionalProperties": false }, - "AWS_ManagedBlockchain_Accessor": { + "AWS_GlobalAccelerator_Accelerator": { "type": "object", - "markdownDescription": "Definition of AWS::ManagedBlockchain::com.amazonaws.taiga.webservice.api#Accessor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-accessor.html)", + "markdownDescription": "Resource Type definition for AWS::GlobalAccelerator::Accelerator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html)", "allOf": [ { "type": "object", @@ -36932,14 +36831,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ManagedBlockchain::Accessor" + "AWS::GlobalAccelerator::Accelerator" ], "markdownEnumDescriptions": [ - "Definition of AWS::ManagedBlockchain::com.amazonaws.taiga.webservice.api#Accessor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-accessor.html)" + "Resource Type definition for AWS::GlobalAccelerator::Accelerator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html)" ] }, "Properties": { - "$ref": "resources/aws-managedblockchain-accessor.json" + "$ref": "resources/aws-globalaccelerator-accelerator.json" } }, "required": [ @@ -36953,9 +36852,9 @@ ], "additionalProperties": false }, - "AWS_KinesisAnalytics_Application": { + "AWS_Pinpoint_GCMChannel": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::KinesisAnalytics::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-application.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::GCMChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-gcmchannel.html)", "allOf": [ { "type": "object", @@ -36963,14 +36862,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisAnalytics::Application" + "AWS::Pinpoint::GCMChannel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KinesisAnalytics::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-application.html)" + "Resource Type definition for AWS::Pinpoint::GCMChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-gcmchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisanalytics-application.json" + "$ref": "resources/aws-pinpoint-gcmchannel.json" } }, "required": [ @@ -36984,9 +36883,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_StorageSystem": { + "AWS_SageMaker_ModelCard": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::StorageSystem. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelCard. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelcard.html)", "allOf": [ { "type": "object", @@ -36994,14 +36893,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::StorageSystem" + "AWS::SageMaker::ModelCard" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::StorageSystem. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html)" + "Resource Type definition for AWS::SageMaker::ModelCard. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelcard.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-storagesystem.json" + "$ref": "resources/aws-sagemaker-modelcard.json" } }, "required": [ @@ -37015,9 +36914,9 @@ ], "additionalProperties": false }, - "AWS_AppRunner_AutoScalingConfiguration": { + "AWS_MediaLive_Multiplex": { "type": "object", - "markdownDescription": "Describes an AWS App Runner automatic configuration resource that enables automatic scaling of instances used to process web requests. You can share an auto scaling configuration across multiple services. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-autoscalingconfiguration.html)", + "markdownDescription": "Resource schema for AWS::MediaLive::Multiplex \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-multiplex.html)", "allOf": [ { "type": "object", @@ -37025,18 +36924,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AppRunner::AutoScalingConfiguration" + "AWS::MediaLive::Multiplex" ], "markdownEnumDescriptions": [ - "Describes an AWS App Runner automatic configuration resource that enables automatic scaling of instances used to process web requests. You can share an auto scaling configuration across multiple services. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-autoscalingconfiguration.html)" + "Resource schema for AWS::MediaLive::Multiplex \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-multiplex.html)" ] }, "Properties": { - "$ref": "resources/aws-apprunner-autoscalingconfiguration.json" + "$ref": "resources/aws-medialive-multiplex.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37045,9 +36945,9 @@ ], "additionalProperties": false }, - "AWS_NeptuneGraph_Graph": { + "AWS_IoT_ProvisioningTemplate": { "type": "object", - "markdownDescription": "The AWS::NeptuneGraph::Graph resource creates an Amazon NeptuneGraph Graph. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptunegraph-graph.html)", + "markdownDescription": "Creates a fleet provisioning template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html)", "allOf": [ { "type": "object", @@ -37055,14 +36955,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NeptuneGraph::Graph" + "AWS::IoT::ProvisioningTemplate" ], "markdownEnumDescriptions": [ - "The AWS::NeptuneGraph::Graph resource creates an Amazon NeptuneGraph Graph. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptunegraph-graph.html)" + "Creates a fleet provisioning template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-neptunegraph-graph.json" + "$ref": "resources/aws-iot-provisioningtemplate.json" } }, "required": [ @@ -37076,9 +36976,9 @@ ], "additionalProperties": false }, - "AWS_RefactorSpaces_Service": { + "AWS_Config_OrganizationConformancePack": { "type": "object", - "markdownDescription": "Definition of AWS::RefactorSpaces::Service Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-service.html)", + "markdownDescription": "Resource schema for AWS::Config::OrganizationConformancePack. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html)", "allOf": [ { "type": "object", @@ -37086,14 +36986,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RefactorSpaces::Service" + "AWS::Config::OrganizationConformancePack" ], "markdownEnumDescriptions": [ - "Definition of AWS::RefactorSpaces::Service Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-service.html)" + "Resource schema for AWS::Config::OrganizationConformancePack. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html)" ] }, "Properties": { - "$ref": "resources/aws-refactorspaces-service.json" + "$ref": "resources/aws-config-organizationconformancepack.json" } }, "required": [ @@ -37107,9 +37007,9 @@ ], "additionalProperties": false }, - "AWS_ECS_CapacityProvider": { + "AWS_EC2_FlowLog": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ECS::CapacityProvider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html)", + "markdownDescription": "Specifies a VPC flow log, which enables you to capture IP traffic for a specific network interface, subnet, or VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html)", "allOf": [ { "type": "object", @@ -37117,14 +37017,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECS::CapacityProvider" + "AWS::EC2::FlowLog" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ECS::CapacityProvider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html)" + "Specifies a VPC flow log, which enables you to capture IP traffic for a specific network interface, subnet, or VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html)" ] }, "Properties": { - "$ref": "resources/aws-ecs-capacityprovider.json" + "$ref": "resources/aws-ec2-flowlog.json" } }, "required": [ @@ -37138,9 +37038,9 @@ ], "additionalProperties": false }, - "AWS_WAF_ByteMatchSet": { + "AWS_AutoScaling_AutoScalingGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAF::ByteMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-bytematchset.html)", + "markdownDescription": "The ``AWS::AutoScaling::AutoScalingGroup`` resource defines an Amazon EC2 Auto Scaling group, which is a collection of Amazon EC2 instances that are treated as a logical grouping for the purposes of automatic scaling and management. \n For more information about Amazon EC2 Auto Scaling, see the [Amazon EC2 Auto Scaling User Guide](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html). \n Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a [launch template](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html) or a launch configuration. We strongly recommend that you do not use launch configurations. For more information, see [Launch configurations](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html) in the *Amazon EC2 Auto Scaling User Guide*.\n For help migrating from launch configurations to launch templates, see [Migrate CloudFormation stacks from launch configurations to launch templates](https://docs.aws.amazon.com/autoscaling/ec2/userguide/migrate-launch-configurations-with-cloudformation.html) in the *Amazon EC2 Auto Scaling User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html)", "allOf": [ { "type": "object", @@ -37148,14 +37048,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAF::ByteMatchSet" + "AWS::AutoScaling::AutoScalingGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAF::ByteMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-bytematchset.html)" + "The ``AWS::AutoScaling::AutoScalingGroup`` resource defines an Amazon EC2 Auto Scaling group, which is a collection of Amazon EC2 instances that are treated as a logical grouping for the purposes of automatic scaling and management. \n For more information about Amazon EC2 Auto Scaling, see the [Amazon EC2 Auto Scaling User Guide](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html). \n Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a [launch template](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html) or a launch configuration. We strongly recommend that you do not use launch configurations. For more information, see [Launch configurations](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html) in the *Amazon EC2 Auto Scaling User Guide*.\n For help migrating from launch configurations to launch templates, see [Migrate CloudFormation stacks from launch configurations to launch templates](https://docs.aws.amazon.com/autoscaling/ec2/userguide/migrate-launch-configurations-with-cloudformation.html) in the *Amazon EC2 Auto Scaling User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html)" ] }, "Properties": { - "$ref": "resources/aws-waf-bytematchset.json" + "$ref": "resources/aws-autoscaling-autoscalinggroup.json" } }, "required": [ @@ -37169,9 +37069,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryControl_ControlPanel": { + "AWS_RAM_ResourceShare": { "type": "object", - "markdownDescription": "AWS Route53 Recovery Control Control Panel resource schema . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-controlpanel.html)", + "markdownDescription": "Resource type definition for AWS::RAM::ResourceShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html)", "allOf": [ { "type": "object", @@ -37179,14 +37079,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryControl::ControlPanel" + "AWS::RAM::ResourceShare" ], "markdownEnumDescriptions": [ - "AWS Route53 Recovery Control Control Panel resource schema . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-controlpanel.html)" + "Resource type definition for AWS::RAM::ResourceShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html)" ] }, "Properties": { - "$ref": "resources/aws-route53recoverycontrol-controlpanel.json" + "$ref": "resources/aws-ram-resourceshare.json" } }, "required": [ @@ -37200,9 +37100,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_SubscriptionDefinition": { + "AWS_EC2_CustomerGateway": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::SubscriptionDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html)", + "markdownDescription": "Specifies a customer gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customergateway.html)", "allOf": [ { "type": "object", @@ -37210,14 +37110,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::SubscriptionDefinition" + "AWS::EC2::CustomerGateway" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::SubscriptionDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html)" + "Specifies a customer gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customergateway.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-subscriptiondefinition.json" + "$ref": "resources/aws-ec2-customergateway.json" } }, "required": [ @@ -37231,9 +37131,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_ClusterSecurityGroupIngress": { + "AWS_Grafana_Workspace": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Redshift::ClusterSecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroupingress.html)", + "markdownDescription": "Definition of AWS::Grafana::Workspace Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-grafana-workspace.html)", "allOf": [ { "type": "object", @@ -37241,14 +37141,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::ClusterSecurityGroupIngress" + "AWS::Grafana::Workspace" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Redshift::ClusterSecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroupingress.html)" + "Definition of AWS::Grafana::Workspace Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-grafana-workspace.html)" ] }, "Properties": { - "$ref": "resources/aws-redshift-clustersecuritygroupingress.json" + "$ref": "resources/aws-grafana-workspace.json" } }, "required": [ @@ -37262,9 +37162,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_ResolverQueryLoggingConfigAssociation": { + "AWS_AppMesh_GatewayRoute": { "type": "object", - "markdownDescription": "Resource schema for AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfigassociation.html)", + "markdownDescription": "Resource Type definition for AWS::AppMesh::GatewayRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html)", "allOf": [ { "type": "object", @@ -37272,18 +37172,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + "AWS::AppMesh::GatewayRoute" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfigassociation.html)" + "Resource Type definition for AWS::AppMesh::GatewayRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-resolverqueryloggingconfigassociation.json" + "$ref": "resources/aws-appmesh-gatewayroute.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37292,9 +37193,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_Monitor": { + "AWS_VpcLattice_ResourceGateway": { "type": "object", - "markdownDescription": "Definition of AWS::Deadline::Monitor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-monitor.html)", + "markdownDescription": "Creates a resource gateway for a service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcegateway.html)", "allOf": [ { "type": "object", @@ -37302,19 +37203,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::Monitor" + "AWS::VpcLattice::ResourceGateway" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::Monitor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-monitor.html)" + "Creates a resource gateway for a service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcegateway.html)" ] }, "Properties": { - "$ref": "resources/aws-deadline-monitor.json" + "$ref": "resources/aws-vpclattice-resourcegateway.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -37323,9 +37223,9 @@ ], "additionalProperties": false }, - "AWS_IVSChat_Room": { + "AWS_FraudDetector_Outcome": { "type": "object", - "markdownDescription": "Resource type definition for AWS::IVSChat::Room. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html)", + "markdownDescription": "An outcome for rule evaluation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-outcome.html)", "allOf": [ { "type": "object", @@ -37333,18 +37233,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IVSChat::Room" + "AWS::FraudDetector::Outcome" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::IVSChat::Room. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html)" + "An outcome for rule evaluation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-outcome.html)" ] }, "Properties": { - "$ref": "resources/aws-ivschat-room.json" + "$ref": "resources/aws-frauddetector-outcome.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37353,9 +37254,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_QueueFleetAssociation": { + "AWS_FraudDetector_Label": { "type": "object", - "markdownDescription": "Definition of AWS::Deadline::QueueFleetAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queuefleetassociation.html)", + "markdownDescription": "An label for fraud detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-label.html)", "allOf": [ { "type": "object", @@ -37363,14 +37264,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::QueueFleetAssociation" + "AWS::FraudDetector::Label" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::QueueFleetAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queuefleetassociation.html)" + "An label for fraud detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-label.html)" ] }, "Properties": { - "$ref": "resources/aws-deadline-queuefleetassociation.json" + "$ref": "resources/aws-frauddetector-label.json" } }, "required": [ @@ -37384,9 +37285,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_RegexPatternSet": { + "AWS_Bedrock_PromptVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::RegexPatternSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-regexpatternset.html)", + "markdownDescription": "Definition of AWS::Bedrock::PromptVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-promptversion.html)", "allOf": [ { "type": "object", @@ -37394,14 +37295,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::RegexPatternSet" + "AWS::Bedrock::PromptVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::RegexPatternSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-regexpatternset.html)" + "Definition of AWS::Bedrock::PromptVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-promptversion.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-regexpatternset.json" + "$ref": "resources/aws-bedrock-promptversion.json" } }, "required": [ @@ -37415,9 +37316,9 @@ ], "additionalProperties": false }, - "AWS_SSM_Parameter": { + "AWS_EC2_VPCBlockPublicAccessExclusion": { "type": "object", - "markdownDescription": "The ``AWS::SSM::Parameter`` resource creates an SSM parameter in SYSlong Parameter Store.\n To create an SSM parameter, you must have the IAMlong (IAM) permissions ``ssm:PutParameter`` and ``ssm:AddTagsToResource``. On stack creation, CFNlong adds the following three tags to the parameter: ``aws:cloudformation:stack-name``, ``aws:cloudformation:logical-id``, and ``aws:cloudformation:stack-id``, in addition to any custom tags you specify.\n To add, update, or remove tags during stack update, you must have IAM permissions for both ``ssm:AddTagsToResource`` and ``ssm:RemoveTagsFromResource``. For more information, see [Managing Access Using Policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/security-iam.html#security_iam_access-manage) in the *User Guide*.\n For information about valid values for parameters, see [About requirements and constraints for parameter names](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-create.html#sysman-parameter-name-constraints) in the *User Guide* and [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html) in the *API Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::VPCBlockPublicAccessExclusion. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessexclusion.html)", "allOf": [ { "type": "object", @@ -37425,14 +37326,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::Parameter" + "AWS::EC2::VPCBlockPublicAccessExclusion" ], "markdownEnumDescriptions": [ - "The ``AWS::SSM::Parameter`` resource creates an SSM parameter in SYSlong Parameter Store.\n To create an SSM parameter, you must have the IAMlong (IAM) permissions ``ssm:PutParameter`` and ``ssm:AddTagsToResource``. On stack creation, CFNlong adds the following three tags to the parameter: ``aws:cloudformation:stack-name``, ``aws:cloudformation:logical-id``, and ``aws:cloudformation:stack-id``, in addition to any custom tags you specify.\n To add, update, or remove tags during stack update, you must have IAM permissions for both ``ssm:AddTagsToResource`` and ``ssm:RemoveTagsFromResource``. For more information, see [Managing Access Using Policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/security-iam.html#security_iam_access-manage) in the *User Guide*.\n For information about valid values for parameters, see [About requirements and constraints for parameter names](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-create.html#sysman-parameter-name-constraints) in the *User Guide* and [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html) in the *API Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html)" + "Resource Type definition for AWS::EC2::VPCBlockPublicAccessExclusion. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessexclusion.html)" ] }, "Properties": { - "$ref": "resources/aws-ssm-parameter.json" + "$ref": "resources/aws-ec2-vpcblockpublicaccessexclusion.json" } }, "required": [ @@ -37446,9 +37347,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_Guardrail": { + "AWS_Cognito_UserPool": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::Guardrail Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html)", + "markdownDescription": "Definition of AWS::Cognito::UserPool Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html)", "allOf": [ { "type": "object", @@ -37456,19 +37357,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::Guardrail" + "AWS::Cognito::UserPool" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::Guardrail Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html)" + "Definition of AWS::Cognito::UserPool Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-guardrail.json" + "$ref": "resources/aws-cognito-userpool.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -37477,9 +37377,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_GraphQLSchema": { + "AWS_ServiceDiscovery_PrivateDnsNamespace": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppSync::GraphQLSchema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceDiscovery::PrivateDnsNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html)", "allOf": [ { "type": "object", @@ -37487,14 +37387,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::GraphQLSchema" + "AWS::ServiceDiscovery::PrivateDnsNamespace" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppSync::GraphQLSchema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html)" + "Resource Type definition for AWS::ServiceDiscovery::PrivateDnsNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-graphqlschema.json" + "$ref": "resources/aws-servicediscovery-privatednsnamespace.json" } }, "required": [ @@ -37508,9 +37408,9 @@ ], "additionalProperties": false }, - "AWS_CloudTrail_Channel": { + "AWS_IoT_CACertificate": { "type": "object", - "markdownDescription": "A channel receives events from a specific source (such as an on-premises storage solution or application, or a partner event data source), and delivers the events to one or more event data stores. You use channels to ingest events into CloudTrail from sources outside AWS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-channel.html)", + "markdownDescription": "Registers a CA Certificate in IoT. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-cacertificate.html)", "allOf": [ { "type": "object", @@ -37518,18 +37418,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudTrail::Channel" + "AWS::IoT::CACertificate" ], "markdownEnumDescriptions": [ - "A channel receives events from a specific source (such as an on-premises storage solution or application, or a partner event data source), and delivers the events to one or more event data stores. You use channels to ingest events into CloudTrail from sources outside AWS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-channel.html)" + "Registers a CA Certificate in IoT. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-cacertificate.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudtrail-channel.json" + "$ref": "resources/aws-iot-cacertificate.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37538,9 +37439,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_LaunchRoleConstraint": { + "AWS_Elasticsearch_Domain": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::LaunchRoleConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html)", + "markdownDescription": "Resource Type definition for AWS::Elasticsearch::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html)", "allOf": [ { "type": "object", @@ -37548,19 +37449,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::LaunchRoleConstraint" + "AWS::Elasticsearch::Domain" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::LaunchRoleConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html)" + "Resource Type definition for AWS::Elasticsearch::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-launchroleconstraint.json" + "$ref": "resources/aws-elasticsearch-domain.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -37569,9 +37469,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_FirewallRuleGroup": { + "AWS_ElasticLoadBalancingV2_Listener": { "type": "object", - "markdownDescription": "Resource schema for AWS::Route53Resolver::FirewallRuleGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewallrulegroup.html)", + "markdownDescription": "Specifies a listener for an Application Load Balancer, Network Load Balancer, or Gateway Load Balancer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html)", "allOf": [ { "type": "object", @@ -37579,18 +37479,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::FirewallRuleGroup" + "AWS::ElasticLoadBalancingV2::Listener" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::FirewallRuleGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewallrulegroup.html)" + "Specifies a listener for an Application Load Balancer, Network Load Balancer, or Gateway Load Balancer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-firewallrulegroup.json" + "$ref": "resources/aws-elasticloadbalancingv2-listener.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37599,9 +37500,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkInsightsAccessScope": { + "AWS_Bedrock_Guardrail": { "type": "object", - "markdownDescription": "Resource schema for AWS::EC2::NetworkInsightsAccessScope \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscope.html)", + "markdownDescription": "Definition of AWS::Bedrock::Guardrail Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html)", "allOf": [ { "type": "object", @@ -37609,18 +37510,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkInsightsAccessScope" + "AWS::Bedrock::Guardrail" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EC2::NetworkInsightsAccessScope \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscope.html)" + "Definition of AWS::Bedrock::Guardrail Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkinsightsaccessscope.json" + "$ref": "resources/aws-bedrock-guardrail.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37629,9 +37531,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_UserProfile": { + "AWS_IoTAnalytics_Pipeline": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::UserProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-userprofile.html)", + "markdownDescription": "Resource Type definition for AWS::IoTAnalytics::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-pipeline.html)", "allOf": [ { "type": "object", @@ -37639,14 +37541,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::UserProfile" + "AWS::IoTAnalytics::Pipeline" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::UserProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-userprofile.html)" + "Resource Type definition for AWS::IoTAnalytics::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-pipeline.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-userprofile.json" + "$ref": "resources/aws-iotanalytics-pipeline.json" } }, "required": [ @@ -37660,9 +37562,9 @@ ], "additionalProperties": false }, - "AWS_CodePipeline_Webhook": { + "AWS_SecurityHub_Hub": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CodePipeline::Webhook \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html)", + "markdownDescription": "The AWS::SecurityHub::Hub resource represents the implementation of the AWS Security Hub service in your account. One hub resource is created for each Region in which you enable Security Hub.\n\n \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html)", "allOf": [ { "type": "object", @@ -37670,19 +37572,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CodePipeline::Webhook" + "AWS::SecurityHub::Hub" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodePipeline::Webhook \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html)" + "The AWS::SecurityHub::Hub resource represents the implementation of the AWS Security Hub service in your account. One hub resource is created for each Region in which you enable Security Hub.\n\n \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html)" ] }, "Properties": { - "$ref": "resources/aws-codepipeline-webhook.json" + "$ref": "resources/aws-securityhub-hub.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -37691,9 +37592,9 @@ ], "additionalProperties": false }, - "AWS_CodeStarNotifications_NotificationRule": { + "AWS_Greengrass_Group": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CodeStarNotifications::NotificationRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html)", "allOf": [ { "type": "object", @@ -37701,14 +37602,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeStarNotifications::NotificationRule" + "AWS::Greengrass::Group" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeStarNotifications::NotificationRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html)" + "Resource Type definition for AWS::Greengrass::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html)" ] }, "Properties": { - "$ref": "resources/aws-codestarnotifications-notificationrule.json" + "$ref": "resources/aws-greengrass-group.json" } }, "required": [ @@ -37722,9 +37623,9 @@ ], "additionalProperties": false }, - "AWS_EC2_Instance": { + "AWS_SSO_Application": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html)", + "markdownDescription": "Resource Type definition for Identity Center (SSO) Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-application.html)", "allOf": [ { "type": "object", @@ -37732,18 +37633,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::Instance" + "AWS::SSO::Application" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html)" + "Resource Type definition for Identity Center (SSO) Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-application.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-instance.json" + "$ref": "resources/aws-sso-application.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37752,9 +37654,9 @@ ], "additionalProperties": false }, - "AWS_EC2_EIP": { + "AWS_MediaTailor_LiveSource": { "type": "object", - "markdownDescription": "Specifies an Elastic IP (EIP) address and can, optionally, associate it with an Amazon EC2 instance.\n You can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see [Bring Your Own IP Addresses (BYOIP)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) in the *Amazon EC2 User Guide*.\n For more information, see [Elastic IP Addresses](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) in the *Amazon EC2 User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html)", + "markdownDescription": "Definition of AWS::MediaTailor::LiveSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-livesource.html)", "allOf": [ { "type": "object", @@ -37762,18 +37664,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::EIP" + "AWS::MediaTailor::LiveSource" ], "markdownEnumDescriptions": [ - "Specifies an Elastic IP (EIP) address and can, optionally, associate it with an Amazon EC2 instance.\n You can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see [Bring Your Own IP Addresses (BYOIP)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) in the *Amazon EC2 User Guide*.\n For more information, see [Elastic IP Addresses](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) in the *Amazon EC2 User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html)" + "Definition of AWS::MediaTailor::LiveSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-livesource.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-eip.json" + "$ref": "resources/aws-mediatailor-livesource.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37782,9 +37685,9 @@ ], "additionalProperties": false }, - "AWS_AutoScaling_LifecycleHook": { + "AWS_IoTTwinMaker_Scene": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AutoScaling::LifecycleHook \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-lifecyclehook.html)", + "markdownDescription": "Resource schema for AWS::IoTTwinMaker::Scene \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-scene.html)", "allOf": [ { "type": "object", @@ -37792,14 +37695,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AutoScaling::LifecycleHook" + "AWS::IoTTwinMaker::Scene" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AutoScaling::LifecycleHook \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-lifecyclehook.html)" + "Resource schema for AWS::IoTTwinMaker::Scene \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-scene.html)" ] }, "Properties": { - "$ref": "resources/aws-autoscaling-lifecyclehook.json" + "$ref": "resources/aws-iottwinmaker-scene.json" } }, "required": [ @@ -37813,9 +37716,9 @@ ], "additionalProperties": false }, - "AWS_RDS_OptionGroup": { + "AWS_Cognito_UserPoolIdentityProvider": { "type": "object", - "markdownDescription": "The ``AWS::RDS::OptionGroup`` resource creates or updates an option group, to enable and configure features that are specific to a particular DB engine. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolIdentityProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html)", "allOf": [ { "type": "object", @@ -37823,14 +37726,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::OptionGroup" + "AWS::Cognito::UserPoolIdentityProvider" ], "markdownEnumDescriptions": [ - "The ``AWS::RDS::OptionGroup`` resource creates or updates an option group, to enable and configure features that are specific to a particular DB engine. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html)" + "Resource Type definition for AWS::Cognito::UserPoolIdentityProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-optiongroup.json" + "$ref": "resources/aws-cognito-userpoolidentityprovider.json" } }, "required": [ @@ -37844,9 +37747,9 @@ ], "additionalProperties": false }, - "AWS_EC2_InstanceConnectEndpoint": { + "AWS_CloudFront_ContinuousDeploymentPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::InstanceConnectEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instanceconnectendpoint.html)", + "markdownDescription": "Creates a continuous deployment policy that routes a subset of production traffic from a primary distribution to a staging distribution.\n After you create and update a staging distribution, you can use a continuous deployment policy to incrementally move traffic to the staging distribution. This enables you to test changes to a distribution's configuration before moving all of your production traffic to the new configuration.\n For more information, see [Using CloudFront continuous deployment to safely test CDN configuration changes](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/continuous-deployment.html) in the *Amazon CloudFront Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-continuousdeploymentpolicy.html)", "allOf": [ { "type": "object", @@ -37854,14 +37757,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::InstanceConnectEndpoint" + "AWS::CloudFront::ContinuousDeploymentPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::InstanceConnectEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instanceconnectendpoint.html)" + "Creates a continuous deployment policy that routes a subset of production traffic from a primary distribution to a staging distribution.\n After you create and update a staging distribution, you can use a continuous deployment policy to incrementally move traffic to the staging distribution. This enables you to test changes to a distribution's configuration before moving all of your production traffic to the new configuration.\n For more information, see [Using CloudFront continuous deployment to safely test CDN configuration changes](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/continuous-deployment.html) in the *Amazon CloudFront Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-continuousdeploymentpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-instanceconnectendpoint.json" + "$ref": "resources/aws-cloudfront-continuousdeploymentpolicy.json" } }, "required": [ @@ -37875,9 +37778,9 @@ ], "additionalProperties": false }, - "AWS_RolesAnywhere_TrustAnchor": { + "AWS_SQS_QueueInlinePolicy": { "type": "object", - "markdownDescription": "Definition of AWS::RolesAnywhere::TrustAnchor Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-trustanchor.html)", + "markdownDescription": "Schema for SQS QueueInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queueinlinepolicy.html)", "allOf": [ { "type": "object", @@ -37885,14 +37788,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RolesAnywhere::TrustAnchor" + "AWS::SQS::QueueInlinePolicy" ], "markdownEnumDescriptions": [ - "Definition of AWS::RolesAnywhere::TrustAnchor Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-trustanchor.html)" + "Schema for SQS QueueInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queueinlinepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-rolesanywhere-trustanchor.json" + "$ref": "resources/aws-sqs-queueinlinepolicy.json" } }, "required": [ @@ -37906,9 +37809,9 @@ ], "additionalProperties": false }, - "AWS_WAF_WebACL": { + "AWS_ServiceCatalog_ServiceActionAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAF::WebACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-webacl.html)", + "markdownDescription": "Resource Schema for AWS::ServiceCatalog::ServiceActionAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceactionassociation.html)", "allOf": [ { "type": "object", @@ -37916,14 +37819,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAF::WebACL" + "AWS::ServiceCatalog::ServiceActionAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAF::WebACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-webacl.html)" + "Resource Schema for AWS::ServiceCatalog::ServiceActionAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceactionassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-waf-webacl.json" + "$ref": "resources/aws-servicecatalog-serviceactionassociation.json" } }, "required": [ @@ -37937,9 +37840,9 @@ ], "additionalProperties": false }, - "AWS_EMR_SecurityConfiguration": { + "AWS_SSMContacts_Rotation": { "type": "object", - "markdownDescription": "Use a SecurityConfiguration resource to configure data encryption, Kerberos authentication, and Amazon S3 authorization for EMRFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-securityconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::SSMContacts::Rotation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-rotation.html)", "allOf": [ { "type": "object", @@ -37947,14 +37850,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::SecurityConfiguration" + "AWS::SSMContacts::Rotation" ], "markdownEnumDescriptions": [ - "Use a SecurityConfiguration resource to configure data encryption, Kerberos authentication, and Amazon S3 authorization for EMRFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-securityconfiguration.html)" + "Resource Type definition for AWS::SSMContacts::Rotation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-rotation.html)" ] }, "Properties": { - "$ref": "resources/aws-emr-securityconfiguration.json" + "$ref": "resources/aws-ssmcontacts-rotation.json" } }, "required": [ @@ -37968,9 +37871,9 @@ ], "additionalProperties": false }, - "AWS_ControlTower_EnabledControl": { + "AWS_KendraRanking_ExecutionPlan": { "type": "object", - "markdownDescription": "Enables a control on a specified target. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledcontrol.html)", + "markdownDescription": "A KendraRanking Rescore execution plan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendraranking-executionplan.html)", "allOf": [ { "type": "object", @@ -37978,14 +37881,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ControlTower::EnabledControl" + "AWS::KendraRanking::ExecutionPlan" ], "markdownEnumDescriptions": [ - "Enables a control on a specified target. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledcontrol.html)" + "A KendraRanking Rescore execution plan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendraranking-executionplan.html)" ] }, "Properties": { - "$ref": "resources/aws-controltower-enabledcontrol.json" + "$ref": "resources/aws-kendraranking-executionplan.json" } }, "required": [ @@ -37999,9 +37902,9 @@ ], "additionalProperties": false }, - "AWS_EC2_ClientVpnEndpoint": { + "AWS_Connect_SecurityKey": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::ClientVpnEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::SecurityKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securitykey.html)", "allOf": [ { "type": "object", @@ -38009,14 +37912,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::ClientVpnEndpoint" + "AWS::Connect::SecurityKey" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::ClientVpnEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html)" + "Resource Type definition for AWS::Connect::SecurityKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securitykey.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-clientvpnendpoint.json" + "$ref": "resources/aws-connect-securitykey.json" } }, "required": [ @@ -38030,9 +37933,9 @@ ], "additionalProperties": false }, - "AWS_Connect_ViewVersion": { + "AWS_Connect_Instance": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::ViewVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-viewversion.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-instance.html)", "allOf": [ { "type": "object", @@ -38040,14 +37943,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::ViewVersion" + "AWS::Connect::Instance" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::ViewVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-viewversion.html)" + "Resource Type definition for AWS::Connect::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-instance.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-viewversion.json" + "$ref": "resources/aws-connect-instance.json" } }, "required": [ @@ -38061,9 +37964,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Connection": { + "AWS_KinesisAnalyticsV2_Application": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::Connection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html)", + "markdownDescription": "Creates an Amazon Kinesis Data Analytics application. For information about creating a Kinesis Data Analytics application, see [Creating an Application](https://docs.aws.amazon.com/kinesisanalytics/latest/java/getting-started.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html)", "allOf": [ { "type": "object", @@ -38071,14 +37974,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Connection" + "AWS::KinesisAnalyticsV2::Application" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Connection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html)" + "Creates an Amazon Kinesis Data Analytics application. For information about creating a Kinesis Data Analytics application, see [Creating an Application](https://docs.aws.amazon.com/kinesisanalytics/latest/java/getting-started.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-connection.json" + "$ref": "resources/aws-kinesisanalyticsv2-application.json" } }, "required": [ @@ -38092,9 +37995,9 @@ ], "additionalProperties": false }, - "AWS_OpenSearchServerless_LifecyclePolicy": { + "AWS_WAFRegional_RateBasedRule": { "type": "object", - "markdownDescription": "Amazon OpenSearchServerless lifecycle policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-lifecyclepolicy.html)", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::RateBasedRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html)", "allOf": [ { "type": "object", @@ -38102,14 +38005,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpenSearchServerless::LifecyclePolicy" + "AWS::WAFRegional::RateBasedRule" ], "markdownEnumDescriptions": [ - "Amazon OpenSearchServerless lifecycle policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-lifecyclepolicy.html)" + "Resource Type definition for AWS::WAFRegional::RateBasedRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html)" ] }, "Properties": { - "$ref": "resources/aws-opensearchserverless-lifecyclepolicy.json" + "$ref": "resources/aws-wafregional-ratebasedrule.json" } }, "required": [ @@ -38123,9 +38026,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_FlowVersion": { + "AWS_Pinpoint_APNSVoipChannel": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::FlowVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowversion.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::APNSVoipChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html)", "allOf": [ { "type": "object", @@ -38133,14 +38036,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::FlowVersion" + "AWS::Pinpoint::APNSVoipChannel" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::FlowVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowversion.html)" + "Resource Type definition for AWS::Pinpoint::APNSVoipChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-flowversion.json" + "$ref": "resources/aws-pinpoint-apnsvoipchannel.json" } }, "required": [ @@ -38154,9 +38057,9 @@ ], "additionalProperties": false }, - "AWS_Elasticsearch_Domain": { + "AWS_IoTWireless_WirelessDevice": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Elasticsearch::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html)", + "markdownDescription": "Create and manage wireless gateways, including LoRa gateways. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html)", "allOf": [ { "type": "object", @@ -38164,18 +38067,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Elasticsearch::Domain" + "AWS::IoTWireless::WirelessDevice" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Elasticsearch::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html)" + "Create and manage wireless gateways, including LoRa gateways. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticsearch-domain.json" + "$ref": "resources/aws-iotwireless-wirelessdevice.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -38184,9 +38088,9 @@ ], "additionalProperties": false }, - "AWS_Lex_ResourcePolicy": { + "AWS_AppTest_TestCase": { "type": "object", - "markdownDescription": "A resource policy with specified policy statements that attaches to a Lex bot or bot alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-resourcepolicy.html)", + "markdownDescription": "Represents a Test Case that can be captured and executed \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apptest-testcase.html)", "allOf": [ { "type": "object", @@ -38194,14 +38098,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lex::ResourcePolicy" + "AWS::AppTest::TestCase" ], "markdownEnumDescriptions": [ - "A resource policy with specified policy statements that attaches to a Lex bot or bot alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-resourcepolicy.html)" + "Represents a Test Case that can be captured and executed \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apptest-testcase.html)" ] }, "Properties": { - "$ref": "resources/aws-lex-resourcepolicy.json" + "$ref": "resources/aws-apptest-testcase.json" } }, "required": [ @@ -38215,9 +38119,9 @@ ], "additionalProperties": false }, - "AWS_DMS_InstanceProfile": { + "AWS_IoTFleetWise_Fleet": { "type": "object", - "markdownDescription": "Resource schema for AWS::DMS::InstanceProfile. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-instanceprofile.html)", + "markdownDescription": "Definition of AWS::IoTFleetWise::Fleet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-fleet.html)", "allOf": [ { "type": "object", @@ -38225,18 +38129,19 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::InstanceProfile" + "AWS::IoTFleetWise::Fleet" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DMS::InstanceProfile. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-instanceprofile.html)" + "Definition of AWS::IoTFleetWise::Fleet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-fleet.html)" ] }, "Properties": { - "$ref": "resources/aws-dms-instanceprofile.json" + "$ref": "resources/aws-iotfleetwise-fleet.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -38245,9 +38150,9 @@ ], "additionalProperties": false }, - "AWS_SecretsManager_RotationSchedule": { + "AWS_MediaLive_SdiSource": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SecretsManager::RotationSchedule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html)", + "markdownDescription": "Definition of AWS::MediaLive::SdiSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-sdisource.html)", "allOf": [ { "type": "object", @@ -38255,14 +38160,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecretsManager::RotationSchedule" + "AWS::MediaLive::SdiSource" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SecretsManager::RotationSchedule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html)" + "Definition of AWS::MediaLive::SdiSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-sdisource.html)" ] }, "Properties": { - "$ref": "resources/aws-secretsmanager-rotationschedule.json" + "$ref": "resources/aws-medialive-sdisource.json" } }, "required": [ @@ -38276,9 +38181,9 @@ ], "additionalProperties": false }, - "AWS_Panorama_Package": { + "AWS_ServiceCatalogAppRegistry_Application": { "type": "object", - "markdownDescription": "Creates a package and storage location in an Amazon S3 access point. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-package.html)", + "markdownDescription": "Resource Schema for AWS::ServiceCatalogAppRegistry::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-application.html)", "allOf": [ { "type": "object", @@ -38286,14 +38191,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Panorama::Package" + "AWS::ServiceCatalogAppRegistry::Application" ], "markdownEnumDescriptions": [ - "Creates a package and storage location in an Amazon S3 access point. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-package.html)" + "Resource Schema for AWS::ServiceCatalogAppRegistry::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-application.html)" ] }, "Properties": { - "$ref": "resources/aws-panorama-package.json" + "$ref": "resources/aws-servicecatalogappregistry-application.json" } }, "required": [ @@ -38307,9 +38212,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryReadiness_RecoveryGroup": { + "AWS_Connect_Queue": { "type": "object", - "markdownDescription": "AWS Route53 Recovery Readiness Recovery Group Schema and API specifications. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-recoverygroup.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::Queue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-queue.html)", "allOf": [ { "type": "object", @@ -38317,18 +38222,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryReadiness::RecoveryGroup" + "AWS::Connect::Queue" ], "markdownEnumDescriptions": [ - "AWS Route53 Recovery Readiness Recovery Group Schema and API specifications. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-recoverygroup.html)" + "Resource Type definition for AWS::Connect::Queue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-queue.html)" ] }, "Properties": { - "$ref": "resources/aws-route53recoveryreadiness-recoverygroup.json" + "$ref": "resources/aws-connect-queue.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -38337,9 +38243,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_ApiKey": { + "AWS_Lambda_Url": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::ApiKey`` resource creates a unique key that you can distribute to clients who are executing API Gateway ``Method`` resources that require an API key. To specify which API key clients must use, map the API key with the ``RestApi`` and ``Stage`` resources that include the methods that require a key. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html)", + "markdownDescription": "Resource Type definition for AWS::Lambda::Url \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html)", "allOf": [ { "type": "object", @@ -38347,18 +38253,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::ApiKey" + "AWS::Lambda::Url" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::ApiKey`` resource creates a unique key that you can distribute to clients who are executing API Gateway ``Method`` resources that require an API key. To specify which API key clients must use, map the API key with the ``RestApi`` and ``Stage`` resources that include the methods that require a key. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html)" + "Resource Type definition for AWS::Lambda::Url \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-apikey.json" + "$ref": "resources/aws-lambda-url.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -38367,9 +38274,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_PushTemplate": { + "AWS_Route53_CidrCollection": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::PushTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html)", + "markdownDescription": "Resource schema for AWS::Route53::CidrCollection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-cidrcollection.html)", "allOf": [ { "type": "object", @@ -38377,14 +38284,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::PushTemplate" + "AWS::Route53::CidrCollection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::PushTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html)" + "Resource schema for AWS::Route53::CidrCollection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-cidrcollection.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-pushtemplate.json" + "$ref": "resources/aws-route53-cidrcollection.json" } }, "required": [ @@ -38398,9 +38305,9 @@ ], "additionalProperties": false }, - "AWS_MediaStore_Container": { + "AWS_EntityResolution_MatchingWorkflow": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MediaStore::Container \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html)", + "markdownDescription": "MatchingWorkflow defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html)", "allOf": [ { "type": "object", @@ -38408,14 +38315,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaStore::Container" + "AWS::EntityResolution::MatchingWorkflow" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MediaStore::Container \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html)" + "MatchingWorkflow defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html)" ] }, "Properties": { - "$ref": "resources/aws-mediastore-container.json" + "$ref": "resources/aws-entityresolution-matchingworkflow.json" } }, "required": [ @@ -38429,9 +38336,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_Entitlement": { + "AWS_EC2_KeyPair": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::Entitlement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-entitlement.html)", + "markdownDescription": "Specifies a key pair for use with an EC2long instance as follows:\n + To import an existing key pair, include the ``PublicKeyMaterial`` property.\n + To create a new key pair, omit the ``PublicKeyMaterial`` property.\n \n When you import an existing key pair, you specify the public key material for the key. We assume that you have the private key material for the key. CFNlong does not create or return the private key material when you import a key pair.\n When you create a new key pair, the private key is saved to SYSlong Parameter Store, using a parameter with the following name: ``/ec2/keypair/{key_pair_id}``. For more information about retrieving private key, and the required permissions, see [Create a key pair using](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html#create-key-pair-cloudformation) in the *User Guide*.\n When CFN deletes a key pair that was created or imported by a stack, it also deletes the parameter that was used to store the private key material in Parameter Store. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html)", "allOf": [ { "type": "object", @@ -38439,14 +38346,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::Entitlement" + "AWS::EC2::KeyPair" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::Entitlement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-entitlement.html)" + "Specifies a key pair for use with an EC2long instance as follows:\n + To import an existing key pair, include the ``PublicKeyMaterial`` property.\n + To create a new key pair, omit the ``PublicKeyMaterial`` property.\n \n When you import an existing key pair, you specify the public key material for the key. We assume that you have the private key material for the key. CFNlong does not create or return the private key material when you import a key pair.\n When you create a new key pair, the private key is saved to SYSlong Parameter Store, using a parameter with the following name: ``/ec2/keypair/{key_pair_id}``. For more information about retrieving private key, and the required permissions, see [Create a key pair using](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html#create-key-pair-cloudformation) in the *User Guide*.\n When CFN deletes a key pair that was created or imported by a stack, it also deletes the parameter that was used to store the private key material in Parameter Store. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-entitlement.json" + "$ref": "resources/aws-ec2-keypair.json" } }, "required": [ @@ -38460,9 +38367,9 @@ ], "additionalProperties": false }, - "AWS_NimbleStudio_Studio": { + "AWS_CloudFormation_ResourceDefaultVersion": { "type": "object", - "markdownDescription": "Represents a studio that contains other Nimble Studio resources \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-studio.html)", + "markdownDescription": "The default version of a resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourcedefaultversion.html)", "allOf": [ { "type": "object", @@ -38470,19 +38377,18 @@ "Type": { "type": "string", "enum": [ - "AWS::NimbleStudio::Studio" + "AWS::CloudFormation::ResourceDefaultVersion" ], "markdownEnumDescriptions": [ - "Represents a studio that contains other Nimble Studio resources \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-studio.html)" + "The default version of a resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourcedefaultversion.html)" ] }, "Properties": { - "$ref": "resources/aws-nimblestudio-studio.json" + "$ref": "resources/aws-cloudformation-resourcedefaultversion.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -38491,9 +38397,9 @@ ], "additionalProperties": false }, - "AWS_SES_MailManagerRelay": { + "AWS_S3Express_DirectoryBucket": { "type": "object", - "markdownDescription": "Definition of AWS::SES::MailManagerRelay Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerrelay.html)", + "markdownDescription": "Resource Type definition for AWS::S3Express::DirectoryBucket. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-directorybucket.html)", "allOf": [ { "type": "object", @@ -38501,14 +38407,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::MailManagerRelay" + "AWS::S3Express::DirectoryBucket" ], "markdownEnumDescriptions": [ - "Definition of AWS::SES::MailManagerRelay Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerrelay.html)" + "Resource Type definition for AWS::S3Express::DirectoryBucket. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-directorybucket.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-mailmanagerrelay.json" + "$ref": "resources/aws-s3express-directorybucket.json" } }, "required": [ @@ -38522,9 +38428,9 @@ ], "additionalProperties": false }, - "AWS_WAFv2_RegexPatternSet": { + "AWS_CloudFormation_GuardHook": { "type": "object", - "markdownDescription": "Contains a list of Regular expressions based on the provided inputs. RegexPatternSet can be used with other WAF entities with RegexPatternSetReferenceStatement to perform other actions . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-regexpatternset.html)", + "markdownDescription": "This is a CloudFormation resource for activating the first-party AWS::Hooks::GuardHook. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html)", "allOf": [ { "type": "object", @@ -38532,14 +38438,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFv2::RegexPatternSet" + "AWS::CloudFormation::GuardHook" ], "markdownEnumDescriptions": [ - "Contains a list of Regular expressions based on the provided inputs. RegexPatternSet can be used with other WAF entities with RegexPatternSetReferenceStatement to perform other actions . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-regexpatternset.html)" + "This is a CloudFormation resource for activating the first-party AWS::Hooks::GuardHook. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html)" ] }, "Properties": { - "$ref": "resources/aws-wafv2-regexpatternset.json" + "$ref": "resources/aws-cloudformation-guardhook.json" } }, "required": [ @@ -38553,9 +38459,9 @@ ], "additionalProperties": false }, - "AWS_Inspector_ResourceGroup": { + "AWS_StepFunctions_Activity": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Inspector::ResourceGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-resourcegroup.html)", + "markdownDescription": "Resource schema for Activity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-activity.html)", "allOf": [ { "type": "object", @@ -38563,14 +38469,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Inspector::ResourceGroup" + "AWS::StepFunctions::Activity" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Inspector::ResourceGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-resourcegroup.html)" + "Resource schema for Activity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-activity.html)" ] }, "Properties": { - "$ref": "resources/aws-inspector-resourcegroup.json" + "$ref": "resources/aws-stepfunctions-activity.json" } }, "required": [ @@ -38584,9 +38490,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_Extension": { + "AWS_DataSync_Task": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppConfig::Extension \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html)", + "markdownDescription": "Resource schema for AWS::DataSync::Task. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html)", "allOf": [ { "type": "object", @@ -38594,14 +38500,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::Extension" + "AWS::DataSync::Task" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppConfig::Extension \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html)" + "Resource schema for AWS::DataSync::Task. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html)" ] }, "Properties": { - "$ref": "resources/aws-appconfig-extension.json" + "$ref": "resources/aws-datasync-task.json" } }, "required": [ @@ -38615,9 +38521,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_ServiceProfile": { + "AWS_EMR_WALWorkspace": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-serviceprofile.html)", + "markdownDescription": "Resource schema for AWS::EMR::WALWorkspace Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-walworkspace.html)", "allOf": [ { "type": "object", @@ -38625,14 +38531,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::ServiceProfile" + "AWS::EMR::WALWorkspace" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-serviceprofile.html)" + "Resource schema for AWS::EMR::WALWorkspace Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-walworkspace.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-serviceprofile.json" + "$ref": "resources/aws-emr-walworkspace.json" } }, "required": [ @@ -38645,9 +38551,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_EnvironmentBlueprintConfiguration": { + "AWS_AppConfig_Environment": { "type": "object", - "markdownDescription": "Definition of AWS::DataZone::EnvironmentBlueprintConfiguration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentblueprintconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::AppConfig::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-environment.html)", "allOf": [ { "type": "object", @@ -38655,14 +38561,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::EnvironmentBlueprintConfiguration" + "AWS::AppConfig::Environment" ], "markdownEnumDescriptions": [ - "Definition of AWS::DataZone::EnvironmentBlueprintConfiguration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentblueprintconfiguration.html)" + "Resource Type definition for AWS::AppConfig::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-environment.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-environmentblueprintconfiguration.json" + "$ref": "resources/aws-appconfig-environment.json" } }, "required": [ @@ -38676,9 +38582,9 @@ ], "additionalProperties": false }, - "AWS_XRay_SamplingRule": { + "AWS_CUR_ReportDefinition": { "type": "object", - "markdownDescription": "This schema provides construct and validation rules for AWS-XRay SamplingRule resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-samplingrule.html)", + "markdownDescription": "The AWS::CUR::ReportDefinition resource creates a Cost & Usage Report with user-defined settings. You can use this resource to define settings like time granularity (hourly, daily, monthly), file format (Parquet, CSV), and S3 bucket for delivery of these reports. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html)", "allOf": [ { "type": "object", @@ -38686,18 +38592,19 @@ "Type": { "type": "string", "enum": [ - "AWS::XRay::SamplingRule" + "AWS::CUR::ReportDefinition" ], "markdownEnumDescriptions": [ - "This schema provides construct and validation rules for AWS-XRay SamplingRule resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-samplingrule.html)" + "The AWS::CUR::ReportDefinition resource creates a Cost & Usage Report with user-defined settings. You can use this resource to define settings like time granularity (hourly, daily, monthly), file format (Parquet, CSV), and S3 bucket for delivery of these reports. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-xray-samplingrule.json" + "$ref": "resources/aws-cur-reportdefinition.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -38706,9 +38613,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_ResourceDefaultVersion": { + "AWS_RefactorSpaces_Application": { "type": "object", - "markdownDescription": "The default version of a resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourcedefaultversion.html)", + "markdownDescription": "Definition of AWS::RefactorSpaces::Application Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-application.html)", "allOf": [ { "type": "object", @@ -38716,18 +38623,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::ResourceDefaultVersion" + "AWS::RefactorSpaces::Application" ], "markdownEnumDescriptions": [ - "The default version of a resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourcedefaultversion.html)" + "Definition of AWS::RefactorSpaces::Application Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-application.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-resourcedefaultversion.json" + "$ref": "resources/aws-refactorspaces-application.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -38736,9 +38644,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_APNSChannel": { + "AWS_BCMDataExports_Export": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::APNSChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html)", + "markdownDescription": "Definition of AWS::BCMDataExports::Export Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bcmdataexports-export.html)", "allOf": [ { "type": "object", @@ -38746,14 +38654,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::APNSChannel" + "AWS::BCMDataExports::Export" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::APNSChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html)" + "Definition of AWS::BCMDataExports::Export Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bcmdataexports-export.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-apnschannel.json" + "$ref": "resources/aws-bcmdataexports-export.json" } }, "required": [ @@ -38767,9 +38675,9 @@ ], "additionalProperties": false }, - "AWS_FMS_ResourceSet": { + "AWS_IoTCoreDeviceAdvisor_SuiteDefinition": { "type": "object", - "markdownDescription": "Creates an AWS Firewall Manager resource set. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-resourceset.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotcoredeviceadvisor-suitedefinition.html)", "allOf": [ { "type": "object", @@ -38777,14 +38685,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FMS::ResourceSet" + "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" ], "markdownEnumDescriptions": [ - "Creates an AWS Firewall Manager resource set. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-resourceset.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotcoredeviceadvisor-suitedefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-fms-resourceset.json" + "$ref": "resources/aws-iotcoredeviceadvisor-suitedefinition.json" } }, "required": [ @@ -38798,9 +38706,9 @@ ], "additionalProperties": false }, - "AWS_IoTTwinMaker_Entity": { + "AWS_EC2_Subnet": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTTwinMaker::Entity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-entity.html)", + "markdownDescription": "Specifies a subnet for the specified VPC.\n For an IPv4 only subnet, specify an IPv4 CIDR block. If the VPC has an IPv6 CIDR block, you can create an IPv6 only subnet or a dual stack subnet instead. For an IPv6 only subnet, specify an IPv6 CIDR block. For a dual stack subnet, specify both an IPv4 CIDR block and an IPv6 CIDR block.\n For more information, see [Subnets for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html)", "allOf": [ { "type": "object", @@ -38808,14 +38716,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTTwinMaker::Entity" + "AWS::EC2::Subnet" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTTwinMaker::Entity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-entity.html)" + "Specifies a subnet for the specified VPC.\n For an IPv4 only subnet, specify an IPv4 CIDR block. If the VPC has an IPv6 CIDR block, you can create an IPv6 only subnet or a dual stack subnet instead. For an IPv6 only subnet, specify an IPv6 CIDR block. For a dual stack subnet, specify both an IPv4 CIDR block and an IPv6 CIDR block.\n For more information, see [Subnets for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html)" ] }, "Properties": { - "$ref": "resources/aws-iottwinmaker-entity.json" + "$ref": "resources/aws-ec2-subnet.json" } }, "required": [ @@ -38829,9 +38737,9 @@ ], "additionalProperties": false }, - "AWS_SES_EmailIdentity": { + "AWS_MemoryDB_SubnetGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SES::EmailIdentity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-emailidentity.html)", + "markdownDescription": "The AWS::MemoryDB::SubnetGroup resource creates an Amazon MemoryDB Subnet Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-subnetgroup.html)", "allOf": [ { "type": "object", @@ -38839,14 +38747,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::EmailIdentity" + "AWS::MemoryDB::SubnetGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SES::EmailIdentity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-emailidentity.html)" + "The AWS::MemoryDB::SubnetGroup resource creates an Amazon MemoryDB Subnet Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-subnetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-emailidentity.json" + "$ref": "resources/aws-memorydb-subnetgroup.json" } }, "required": [ @@ -38860,9 +38768,9 @@ ], "additionalProperties": false }, - "AWS_Config_OrganizationConfigRule": { + "AWS_Scheduler_Schedule": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Config::OrganizationConfigRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html)", + "markdownDescription": "Definition of AWS::Scheduler::Schedule Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html)", "allOf": [ { "type": "object", @@ -38870,14 +38778,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::OrganizationConfigRule" + "AWS::Scheduler::Schedule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Config::OrganizationConfigRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html)" + "Definition of AWS::Scheduler::Schedule Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html)" ] }, "Properties": { - "$ref": "resources/aws-config-organizationconfigrule.json" + "$ref": "resources/aws-scheduler-schedule.json" } }, "required": [ @@ -38891,9 +38799,9 @@ ], "additionalProperties": false }, - "AWS_ECR_RepositoryCreationTemplate": { + "AWS_Backup_LogicallyAirGappedBackupVault": { "type": "object", - "markdownDescription": "AWS::ECR::RepositoryCreationTemplate is used to create repository with configuration from a pre-defined template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html)", + "markdownDescription": "Resource Type definition for AWS::Backup::LogicallyAirGappedBackupVault \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-logicallyairgappedbackupvault.html)", "allOf": [ { "type": "object", @@ -38901,14 +38809,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECR::RepositoryCreationTemplate" + "AWS::Backup::LogicallyAirGappedBackupVault" ], "markdownEnumDescriptions": [ - "AWS::ECR::RepositoryCreationTemplate is used to create repository with configuration from a pre-defined template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html)" + "Resource Type definition for AWS::Backup::LogicallyAirGappedBackupVault \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-logicallyairgappedbackupvault.html)" ] }, "Properties": { - "$ref": "resources/aws-ecr-repositorycreationtemplate.json" + "$ref": "resources/aws-backup-logicallyairgappedbackupvault.json" } }, "required": [ @@ -38922,9 +38830,9 @@ ], "additionalProperties": false }, - "AWS_Omics_AnnotationStore": { + "AWS_IVS_IngestConfiguration": { "type": "object", - "markdownDescription": "Definition of AWS::Omics::AnnotationStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-annotationstore.html)", + "markdownDescription": "Resource Type definition for AWS::IVS::IngestConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-ingestconfiguration.html)", "allOf": [ { "type": "object", @@ -38932,19 +38840,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Omics::AnnotationStore" + "AWS::IVS::IngestConfiguration" ], "markdownEnumDescriptions": [ - "Definition of AWS::Omics::AnnotationStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-annotationstore.html)" + "Resource Type definition for AWS::IVS::IngestConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-ingestconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-omics-annotationstore.json" + "$ref": "resources/aws-ivs-ingestconfiguration.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -38953,9 +38860,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_ApiCache": { + "AWS_Route53Resolver_FirewallDomainList": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppSync::ApiCache \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html)", + "markdownDescription": "Resource schema for AWS::Route53Resolver::FirewallDomainList. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewalldomainlist.html)", "allOf": [ { "type": "object", @@ -38963,19 +38870,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::ApiCache" + "AWS::Route53Resolver::FirewallDomainList" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppSync::ApiCache \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html)" + "Resource schema for AWS::Route53Resolver::FirewallDomainList. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewalldomainlist.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-apicache.json" + "$ref": "resources/aws-route53resolver-firewalldomainlist.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -38984,9 +38890,9 @@ ], "additionalProperties": false }, - "AWS_Logs_LogStream": { + "AWS_Oam_Link": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Logs::LogStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html)", + "markdownDescription": "Definition of AWS::Oam::Link Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-link.html)", "allOf": [ { "type": "object", @@ -38994,14 +38900,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::LogStream" + "AWS::Oam::Link" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Logs::LogStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html)" + "Definition of AWS::Oam::Link Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-link.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-logstream.json" + "$ref": "resources/aws-oam-link.json" } }, "required": [ @@ -39015,9 +38921,9 @@ ], "additionalProperties": false }, - "AWS_MediaConvert_Queue": { + "AWS_WAF_SqlInjectionMatchSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MediaConvert::Queue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html)", + "markdownDescription": "Resource Type definition for AWS::WAF::SqlInjectionMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sqlinjectionmatchset.html)", "allOf": [ { "type": "object", @@ -39025,18 +38931,19 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConvert::Queue" + "AWS::WAF::SqlInjectionMatchSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MediaConvert::Queue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html)" + "Resource Type definition for AWS::WAF::SqlInjectionMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sqlinjectionmatchset.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconvert-queue.json" + "$ref": "resources/aws-waf-sqlinjectionmatchset.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -39045,9 +38952,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBProxyTargetGroup": { + "AWS_CodeStarConnections_SyncConfiguration": { "type": "object", - "markdownDescription": "Resource schema for AWS::RDS::DBProxyTargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html)", + "markdownDescription": "Schema for AWS::CodeStarConnections::SyncConfiguration resource which is used to enables an AWS resource to be synchronized from a source-provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html)", "allOf": [ { "type": "object", @@ -39055,14 +38962,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBProxyTargetGroup" + "AWS::CodeStarConnections::SyncConfiguration" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::RDS::DBProxyTargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html)" + "Schema for AWS::CodeStarConnections::SyncConfiguration resource which is used to enables an AWS resource to be synchronized from a source-provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbproxytargetgroup.json" + "$ref": "resources/aws-codestarconnections-syncconfiguration.json" } }, "required": [ @@ -39076,9 +38983,9 @@ ], "additionalProperties": false }, - "AWS_DataBrew_Ruleset": { + "AWS_DataZone_EnvironmentProfile": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataBrew::Ruleset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-ruleset.html)", + "markdownDescription": "AWS Datazone Environment Profile is pre-configured set of resources and blueprints that provide reusable templates for creating environments. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentprofile.html)", "allOf": [ { "type": "object", @@ -39086,14 +38993,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataBrew::Ruleset" + "AWS::DataZone::EnvironmentProfile" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataBrew::Ruleset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-ruleset.html)" + "AWS Datazone Environment Profile is pre-configured set of resources and blueprints that provide reusable templates for creating environments. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-databrew-ruleset.json" + "$ref": "resources/aws-datazone-environmentprofile.json" } }, "required": [ @@ -39107,9 +39014,9 @@ ], "additionalProperties": false }, - "AWS_Neptune_DBSubnetGroup": { + "AWS_EMR_InstanceFleetConfig": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Neptune::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbsubnetgroup.html)", + "markdownDescription": "Resource Type definition for AWS::EMR::InstanceFleetConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancefleetconfig.html)", "allOf": [ { "type": "object", @@ -39117,14 +39024,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Neptune::DBSubnetGroup" + "AWS::EMR::InstanceFleetConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Neptune::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbsubnetgroup.html)" + "Resource Type definition for AWS::EMR::InstanceFleetConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancefleetconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-neptune-dbsubnetgroup.json" + "$ref": "resources/aws-emr-instancefleetconfig.json" } }, "required": [ @@ -39138,9 +39045,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpaces_WorkspacesPool": { + "AWS_QBusiness_DataAccessor": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WorkSpaces::WorkspacesPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html)", + "markdownDescription": "Definition of AWS::QBusiness::DataAccessor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-dataaccessor.html)", "allOf": [ { "type": "object", @@ -39148,14 +39055,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpaces::WorkspacesPool" + "AWS::QBusiness::DataAccessor" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WorkSpaces::WorkspacesPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html)" + "Definition of AWS::QBusiness::DataAccessor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-dataaccessor.html)" ] }, "Properties": { - "$ref": "resources/aws-workspaces-workspacespool.json" + "$ref": "resources/aws-qbusiness-dataaccessor.json" } }, "required": [ @@ -39169,9 +39076,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_GatewayResponse": { + "AWS_FinSpace_Environment": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::GatewayResponse`` resource creates a gateway response for your API. For more information, see [API Gateway Responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/customize-gateway-responses.html#api-gateway-gatewayResponse-definition) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-finspace-environment.html)", "allOf": [ { "type": "object", @@ -39179,14 +39086,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::GatewayResponse" + "AWS::FinSpace::Environment" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::GatewayResponse`` resource creates a gateway response for your API. For more information, see [API Gateway Responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/customize-gateway-responses.html#api-gateway-gatewayResponse-definition) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-finspace-environment.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-gatewayresponse.json" + "$ref": "resources/aws-finspace-environment.json" } }, "required": [ @@ -39200,9 +39107,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorks_Layer": { + "AWS_ElastiCache_GlobalReplicationGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::OpsWorks::Layer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html)", + "markdownDescription": "The AWS::ElastiCache::GlobalReplicationGroup resource creates an Amazon ElastiCache Global Replication Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html)", "allOf": [ { "type": "object", @@ -39210,14 +39117,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorks::Layer" + "AWS::ElastiCache::GlobalReplicationGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorks::Layer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html)" + "The AWS::ElastiCache::GlobalReplicationGroup resource creates an Amazon ElastiCache Global Replication Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-opsworks-layer.json" + "$ref": "resources/aws-elasticache-globalreplicationgroup.json" } }, "required": [ @@ -39231,9 +39138,9 @@ ], "additionalProperties": false }, - "AWS_IoT_MitigationAction": { + "AWS_IAM_UserPolicy": { "type": "object", - "markdownDescription": "Mitigation actions can be used to take actions to mitigate issues that were found in an Audit finding or Detect violation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-mitigationaction.html)", + "markdownDescription": "Adds or updates an inline policy document that is embedded in the specified IAM user.\n An IAM user can also have a managed policy attached to it. To attach a managed policy to a user, use [AWS::IAM::User](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed in a user, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html)", "allOf": [ { "type": "object", @@ -39241,14 +39148,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::MitigationAction" + "AWS::IAM::UserPolicy" ], "markdownEnumDescriptions": [ - "Mitigation actions can be used to take actions to mitigate issues that were found in an Audit finding or Detect violation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-mitigationaction.html)" + "Adds or updates an inline policy document that is embedded in the specified IAM user.\n An IAM user can also have a managed policy attached to it. To attach a managed policy to a user, use [AWS::IAM::User](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed in a user, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-mitigationaction.json" + "$ref": "resources/aws-iam-userpolicy.json" } }, "required": [ @@ -39262,9 +39169,9 @@ ], "additionalProperties": false }, - "AWS_Panorama_PackageVersion": { + "AWS_Signer_ProfilePermission": { "type": "object", - "markdownDescription": "Registers a package version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-packageversion.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-profilepermission.html)", "allOf": [ { "type": "object", @@ -39272,14 +39179,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Panorama::PackageVersion" + "AWS::Signer::ProfilePermission" ], "markdownEnumDescriptions": [ - "Registers a package version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-packageversion.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-profilepermission.html)" ] }, "Properties": { - "$ref": "resources/aws-panorama-packageversion.json" + "$ref": "resources/aws-signer-profilepermission.json" } }, "required": [ @@ -39293,9 +39200,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolDomain": { + "AWS_Cognito_UserPoolUserToGroupAttachment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolDomain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolUserToGroupAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html)", "allOf": [ { "type": "object", @@ -39303,14 +39210,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolDomain" + "AWS::Cognito::UserPoolUserToGroupAttachment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolDomain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html)" + "Resource Type definition for AWS::Cognito::UserPoolUserToGroupAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-userpooldomain.json" + "$ref": "resources/aws-cognito-userpoolusertogroupattachment.json" } }, "required": [ @@ -39324,9 +39231,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_Environment": { + "AWS_Lambda_CodeSigningConfig": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppConfig::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-environment.html)", + "markdownDescription": "Resource Type definition for AWS::Lambda::CodeSigningConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html)", "allOf": [ { "type": "object", @@ -39334,14 +39241,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::Environment" + "AWS::Lambda::CodeSigningConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppConfig::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-environment.html)" + "Resource Type definition for AWS::Lambda::CodeSigningConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-appconfig-environment.json" + "$ref": "resources/aws-lambda-codesigningconfig.json" } }, "required": [ @@ -39355,9 +39262,9 @@ ], "additionalProperties": false }, - "AWS_Wisdom_KnowledgeBase": { + "AWS_Lightsail_Instance": { "type": "object", - "markdownDescription": "Definition of AWS::Wisdom::KnowledgeBase Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-knowledgebase.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-instance.html)", "allOf": [ { "type": "object", @@ -39365,14 +39272,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Wisdom::KnowledgeBase" + "AWS::Lightsail::Instance" ], "markdownEnumDescriptions": [ - "Definition of AWS::Wisdom::KnowledgeBase Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-knowledgebase.html)" + "Resource Type definition for AWS::Lightsail::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-instance.html)" ] }, "Properties": { - "$ref": "resources/aws-wisdom-knowledgebase.json" + "$ref": "resources/aws-lightsail-instance.json" } }, "required": [ @@ -39386,9 +39293,9 @@ ], "additionalProperties": false }, - "AWS_IAM_OIDCProvider": { + "AWS_IoT_ScheduledAudit": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IAM::OIDCProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-oidcprovider.html)", + "markdownDescription": "Scheduled audits can be used to specify the checks you want to perform during an audit and how often the audit should be run. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-scheduledaudit.html)", "allOf": [ { "type": "object", @@ -39396,18 +39303,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::OIDCProvider" + "AWS::IoT::ScheduledAudit" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IAM::OIDCProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-oidcprovider.html)" + "Scheduled audits can be used to specify the checks you want to perform during an audit and how often the audit should be run. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-scheduledaudit.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-oidcprovider.json" + "$ref": "resources/aws-iot-scheduledaudit.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -39416,9 +39324,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_GameServerGroup": { + "AWS_CleanRooms_IdNamespaceAssociation": { "type": "object", - "markdownDescription": "The AWS::GameLift::GameServerGroup resource creates an Amazon GameLift (GameLift) GameServerGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html)", + "markdownDescription": "Represents an association between an ID namespace and a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idnamespaceassociation.html)", "allOf": [ { "type": "object", @@ -39426,14 +39334,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::GameServerGroup" + "AWS::CleanRooms::IdNamespaceAssociation" ], "markdownEnumDescriptions": [ - "The AWS::GameLift::GameServerGroup resource creates an Amazon GameLift (GameLift) GameServerGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html)" + "Represents an association between an ID namespace and a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idnamespaceassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-gamelift-gameservergroup.json" + "$ref": "resources/aws-cleanrooms-idnamespaceassociation.json" } }, "required": [ @@ -39447,9 +39355,9 @@ ], "additionalProperties": false }, - "AWS_Connect_PredefinedAttribute": { + "AWS_EventSchemas_RegistryPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::PredefinedAttribute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-predefinedattribute.html)", + "markdownDescription": "Resource Type definition for AWS::EventSchemas::RegistryPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html)", "allOf": [ { "type": "object", @@ -39457,14 +39365,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::PredefinedAttribute" + "AWS::EventSchemas::RegistryPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::PredefinedAttribute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-predefinedattribute.html)" + "Resource Type definition for AWS::EventSchemas::RegistryPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-predefinedattribute.json" + "$ref": "resources/aws-eventschemas-registrypolicy.json" } }, "required": [ @@ -39478,9 +39386,9 @@ ], "additionalProperties": false }, - "AWS_KMS_Key": { + "AWS_QBusiness_Index": { "type": "object", - "markdownDescription": "The ``AWS::KMS::Key`` resource specifies an [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys) in KMSlong. You can use this resource to create symmetric encryption KMS keys, asymmetric KMS keys for encryption or signing, and symmetric HMAC KMS keys. You can use ``AWS::KMS::Key`` to create [multi-Region primary keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-primary-key) of all supported types. To replicate a multi-Region key, use the ``AWS::KMS::ReplicaKey`` resource.\n If you change the value of the ``KeySpec``, ``KeyUsage``, ``Origin``, or ``MultiRegion`` properties of an existing KMS key, the update request fails, regardless of the value of the [UpdateReplacePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html). This prevents you from accidentally deleting a KMS key by changing any of its immutable property values.\n KMS replaced the term *customer master key (CMK)* with ** and *KMS key*. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.\n You can use symmetric encryption KMS keys to encrypt and decrypt small amounts of data, but they are more commonly used to generate data keys and data key pairs. You can also use a symmetric encryption KMS key to encrypt data stored in AWS services that are [integrated with](https://docs.aws.amazon.com//kms/features/#AWS_Service_Integration). For more information, see [Symmetric encryption KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks) in the *Developer Guide*.\n You can use asymmetric KMS keys to encrypt and decrypt data or sign messages and verify signatures. To create an asymmetric key, you must specify an asymmetric ``KeySpec`` value and a ``KeyUsage`` value. For details, see [Asymmetric keys in](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) in the *Developer Guide*.\n You can use HMAC KMS keys (which are also symmetric keys) to generate and verify hash-based message authentication codes. To create an HMAC key, you must specify an HMAC ``KeySpec`` value and a ``KeyUsage`` value of ``GENERATE_VERIFY_MAC``. For details, see [HMAC keys in](https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html) in the *Developer Guide*.\n You can also create symmetric encryption, asymmetric, and HMAC multi-Region primary keys. To create a multi-Region primary key, set the ``MultiRegion`` property to ``true``. For information about multi-Region keys, see [Multi-Region keys in](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *Developer Guide*.\n You cannot use the ``AWS::KMS::Key`` resource to specify a KMS key with [imported key material](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) or a KMS key in a [custom key store](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html).\n *Regions* \n KMS CloudFormation resources are available in all Regions in which KMS and CFN are supported. You can use the ``AWS::KMS::Key`` resource to create and manage all KMS key types that are supported in a Region. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html)", + "markdownDescription": "Definition of AWS::QBusiness::Index Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-index.html)", "allOf": [ { "type": "object", @@ -39488,18 +39396,19 @@ "Type": { "type": "string", "enum": [ - "AWS::KMS::Key" + "AWS::QBusiness::Index" ], "markdownEnumDescriptions": [ - "The ``AWS::KMS::Key`` resource specifies an [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys) in KMSlong. You can use this resource to create symmetric encryption KMS keys, asymmetric KMS keys for encryption or signing, and symmetric HMAC KMS keys. You can use ``AWS::KMS::Key`` to create [multi-Region primary keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-primary-key) of all supported types. To replicate a multi-Region key, use the ``AWS::KMS::ReplicaKey`` resource.\n If you change the value of the ``KeySpec``, ``KeyUsage``, ``Origin``, or ``MultiRegion`` properties of an existing KMS key, the update request fails, regardless of the value of the [UpdateReplacePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html). This prevents you from accidentally deleting a KMS key by changing any of its immutable property values.\n KMS replaced the term *customer master key (CMK)* with ** and *KMS key*. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.\n You can use symmetric encryption KMS keys to encrypt and decrypt small amounts of data, but they are more commonly used to generate data keys and data key pairs. You can also use a symmetric encryption KMS key to encrypt data stored in AWS services that are [integrated with](https://docs.aws.amazon.com//kms/features/#AWS_Service_Integration). For more information, see [Symmetric encryption KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks) in the *Developer Guide*.\n You can use asymmetric KMS keys to encrypt and decrypt data or sign messages and verify signatures. To create an asymmetric key, you must specify an asymmetric ``KeySpec`` value and a ``KeyUsage`` value. For details, see [Asymmetric keys in](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) in the *Developer Guide*.\n You can use HMAC KMS keys (which are also symmetric keys) to generate and verify hash-based message authentication codes. To create an HMAC key, you must specify an HMAC ``KeySpec`` value and a ``KeyUsage`` value of ``GENERATE_VERIFY_MAC``. For details, see [HMAC keys in](https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html) in the *Developer Guide*.\n You can also create symmetric encryption, asymmetric, and HMAC multi-Region primary keys. To create a multi-Region primary key, set the ``MultiRegion`` property to ``true``. For information about multi-Region keys, see [Multi-Region keys in](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *Developer Guide*.\n You cannot use the ``AWS::KMS::Key`` resource to specify a KMS key with [imported key material](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) or a KMS key in a [custom key store](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html).\n *Regions* \n KMS CloudFormation resources are available in all Regions in which KMS and CFN are supported. You can use the ``AWS::KMS::Key`` resource to create and manage all KMS key types that are supported in a Region. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html)" + "Definition of AWS::QBusiness::Index Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-index.html)" ] }, "Properties": { - "$ref": "resources/aws-kms-key.json" + "$ref": "resources/aws-qbusiness-index.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -39508,9 +39417,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryControl_Cluster": { + "AWS_ARCZonalShift_ZonalAutoshiftConfiguration": { "type": "object", - "markdownDescription": "AWS Route53 Recovery Control Cluster resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-cluster.html)", + "markdownDescription": "Definition of AWS::ARCZonalShift::ZonalAutoshiftConfiguration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-zonalautoshiftconfiguration.html)", "allOf": [ { "type": "object", @@ -39518,19 +39427,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryControl::Cluster" + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration" ], "markdownEnumDescriptions": [ - "AWS Route53 Recovery Control Cluster resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-cluster.html)" + "Definition of AWS::ARCZonalShift::ZonalAutoshiftConfiguration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-zonalautoshiftconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-route53recoverycontrol-cluster.json" + "$ref": "resources/aws-arczonalshift-zonalautoshiftconfiguration.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -39539,9 +39447,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_DirectoryConfig": { + "AWS_CodeBuild_Fleet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::DirectoryConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.html)", + "markdownDescription": "Resource Type definition for AWS::CodeBuild::Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-fleet.html)", "allOf": [ { "type": "object", @@ -39549,19 +39457,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::DirectoryConfig" + "AWS::CodeBuild::Fleet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::DirectoryConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.html)" + "Resource Type definition for AWS::CodeBuild::Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-fleet.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-directoryconfig.json" + "$ref": "resources/aws-codebuild-fleet.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -39570,9 +39477,9 @@ ], "additionalProperties": false }, - "AWS_EventSchemas_Schema": { + "AWS_Greengrass_ConnectorDefinitionVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EventSchemas::Schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::ConnectorDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html)", "allOf": [ { "type": "object", @@ -39580,14 +39487,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EventSchemas::Schema" + "AWS::Greengrass::ConnectorDefinitionVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EventSchemas::Schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html)" + "Resource Type definition for AWS::Greengrass::ConnectorDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html)" ] }, "Properties": { - "$ref": "resources/aws-eventschemas-schema.json" + "$ref": "resources/aws-greengrass-connectordefinitionversion.json" } }, "required": [ @@ -39601,9 +39508,9 @@ ], "additionalProperties": false }, - "AWS_IAM_Role": { + "AWS_IVS_PlaybackKeyPair": { "type": "object", - "markdownDescription": "Creates a new role for your AWS-account.\n For more information about roles, see [IAM roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) in the *IAM User Guide*. For information about quotas for role names and the number of roles you can create, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html)", + "markdownDescription": "Resource Type definition for AWS::IVS::PlaybackKeyPair \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackkeypair.html)", "allOf": [ { "type": "object", @@ -39611,19 +39518,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::Role" + "AWS::IVS::PlaybackKeyPair" ], "markdownEnumDescriptions": [ - "Creates a new role for your AWS-account.\n For more information about roles, see [IAM roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) in the *IAM User Guide*. For information about quotas for role names and the number of roles you can create, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html)" + "Resource Type definition for AWS::IVS::PlaybackKeyPair \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackkeypair.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-role.json" + "$ref": "resources/aws-ivs-playbackkeypair.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -39632,9 +39538,9 @@ ], "additionalProperties": false }, - "AWS_IoTFleetWise_ModelManifest": { + "AWS_AmplifyUIBuilder_Theme": { "type": "object", - "markdownDescription": "Definition of AWS::IoTFleetWise::ModelManifest Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-modelmanifest.html)", + "markdownDescription": "Definition of AWS::AmplifyUIBuilder::Theme Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-theme.html)", "allOf": [ { "type": "object", @@ -39642,19 +39548,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTFleetWise::ModelManifest" + "AWS::AmplifyUIBuilder::Theme" ], "markdownEnumDescriptions": [ - "Definition of AWS::IoTFleetWise::ModelManifest Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-modelmanifest.html)" + "Definition of AWS::AmplifyUIBuilder::Theme Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-theme.html)" ] }, "Properties": { - "$ref": "resources/aws-iotfleetwise-modelmanifest.json" + "$ref": "resources/aws-amplifyuibuilder-theme.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -39663,9 +39568,9 @@ ], "additionalProperties": false }, - "AWS_Omics_Workflow": { + "AWS_ApiGatewayV2_Deployment": { "type": "object", - "markdownDescription": "Definition of AWS::Omics::Workflow Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-workflow.html)", + "markdownDescription": "The ``AWS::ApiGatewayV2::Deployment`` resource creates a deployment for an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-deployment.html)", "allOf": [ { "type": "object", @@ -39673,18 +39578,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Omics::Workflow" + "AWS::ApiGatewayV2::Deployment" ], "markdownEnumDescriptions": [ - "Definition of AWS::Omics::Workflow Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-workflow.html)" + "The ``AWS::ApiGatewayV2::Deployment`` resource creates a deployment for an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-deployment.html)" ] }, "Properties": { - "$ref": "resources/aws-omics-workflow.json" + "$ref": "resources/aws-apigatewayv2-deployment.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -39693,9 +39599,9 @@ ], "additionalProperties": false }, - "AWS_IAM_GroupPolicy": { + "AWS_ElastiCache_ReplicationGroup": { "type": "object", - "markdownDescription": "Adds or updates an inline policy document that is embedded in the specified IAM group.\n A group can also have managed policies attached to it. To attach a managed policy to a group, use [AWS::IAM::Group](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed in a group, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html)", + "markdownDescription": "Resource Type definition for AWS::ElastiCache::ReplicationGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html)", "allOf": [ { "type": "object", @@ -39703,14 +39609,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::GroupPolicy" + "AWS::ElastiCache::ReplicationGroup" ], "markdownEnumDescriptions": [ - "Adds or updates an inline policy document that is embedded in the specified IAM group.\n A group can also have managed policies attached to it. To attach a managed policy to a group, use [AWS::IAM::Group](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed in a group, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html)" + "Resource Type definition for AWS::ElastiCache::ReplicationGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-grouppolicy.json" + "$ref": "resources/aws-elasticache-replicationgroup.json" } }, "required": [ @@ -39724,9 +39630,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_SignalMap": { + "AWS_EC2_TrafficMirrorSession": { "type": "object", - "markdownDescription": "Definition of AWS::MediaLive::SignalMap Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-signalmap.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::TrafficMirrorSession \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html)", "allOf": [ { "type": "object", @@ -39734,14 +39640,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::SignalMap" + "AWS::EC2::TrafficMirrorSession" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaLive::SignalMap Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-signalmap.html)" + "Resource Type definition for AWS::EC2::TrafficMirrorSession \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-signalmap.json" + "$ref": "resources/aws-ec2-trafficmirrorsession.json" } }, "required": [ @@ -39755,9 +39661,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_ResourcePolicy": { + "AWS_ACMPCA_Certificate": { "type": "object", - "markdownDescription": "Retrieves information about the resource policy. The resource policy is an IAM policy created by AWS RAM on behalf of the resource owner when they share a resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcepolicy.html)", + "markdownDescription": "The ``AWS::ACMPCA::Certificate`` resource is used to issue a certificate using your private certificate authority. For more information, see the [IssueCertificate](https://docs.aws.amazon.com/privateca/latest/APIReference/API_IssueCertificate.html) action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html)", "allOf": [ { "type": "object", @@ -39765,14 +39671,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::ResourcePolicy" + "AWS::ACMPCA::Certificate" ], "markdownEnumDescriptions": [ - "Retrieves information about the resource policy. The resource policy is an IAM policy created by AWS RAM on behalf of the resource owner when they share a resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcepolicy.html)" + "The ``AWS::ACMPCA::Certificate`` resource is used to issue a certificate using your private certificate authority. For more information, see the [IssueCertificate](https://docs.aws.amazon.com/privateca/latest/APIReference/API_IssueCertificate.html) action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-resourcepolicy.json" + "$ref": "resources/aws-acmpca-certificate.json" } }, "required": [ @@ -39786,9 +39692,9 @@ ], "additionalProperties": false }, - "AWS_SSM_ResourcePolicy": { + "AWS_QBusiness_WebExperience": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SSM::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcepolicy.html)", + "markdownDescription": "Definition of AWS::QBusiness::WebExperience Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-webexperience.html)", "allOf": [ { "type": "object", @@ -39796,14 +39702,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::ResourcePolicy" + "AWS::QBusiness::WebExperience" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSM::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcepolicy.html)" + "Definition of AWS::QBusiness::WebExperience Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-webexperience.html)" ] }, "Properties": { - "$ref": "resources/aws-ssm-resourcepolicy.json" + "$ref": "resources/aws-qbusiness-webexperience.json" } }, "required": [ @@ -39817,9 +39723,9 @@ ], "additionalProperties": false }, - "AWS_IoTSiteWise_Dashboard": { + "AWS_EC2_IPAMPool": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTSiteWise::Dashboard \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html)", + "markdownDescription": "Resource Schema of AWS::EC2::IPAMPool Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html)", "allOf": [ { "type": "object", @@ -39827,14 +39733,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTSiteWise::Dashboard" + "AWS::EC2::IPAMPool" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTSiteWise::Dashboard \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html)" + "Resource Schema of AWS::EC2::IPAMPool Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html)" ] }, "Properties": { - "$ref": "resources/aws-iotsitewise-dashboard.json" + "$ref": "resources/aws-ec2-ipampool.json" } }, "required": [ @@ -39848,9 +39754,9 @@ ], "additionalProperties": false }, - "AWS_Shield_DRTAccess": { + "AWS_ApiGateway_Stage": { "type": "object", - "markdownDescription": "Config the role and list of Amazon S3 log buckets used by the Shield Response Team (SRT) to access your AWS account while assisting with attack mitigation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-drtaccess.html)", + "markdownDescription": "The ``AWS::ApiGateway::Stage`` resource creates a stage for a deployment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html)", "allOf": [ { "type": "object", @@ -39858,14 +39764,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Shield::DRTAccess" + "AWS::ApiGateway::Stage" ], "markdownEnumDescriptions": [ - "Config the role and list of Amazon S3 log buckets used by the Shield Response Team (SRT) to access your AWS account while assisting with attack mitigation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-drtaccess.html)" + "The ``AWS::ApiGateway::Stage`` resource creates a stage for a deployment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html)" ] }, "Properties": { - "$ref": "resources/aws-shield-drtaccess.json" + "$ref": "resources/aws-apigateway-stage.json" } }, "required": [ @@ -39879,9 +39785,9 @@ ], "additionalProperties": false }, - "AWS_IoTSiteWise_Gateway": { + "AWS_ApiGatewayV2_Authorizer": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTSiteWise::Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-gateway.html)", + "markdownDescription": "The ``AWS::ApiGatewayV2::Authorizer`` resource creates an authorizer for a WebSocket API or an HTTP API. To learn more, see [Controlling and managing access to a WebSocket API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-control-access.html) and [Controlling and managing access to an HTTP API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-access-control.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html)", "allOf": [ { "type": "object", @@ -39889,14 +39795,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTSiteWise::Gateway" + "AWS::ApiGatewayV2::Authorizer" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTSiteWise::Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-gateway.html)" + "The ``AWS::ApiGatewayV2::Authorizer`` resource creates an authorizer for a WebSocket API or an HTTP API. To learn more, see [Controlling and managing access to a WebSocket API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-control-access.html) and [Controlling and managing access to an HTTP API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-access-control.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html)" ] }, "Properties": { - "$ref": "resources/aws-iotsitewise-gateway.json" + "$ref": "resources/aws-apigatewayv2-authorizer.json" } }, "required": [ @@ -39910,9 +39816,9 @@ ], "additionalProperties": false }, - "AWS_SES_MailManagerAddonInstance": { + "AWS_AppSync_Resolver": { "type": "object", - "markdownDescription": "Definition of AWS::SES::MailManagerAddonInstance Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddoninstance.html)", + "markdownDescription": "The ``AWS::AppSync::Resolver`` resource defines the logical GraphQL resolver that you attach to fields in a schema. Request and response templates for resolvers are written in Apache Velocity Template Language (VTL) format. For more information about resolvers, see [Resolver Mapping Template Reference](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-mapping-template-reference.html).\n When you submit an update, CFNLong updates resources based on differences between what you submit and the stack's current template. To cause this resource to be updated you must change a property value for this resource in the CFNshort template. Changing the S3 file content without changing a property value will not result in an update operation.\n See [Update Behaviors of Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html)", "allOf": [ { "type": "object", @@ -39920,14 +39826,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::MailManagerAddonInstance" + "AWS::AppSync::Resolver" ], "markdownEnumDescriptions": [ - "Definition of AWS::SES::MailManagerAddonInstance Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddoninstance.html)" + "The ``AWS::AppSync::Resolver`` resource defines the logical GraphQL resolver that you attach to fields in a schema. Request and response templates for resolvers are written in Apache Velocity Template Language (VTL) format. For more information about resolvers, see [Resolver Mapping Template Reference](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-mapping-template-reference.html).\n When you submit an update, CFNLong updates resources based on differences between what you submit and the stack's current template. To cause this resource to be updated you must change a property value for this resource in the CFNshort template. Changing the S3 file content without changing a property value will not result in an update operation.\n See [Update Behaviors of Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-mailmanageraddoninstance.json" + "$ref": "resources/aws-appsync-resolver.json" } }, "required": [ @@ -39941,9 +39847,9 @@ ], "additionalProperties": false }, - "AWS_EC2_GatewayRouteTableAssociation": { + "AWS_CloudTrail_EventDataStore": { "type": "object", - "markdownDescription": "Associates a gateway with a route table. The gateway and route table must be in the same VPC. This association causes the incoming traffic to the gateway to be routed according to the routes in the route table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-gatewayroutetableassociation.html)", + "markdownDescription": "A storage lake of event data against which you can run complex SQL-based queries. An event data store can include events that you have logged on your account from the last 7 to 2557 or 3653 days (about seven or ten years) depending on the selected BillingMode. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html)", "allOf": [ { "type": "object", @@ -39951,19 +39857,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::GatewayRouteTableAssociation" + "AWS::CloudTrail::EventDataStore" ], "markdownEnumDescriptions": [ - "Associates a gateway with a route table. The gateway and route table must be in the same VPC. This association causes the incoming traffic to the gateway to be routed according to the routes in the route table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-gatewayroutetableassociation.html)" + "A storage lake of event data against which you can run complex SQL-based queries. An event data store can include events that you have logged on your account from the last 7 to 2557 or 3653 days (about seven or ten years) depending on the selected BillingMode. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-gatewayroutetableassociation.json" + "$ref": "resources/aws-cloudtrail-eventdatastore.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -39972,9 +39877,9 @@ ], "additionalProperties": false }, - "AWS_DocDB_DBCluster": { + "AWS_ElastiCache_ServerlessCache": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DocDB::DBCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html)", + "markdownDescription": "The AWS::ElastiCache::ServerlessCache resource creates an Amazon ElastiCache Serverless Cache. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html)", "allOf": [ { "type": "object", @@ -39982,18 +39887,19 @@ "Type": { "type": "string", "enum": [ - "AWS::DocDB::DBCluster" + "AWS::ElastiCache::ServerlessCache" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DocDB::DBCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html)" + "The AWS::ElastiCache::ServerlessCache resource creates an Amazon ElastiCache Serverless Cache. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html)" ] }, "Properties": { - "$ref": "resources/aws-docdb-dbcluster.json" + "$ref": "resources/aws-elasticache-serverlesscache.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -40002,9 +39908,9 @@ ], "additionalProperties": false }, - "AWS_SNS_Subscription": { + "AWS_Pinpoint_EventStream": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SNS::Subscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::EventStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-eventstream.html)", "allOf": [ { "type": "object", @@ -40012,14 +39918,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SNS::Subscription" + "AWS::Pinpoint::EventStream" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SNS::Subscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html)" + "Resource Type definition for AWS::Pinpoint::EventStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-eventstream.html)" ] }, "Properties": { - "$ref": "resources/aws-sns-subscription.json" + "$ref": "resources/aws-pinpoint-eventstream.json" } }, "required": [ @@ -40033,9 +39939,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_FuotaTask": { + "AWS_EC2_LocalGatewayRouteTableVirtualInterfaceGroupAssociation": { "type": "object", - "markdownDescription": "Create and manage FUOTA tasks. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-fuotatask.html)", + "markdownDescription": "Describes a local gateway route table virtual interface group association for a local gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevirtualinterfacegroupassociation.html)", "allOf": [ { "type": "object", @@ -40043,14 +39949,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::FuotaTask" + "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation" ], "markdownEnumDescriptions": [ - "Create and manage FUOTA tasks. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-fuotatask.html)" + "Describes a local gateway route table virtual interface group association for a local gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevirtualinterfacegroupassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-fuotatask.json" + "$ref": "resources/aws-ec2-localgatewayroutetablevirtualinterfacegroupassociation.json" } }, "required": [ @@ -40064,9 +39970,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_SqlInjectionMatchSet": { + "AWS_RDS_GlobalCluster": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::SqlInjectionMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sqlinjectionmatchset.html)", + "markdownDescription": "Resource Type definition for AWS::RDS::GlobalCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html)", "allOf": [ { "type": "object", @@ -40074,19 +39980,18 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::SqlInjectionMatchSet" + "AWS::RDS::GlobalCluster" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::SqlInjectionMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sqlinjectionmatchset.html)" + "Resource Type definition for AWS::RDS::GlobalCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-sqlinjectionmatchset.json" + "$ref": "resources/aws-rds-globalcluster.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -40095,9 +40000,9 @@ ], "additionalProperties": false }, - "AWS_EKS_Addon": { + "AWS_Backup_Framework": { "type": "object", - "markdownDescription": "Resource Schema for AWS::EKS::Addon \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html)", + "markdownDescription": "Contains detailed information about a framework. Frameworks contain controls, which evaluate and report on your backup events and resources. Frameworks generate daily compliance results. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-framework.html)", "allOf": [ { "type": "object", @@ -40105,14 +40010,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EKS::Addon" + "AWS::Backup::Framework" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::EKS::Addon \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html)" + "Contains detailed information about a framework. Frameworks contain controls, which evaluate and report on your backup events and resources. Frameworks generate daily compliance results. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-framework.html)" ] }, "Properties": { - "$ref": "resources/aws-eks-addon.json" + "$ref": "resources/aws-backup-framework.json" } }, "required": [ @@ -40126,9 +40031,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_ProductSubscription": { + "AWS_CodeGuruReviewer_RepositoryAssociation": { "type": "object", - "markdownDescription": "The AWS::SecurityHub::ProductSubscription resource represents a subscription to a service that is allowed to generate findings for your Security Hub account. One product subscription resource is created for each product enabled. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-productsubscription.html)", + "markdownDescription": "This resource schema represents the RepositoryAssociation resource in the Amazon CodeGuru Reviewer service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html)", "allOf": [ { "type": "object", @@ -40136,14 +40041,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::ProductSubscription" + "AWS::CodeGuruReviewer::RepositoryAssociation" ], "markdownEnumDescriptions": [ - "The AWS::SecurityHub::ProductSubscription resource represents a subscription to a service that is allowed to generate findings for your Security Hub account. One product subscription resource is created for each product enabled. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-productsubscription.html)" + "This resource schema represents the RepositoryAssociation resource in the Amazon CodeGuru Reviewer service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-productsubscription.json" + "$ref": "resources/aws-codegurureviewer-repositoryassociation.json" } }, "required": [ @@ -40157,9 +40062,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SnapshotBlockPublicAccess": { + "AWS_Glue_Registry": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::SnapshotBlockPublicAccess \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-snapshotblockpublicaccess.html)", + "markdownDescription": "This resource creates a Registry for authoring schemas as part of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-registry.html)", "allOf": [ { "type": "object", @@ -40167,14 +40072,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SnapshotBlockPublicAccess" + "AWS::Glue::Registry" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::SnapshotBlockPublicAccess \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-snapshotblockpublicaccess.html)" + "This resource creates a Registry for authoring schemas as part of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-registry.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-snapshotblockpublicaccess.json" + "$ref": "resources/aws-glue-registry.json" } }, "required": [ @@ -40188,9 +40093,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_Flow": { + "AWS_Redshift_ScheduledAction": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::Flow Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html)", + "markdownDescription": "The `AWS::Redshift::ScheduledAction` resource creates an Amazon Redshift Scheduled Action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-scheduledaction.html)", "allOf": [ { "type": "object", @@ -40198,14 +40103,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::Flow" + "AWS::Redshift::ScheduledAction" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::Flow Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html)" + "The `AWS::Redshift::ScheduledAction` resource creates an Amazon Redshift Scheduled Action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-scheduledaction.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-flow.json" + "$ref": "resources/aws-redshift-scheduledaction.json" } }, "required": [ @@ -40219,9 +40124,9 @@ ], "additionalProperties": false }, - "AWS_GuardDuty_Member": { + "AWS_GameLift_Script": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GuardDuty::Member \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html)", + "markdownDescription": "The AWS::GameLift::Script resource creates a new script record for your Realtime Servers script. Realtime scripts are JavaScript that provide configuration settings and optional custom game logic for your game. The script is deployed when you create a Realtime Servers fleet to host your game sessions. Script logic is executed during an active game session. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-script.html)", "allOf": [ { "type": "object", @@ -40229,14 +40134,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GuardDuty::Member" + "AWS::GameLift::Script" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GuardDuty::Member \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html)" + "The AWS::GameLift::Script resource creates a new script record for your Realtime Servers script. Realtime scripts are JavaScript that provide configuration settings and optional custom game logic for your game. The script is deployed when you create a Realtime Servers fleet to host your game sessions. Script logic is executed during an active game session. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-script.html)" ] }, "Properties": { - "$ref": "resources/aws-guardduty-member.json" + "$ref": "resources/aws-gamelift-script.json" } }, "required": [ @@ -40250,9 +40155,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayRouteTableAssociation": { + "AWS_ApiGatewayV2_Model": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::TransitGatewayRouteTableAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetableassociation.html)", + "markdownDescription": "The ``AWS::ApiGatewayV2::Model`` resource updates data model for a WebSocket API. For more information, see [Model Selection Expressions](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-model-selection-expressions) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html)", "allOf": [ { "type": "object", @@ -40260,14 +40165,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayRouteTableAssociation" + "AWS::ApiGatewayV2::Model" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TransitGatewayRouteTableAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetableassociation.html)" + "The ``AWS::ApiGatewayV2::Model`` resource updates data model for a WebSocket API. For more information, see [Model Selection Expressions](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-model-selection-expressions) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewayroutetableassociation.json" + "$ref": "resources/aws-apigatewayv2-model.json" } }, "required": [ @@ -40281,9 +40186,9 @@ ], "additionalProperties": false }, - "AWS_ElasticBeanstalk_ConfigurationTemplate": { + "AWS_SageMaker_Pipeline": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElasticBeanstalk::ConfigurationTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-pipeline.html)", "allOf": [ { "type": "object", @@ -40291,14 +40196,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticBeanstalk::ConfigurationTemplate" + "AWS::SageMaker::Pipeline" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticBeanstalk::ConfigurationTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html)" + "Resource Type definition for AWS::SageMaker::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-pipeline.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticbeanstalk-configurationtemplate.json" + "$ref": "resources/aws-sagemaker-pipeline.json" } }, "required": [ @@ -40312,9 +40217,9 @@ ], "additionalProperties": false }, - "AWS_AmazonMQ_ConfigurationAssociation": { + "AWS_SES_ReceiptFilter": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AmazonMQ::ConfigurationAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configurationassociation.html)", + "markdownDescription": "Resource Type definition for AWS::SES::ReceiptFilter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptfilter.html)", "allOf": [ { "type": "object", @@ -40322,14 +40227,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AmazonMQ::ConfigurationAssociation" + "AWS::SES::ReceiptFilter" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AmazonMQ::ConfigurationAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configurationassociation.html)" + "Resource Type definition for AWS::SES::ReceiptFilter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptfilter.html)" ] }, "Properties": { - "$ref": "resources/aws-amazonmq-configurationassociation.json" + "$ref": "resources/aws-ses-receiptfilter.json" } }, "required": [ @@ -40343,9 +40248,9 @@ ], "additionalProperties": false }, - "AWS_S3_StorageLensGroup": { + "AWS_IVS_StreamKey": { "type": "object", - "markdownDescription": "The AWS::S3::StorageLensGroup resource is an Amazon S3 resource type that you can use to create Storage Lens Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelensgroup.html)", + "markdownDescription": "Resource Type definition for AWS::IVS::StreamKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-streamkey.html)", "allOf": [ { "type": "object", @@ -40353,14 +40258,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::StorageLensGroup" + "AWS::IVS::StreamKey" ], "markdownEnumDescriptions": [ - "The AWS::S3::StorageLensGroup resource is an Amazon S3 resource type that you can use to create Storage Lens Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelensgroup.html)" + "Resource Type definition for AWS::IVS::StreamKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-streamkey.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-storagelensgroup.json" + "$ref": "resources/aws-ivs-streamkey.json" } }, "required": [ @@ -40374,9 +40279,9 @@ ], "additionalProperties": false }, - "AWS_ResourceExplorer2_Index": { + "AWS_ACMPCA_Permission": { "type": "object", - "markdownDescription": "Definition of AWS::ResourceExplorer2::Index Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-index.html)", + "markdownDescription": "Permission set on private certificate authority \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-permission.html)", "allOf": [ { "type": "object", @@ -40384,14 +40289,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ResourceExplorer2::Index" + "AWS::ACMPCA::Permission" ], "markdownEnumDescriptions": [ - "Definition of AWS::ResourceExplorer2::Index Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-index.html)" + "Permission set on private certificate authority \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-permission.html)" ] }, "Properties": { - "$ref": "resources/aws-resourceexplorer2-index.json" + "$ref": "resources/aws-acmpca-permission.json" } }, "required": [ @@ -40405,9 +40310,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_DomainName": { + "AWS_ApplicationSignals_ServiceLevelObjective": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppSync::DomainName \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html)", + "markdownDescription": "Resource Type definition for AWS::ApplicationSignals::ServiceLevelObjective \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html)", "allOf": [ { "type": "object", @@ -40415,14 +40320,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::DomainName" + "AWS::ApplicationSignals::ServiceLevelObjective" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppSync::DomainName \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html)" + "Resource Type definition for AWS::ApplicationSignals::ServiceLevelObjective \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-domainname.json" + "$ref": "resources/aws-applicationsignals-servicelevelobjective.json" } }, "required": [ @@ -40436,9 +40341,9 @@ ], "additionalProperties": false }, - "AWS_DeviceFarm_Project": { + "AWS_PinpointEmail_Identity": { "type": "object", - "markdownDescription": "AWS::DeviceFarm::Project creates a new Device Farm Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-project.html)", + "markdownDescription": "Resource Type definition for AWS::PinpointEmail::Identity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.html)", "allOf": [ { "type": "object", @@ -40446,14 +40351,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DeviceFarm::Project" + "AWS::PinpointEmail::Identity" ], "markdownEnumDescriptions": [ - "AWS::DeviceFarm::Project creates a new Device Farm Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-project.html)" + "Resource Type definition for AWS::PinpointEmail::Identity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.html)" ] }, "Properties": { - "$ref": "resources/aws-devicefarm-project.json" + "$ref": "resources/aws-pinpointemail-identity.json" } }, "required": [ @@ -40467,9 +40372,1524 @@ ], "additionalProperties": false }, - "AWS_DeviceFarm_DevicePool": { + "AWS_Pinpoint_App": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-app.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Pinpoint::App" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::Pinpoint::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-app.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-pinpoint-app.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_IoTSiteWise_AccessPolicy": { + "type": "object", + "markdownDescription": "Resource schema for AWS::IoTSiteWise::AccessPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-accesspolicy.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::IoTSiteWise::AccessPolicy" + ], + "markdownEnumDescriptions": [ + "Resource schema for AWS::IoTSiteWise::AccessPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-accesspolicy.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-iotsitewise-accesspolicy.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_WAFRegional_ByteMatchSet": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::ByteMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-bytematchset.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::WAFRegional::ByteMatchSet" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::WAFRegional::ByteMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-bytematchset.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-wafregional-bytematchset.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_QLDB_Ledger": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::QLDB::Ledger \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::QLDB::Ledger" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::QLDB::Ledger \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-qldb-ledger.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_DMS_ReplicationTask": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::DMS::ReplicationTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::DMS::ReplicationTask" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::DMS::ReplicationTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-dms-replicationtask.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Shield_ProtectionGroup": { + "type": "object", + "markdownDescription": "A grouping of protected resources so they can be handled as a collective. This resource grouping improves the accuracy of detection and reduces false positives. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protectiongroup.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Shield::ProtectionGroup" + ], + "markdownEnumDescriptions": [ + "A grouping of protected resources so they can be handled as a collective. This resource grouping improves the accuracy of detection and reduces false positives. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protectiongroup.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-shield-protectiongroup.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Location_Map": { + "type": "object", + "markdownDescription": "Definition of AWS::Location::Map Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-map.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Location::Map" + ], + "markdownEnumDescriptions": [ + "Definition of AWS::Location::Map Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-map.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-location-map.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_WAFv2_WebACLAssociation": { + "type": "object", + "markdownDescription": "Associates WebACL to Application Load Balancer, CloudFront or API Gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webaclassociation.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::WAFv2::WebACLAssociation" + ], + "markdownEnumDescriptions": [ + "Associates WebACL to Application Load Balancer, CloudFront or API Gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webaclassociation.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-wafv2-webaclassociation.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_ElastiCache_ParameterGroup": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::ElastiCache::ParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-parametergroup.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::ElastiCache::ParameterGroup" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::ElastiCache::ParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-parametergroup.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-elasticache-parametergroup.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_S3_AccessGrantsLocation": { + "type": "object", + "markdownDescription": "The AWS::S3::AccessGrantsLocation resource is an Amazon S3 resource type hosted in an access grants instance which can be the target of S3 access grants. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantslocation.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::S3::AccessGrantsLocation" + ], + "markdownEnumDescriptions": [ + "The AWS::S3::AccessGrantsLocation resource is an Amazon S3 resource type hosted in an access grants instance which can be the target of S3 access grants. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantslocation.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-s3-accessgrantslocation.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_ECR_PullThroughCacheRule": { + "type": "object", + "markdownDescription": "The AWS::ECR::PullThroughCacheRule resource configures the upstream registry configuration details for an Amazon Elastic Container Registry (Amazon Private ECR) pull-through cache. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-pullthroughcacherule.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::ECR::PullThroughCacheRule" + ], + "markdownEnumDescriptions": [ + "The AWS::ECR::PullThroughCacheRule resource configures the upstream registry configuration details for an Amazon Elastic Container Registry (Amazon Private ECR) pull-through cache. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-pullthroughcacherule.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-ecr-pullthroughcacherule.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Events_EventBus": { + "type": "object", + "markdownDescription": "Resource type definition for AWS::Events::EventBus \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Events::EventBus" + ], + "markdownEnumDescriptions": [ + "Resource type definition for AWS::Events::EventBus \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-events-eventbus.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_DAX_ParameterGroup": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::DAX::ParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::DAX::ParameterGroup" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::DAX::ParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-dax-parametergroup.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_ApplicationAutoScaling_ScalableTarget": { + "type": "object", + "markdownDescription": "The ``AWS::ApplicationAutoScaling::ScalableTarget`` resource specifies a resource that Application Auto Scaling can scale, such as an AWS::DynamoDB::Table or AWS::ECS::Service resource.\n For more information, see [Getting started](https://docs.aws.amazon.com/autoscaling/application/userguide/getting-started.html) in the *Application Auto Scaling User Guide*.\n If the resource that you want Application Auto Scaling to scale is not yet created in your account, add a dependency on the resource when registering it as a scalable target using the [DependsOn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) attribute. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::ApplicationAutoScaling::ScalableTarget" + ], + "markdownEnumDescriptions": [ + "The ``AWS::ApplicationAutoScaling::ScalableTarget`` resource specifies a resource that Application Auto Scaling can scale, such as an AWS::DynamoDB::Table or AWS::ECS::Service resource.\n For more information, see [Getting started](https://docs.aws.amazon.com/autoscaling/application/userguide/getting-started.html) in the *Application Auto Scaling User Guide*.\n If the resource that you want Application Auto Scaling to scale is not yet created in your account, add a dependency on the resource when registering it as a scalable target using the [DependsOn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) attribute. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-applicationautoscaling-scalabletarget.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_SageMaker_PartnerApp": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::SageMaker::PartnerApp \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-partnerapp.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::SageMaker::PartnerApp" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::SageMaker::PartnerApp \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-partnerapp.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-sagemaker-partnerapp.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Connect_RoutingProfile": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::Connect::RoutingProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-routingprofile.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Connect::RoutingProfile" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::Connect::RoutingProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-routingprofile.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-connect-routingprofile.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_CleanRooms_ConfiguredTable": { + "type": "object", + "markdownDescription": "Represents a table that can be associated with collaborations \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::CleanRooms::ConfiguredTable" + ], + "markdownEnumDescriptions": [ + "Represents a table that can be associated with collaborations \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-cleanrooms-configuredtable.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_CleanRooms_IdMappingTable": { + "type": "object", + "markdownDescription": "Represents an association between an ID mapping workflow and a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idmappingtable.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::CleanRooms::IdMappingTable" + ], + "markdownEnumDescriptions": [ + "Represents an association between an ID mapping workflow and a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idmappingtable.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-cleanrooms-idmappingtable.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Glue_DevEndpoint": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::Glue::DevEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Glue::DevEndpoint" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::Glue::DevEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-glue-devendpoint.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_IoTEvents_AlarmModel": { + "type": "object", + "markdownDescription": "Represents an alarm model to monitor an ITE input attribute. You can use the alarm to get notified when the value is outside a specified range. For more information, see [Create an alarm model](https://docs.aws.amazon.com/iotevents/latest/developerguide/create-alarms.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-alarmmodel.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::IoTEvents::AlarmModel" + ], + "markdownEnumDescriptions": [ + "Represents an alarm model to monitor an ITE input attribute. You can use the alarm to get notified when the value is outside a specified range. For more information, see [Create an alarm model](https://docs.aws.amazon.com/iotevents/latest/developerguide/create-alarms.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-alarmmodel.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-iotevents-alarmmodel.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Logs_DeliverySource": { + "type": "object", + "markdownDescription": " A delivery source is an AWS resource that sends logs to an AWS destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.\n\nOnly some AWS services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at [Enabling logging from AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverysource.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Logs::DeliverySource" + ], + "markdownEnumDescriptions": [ + " A delivery source is an AWS resource that sends logs to an AWS destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.\n\nOnly some AWS services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at [Enabling logging from AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverysource.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-logs-deliverysource.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_CloudFront_Distribution": { + "type": "object", + "markdownDescription": "A distribution tells CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::CloudFront::Distribution" + ], + "markdownEnumDescriptions": [ + "A distribution tells CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-cloudfront-distribution.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_BillingConductor_PricingPlan": { + "type": "object", + "markdownDescription": "Pricing Plan enables you to customize your billing details consistent with the usage that accrues in each of your billing groups. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingplan.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::BillingConductor::PricingPlan" + ], + "markdownEnumDescriptions": [ + "Pricing Plan enables you to customize your billing details consistent with the usage that accrues in each of your billing groups. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingplan.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-billingconductor-pricingplan.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_SageMaker_Space": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::SageMaker::Space \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-space.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::SageMaker::Space" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::SageMaker::Space \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-space.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-sagemaker-space.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_IAM_RolePolicy": { + "type": "object", + "markdownDescription": "Adds or updates an inline policy document that is embedded in the specified IAM role.\n When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html). You can update a role's trust policy using [UpdateAssumeRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAssumeRolePolicy.html). For information about roles, see [roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html) in the *IAM User Guide*.\n A role can also have a managed policy attached to it. To attach a managed policy to a role, use [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed with a role, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::IAM::RolePolicy" + ], + "markdownEnumDescriptions": [ + "Adds or updates an inline policy document that is embedded in the specified IAM role.\n When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html). You can update a role's trust policy using [UpdateAssumeRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAssumeRolePolicy.html). For information about roles, see [roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html) in the *IAM User Guide*.\n A role can also have a managed policy attached to it. To attach a managed policy to a role, use [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed with a role, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-iam-rolepolicy.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Cognito_UserPoolUser": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolUser \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Cognito::UserPoolUser" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::Cognito::UserPoolUser \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-cognito-userpooluser.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_RolesAnywhere_CRL": { + "type": "object", + "markdownDescription": "Definition of AWS::RolesAnywhere::CRL Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::RolesAnywhere::CRL" + ], + "markdownEnumDescriptions": [ + "Definition of AWS::RolesAnywhere::CRL Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-rolesanywhere-crl.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_EC2_LocalGatewayRouteTableVPCAssociation": { + "type": "object", + "markdownDescription": "Describes an association between a local gateway route table and a VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevpcassociation.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::EC2::LocalGatewayRouteTableVPCAssociation" + ], + "markdownEnumDescriptions": [ + "Describes an association between a local gateway route table and a VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevpcassociation.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-ec2-localgatewayroutetablevpcassociation.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_DataZone_Domain": { + "type": "object", + "markdownDescription": "A domain is an organizing entity for connecting together assets, users, and their projects \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-domain.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::DataZone::Domain" + ], + "markdownEnumDescriptions": [ + "A domain is an organizing entity for connecting together assets, users, and their projects \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-domain.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-datazone-domain.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_MediaLive_EventBridgeRuleTemplate": { + "type": "object", + "markdownDescription": "Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-eventbridgeruletemplate.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::MediaLive::EventBridgeRuleTemplate" + ], + "markdownEnumDescriptions": [ + "Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-eventbridgeruletemplate.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-medialive-eventbridgeruletemplate.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_IVS_PlaybackRestrictionPolicy": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::IVS::PlaybackRestrictionPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackrestrictionpolicy.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::IVS::PlaybackRestrictionPolicy" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::IVS::PlaybackRestrictionPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackrestrictionpolicy.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-ivs-playbackrestrictionpolicy.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_ServiceCatalog_TagOption": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::TagOption \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoption.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::ServiceCatalog::TagOption" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::ServiceCatalog::TagOption \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoption.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-servicecatalog-tagoption.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_EC2_VPCEndpointConnectionNotification": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::EC2::VPCEndpointConnectionNotification \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::EC2::VPCEndpointConnectionNotification" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::EC2::VPCEndpointConnectionNotification \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-ec2-vpcendpointconnectionnotification.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Connect_UserHierarchyStructure": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::Connect::UserHierarchyStructure \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-userhierarchystructure.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Connect::UserHierarchyStructure" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::Connect::UserHierarchyStructure \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-userhierarchystructure.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-connect-userhierarchystructure.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_AppRunner_VpcConnector": { + "type": "object", + "markdownDescription": "The AWS::AppRunner::VpcConnector resource specifies an App Runner VpcConnector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-vpcconnector.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::AppRunner::VpcConnector" + ], + "markdownEnumDescriptions": [ + "The AWS::AppRunner::VpcConnector resource specifies an App Runner VpcConnector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-vpcconnector.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-apprunner-vpcconnector.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_EMR_InstanceGroupConfig": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::EMR::InstanceGroupConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::EMR::InstanceGroupConfig" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::EMR::InstanceGroupConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-emr-instancegroupconfig.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_EC2_TransitGatewayRouteTableAssociation": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::EC2::TransitGatewayRouteTableAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetableassociation.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::EC2::TransitGatewayRouteTableAssociation" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::EC2::TransitGatewayRouteTableAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetableassociation.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-ec2-transitgatewayroutetableassociation.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_IoT_SoftwarePackage": { + "type": "object", + "markdownDescription": "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackage.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::IoT::SoftwarePackage" + ], + "markdownEnumDescriptions": [ + "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackage.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-iot-softwarepackage.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_ECR_ReplicationConfiguration": { + "type": "object", + "markdownDescription": "The AWS::ECR::ReplicationConfiguration resource configures the replication destinations for an Amazon Elastic Container Registry (Amazon Private ECR). For more information, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/replication.html \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-replicationconfiguration.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::ECR::ReplicationConfiguration" + ], + "markdownEnumDescriptions": [ + "The AWS::ECR::ReplicationConfiguration resource configures the replication destinations for an Amazon Elastic Container Registry (Amazon Private ECR). For more information, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/replication.html \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-replicationconfiguration.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-ecr-replicationconfiguration.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_ResilienceHub_App": { + "type": "object", + "markdownDescription": "Resource Type Definition for AWS::ResilienceHub::App. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-app.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::ResilienceHub::App" + ], + "markdownEnumDescriptions": [ + "Resource Type Definition for AWS::ResilienceHub::App. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-app.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-resiliencehub-app.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_IoTTwinMaker_Entity": { + "type": "object", + "markdownDescription": "Resource schema for AWS::IoTTwinMaker::Entity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-entity.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::IoTTwinMaker::Entity" + ], + "markdownEnumDescriptions": [ + "Resource schema for AWS::IoTTwinMaker::Entity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-entity.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-iottwinmaker-entity.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_ImageBuilder_Component": { + "type": "object", + "markdownDescription": "Resource schema for AWS::ImageBuilder::Component \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::ImageBuilder::Component" + ], + "markdownEnumDescriptions": [ + "Resource schema for AWS::ImageBuilder::Component \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-imagebuilder-component.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_SNS_Subscription": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::SNS::Subscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::SNS::Subscription" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::SNS::Subscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-sns-subscription.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Transfer_Connector": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::Transfer::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Transfer::Connector" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::Transfer::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-transfer-connector.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Comprehend_DocumentClassifier": { + "type": "object", + "markdownDescription": "Document Classifier enables training document classifier models. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-comprehend-documentclassifier.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Comprehend::DocumentClassifier" + ], + "markdownEnumDescriptions": [ + "Document Classifier enables training document classifier models. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-comprehend-documentclassifier.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-comprehend-documentclassifier.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_IoTWireless_Destination": { + "type": "object", + "markdownDescription": "Destination's resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-destination.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::IoTWireless::Destination" + ], + "markdownEnumDescriptions": [ + "Destination's resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-destination.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-iotwireless-destination.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_ElasticBeanstalk_Environment": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::ElasticBeanstalk::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-environment.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::ElasticBeanstalk::Environment" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::ElasticBeanstalk::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-environment.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-elasticbeanstalk-environment.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_SageMaker_ModelPackageGroup": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelPackageGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackagegroup.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::SageMaker::ModelPackageGroup" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::SageMaker::ModelPackageGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackagegroup.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-sagemaker-modelpackagegroup.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_S3Tables_TableBucket": { + "type": "object", + "markdownDescription": "Creates an Amazon S3 Tables table bucket in the same AWS Region where you create the AWS CloudFormation stack. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucket.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::S3Tables::TableBucket" + ], + "markdownEnumDescriptions": [ + "Creates an Amazon S3 Tables table bucket in the same AWS Region where you create the AWS CloudFormation stack. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucket.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-s3tables-tablebucket.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_SecretsManager_RotationSchedule": { "type": "object", - "markdownDescription": "AWS::DeviceFarm::DevicePool creates a new Device Pool for a given DF Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-devicepool.html)", + "markdownDescription": "Resource Type definition for AWS::SecretsManager::RotationSchedule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html)", "allOf": [ { "type": "object", @@ -40477,14 +41897,321 @@ "Type": { "type": "string", "enum": [ - "AWS::DeviceFarm::DevicePool" + "AWS::SecretsManager::RotationSchedule" ], "markdownEnumDescriptions": [ - "AWS::DeviceFarm::DevicePool creates a new Device Pool for a given DF Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-devicepool.html)" + "Resource Type definition for AWS::SecretsManager::RotationSchedule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html)" ] }, "Properties": { - "$ref": "resources/aws-devicefarm-devicepool.json" + "$ref": "resources/aws-secretsmanager-rotationschedule.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_ResourceExplorer2_View": { + "type": "object", + "markdownDescription": "Definition of AWS::ResourceExplorer2::View Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-view.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::ResourceExplorer2::View" + ], + "markdownEnumDescriptions": [ + "Definition of AWS::ResourceExplorer2::View Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-view.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-resourceexplorer2-view.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Deadline_MeteredProduct": { + "type": "object", + "markdownDescription": "Definition of AWS::Deadline::MeteredProduct Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-meteredproduct.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Deadline::MeteredProduct" + ], + "markdownEnumDescriptions": [ + "Definition of AWS::Deadline::MeteredProduct Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-meteredproduct.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-deadline-meteredproduct.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Route53Resolver_FirewallRuleGroup": { + "type": "object", + "markdownDescription": "Resource schema for AWS::Route53Resolver::FirewallRuleGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewallrulegroup.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Route53Resolver::FirewallRuleGroup" + ], + "markdownEnumDescriptions": [ + "Resource schema for AWS::Route53Resolver::FirewallRuleGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewallrulegroup.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-route53resolver-firewallrulegroup.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_IoTAnalytics_Datastore": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::IoTAnalytics::Datastore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::IoTAnalytics::Datastore" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::IoTAnalytics::Datastore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-iotanalytics-datastore.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_NetworkManager_TransitGatewayRouteTableAttachment": { + "type": "object", + "markdownDescription": "AWS::NetworkManager::TransitGatewayRouteTableAttachment Resource Type definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::NetworkManager::TransitGatewayRouteTableAttachment" + ], + "markdownEnumDescriptions": [ + "AWS::NetworkManager::TransitGatewayRouteTableAttachment Resource Type definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-networkmanager-transitgatewayroutetableattachment.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_SageMaker_DataQualityJobDefinition": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::SageMaker::DataQualityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-dataqualityjobdefinition.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::SageMaker::DataQualityJobDefinition" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::SageMaker::DataQualityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-dataqualityjobdefinition.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-sagemaker-dataqualityjobdefinition.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_ResourceExplorer2_DefaultViewAssociation": { + "type": "object", + "markdownDescription": "Definition of AWS::ResourceExplorer2::DefaultViewAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-defaultviewassociation.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::ResourceExplorer2::DefaultViewAssociation" + ], + "markdownEnumDescriptions": [ + "Definition of AWS::ResourceExplorer2::DefaultViewAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-defaultviewassociation.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-resourceexplorer2-defaultviewassociation.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_LookoutEquipment_InferenceScheduler": { + "type": "object", + "markdownDescription": "Resource schema for LookoutEquipment InferenceScheduler. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::LookoutEquipment::InferenceScheduler" + ], + "markdownEnumDescriptions": [ + "Resource schema for LookoutEquipment InferenceScheduler. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-lookoutequipment-inferencescheduler.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_DeviceFarm_VPCEConfiguration": { + "type": "object", + "markdownDescription": "AWS::DeviceFarm::VPCEConfiguration creates a new Device Farm VPCE Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-vpceconfiguration.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::DeviceFarm::VPCEConfiguration" + ], + "markdownEnumDescriptions": [ + "AWS::DeviceFarm::VPCEConfiguration creates a new Device Farm VPCE Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-vpceconfiguration.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-devicefarm-vpceconfiguration.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_DeviceFarm_NetworkProfile": { + "type": "object", + "markdownDescription": "AWS::DeviceFarm::NetworkProfile creates a new DF Network Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-networkprofile.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::DeviceFarm::NetworkProfile" + ], + "markdownEnumDescriptions": [ + "AWS::DeviceFarm::NetworkProfile creates a new DF Network Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-networkprofile.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-devicefarm-networkprofile.json" } }, "required": [ @@ -40560,9 +42287,9 @@ ], "additionalProperties": false }, - "AWS_DeviceFarm_NetworkProfile": { + "AWS_DeviceFarm_DevicePool": { "type": "object", - "markdownDescription": "AWS::DeviceFarm::NetworkProfile creates a new DF Network Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-networkprofile.html)", + "markdownDescription": "AWS::DeviceFarm::DevicePool creates a new Device Pool for a given DF Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-devicepool.html)", "allOf": [ { "type": "object", @@ -40570,14 +42297,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DeviceFarm::NetworkProfile" + "AWS::DeviceFarm::DevicePool" ], "markdownEnumDescriptions": [ - "AWS::DeviceFarm::NetworkProfile creates a new DF Network Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-networkprofile.html)" + "AWS::DeviceFarm::DevicePool creates a new Device Pool for a given DF Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-devicepool.html)" ] }, "Properties": { - "$ref": "resources/aws-devicefarm-networkprofile.json" + "$ref": "resources/aws-devicefarm-devicepool.json" } }, "required": [ @@ -40591,9 +42318,9 @@ ], "additionalProperties": false }, - "AWS_DeviceFarm_VPCEConfiguration": { + "AWS_DeviceFarm_Project": { "type": "object", - "markdownDescription": "AWS::DeviceFarm::VPCEConfiguration creates a new Device Farm VPCE Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-vpceconfiguration.html)", + "markdownDescription": "AWS::DeviceFarm::Project creates a new Device Farm Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-project.html)", "allOf": [ { "type": "object", @@ -40601,14 +42328,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DeviceFarm::VPCEConfiguration" + "AWS::DeviceFarm::Project" ], "markdownEnumDescriptions": [ - "AWS::DeviceFarm::VPCEConfiguration creates a new Device Farm VPCE Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-vpceconfiguration.html)" + "AWS::DeviceFarm::Project creates a new Device Farm Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-project.html)" ] }, "Properties": { - "$ref": "resources/aws-devicefarm-vpceconfiguration.json" + "$ref": "resources/aws-devicefarm-project.json" } }, "required": [ @@ -40635,3940 +42362,4108 @@ "$ref": "#/definitions/CustomResource" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_LaunchNotificationConstraint" + "$ref": "#/definitions/AWS_NetworkManager_TransitGatewayPeering" }, { - "$ref": "#/definitions/AWS_QuickSight_Template" + "$ref": "#/definitions/AWS_XRay_Group" }, { - "$ref": "#/definitions/AWS_AppMesh_Mesh" + "$ref": "#/definitions/AWS_MediaLive_EventBridgeRuleTemplateGroup" }, { - "$ref": "#/definitions/AWS_AppFlow_Flow" + "$ref": "#/definitions/AWS_Greengrass_LoggerDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS_EC2_VerifiedAccessTrustProvider" + }, + { + "$ref": "#/definitions/AWS_RDS_DBInstance" + }, + { + "$ref": "#/definitions/AWS_FraudDetector_EventType" + }, + { + "$ref": "#/definitions/AWS_MediaConnect_Bridge" + }, + { + "$ref": "#/definitions/AWS_Wisdom_AIAgent" + }, + { + "$ref": "#/definitions/AWS_Batch_SchedulingPolicy" + }, + { + "$ref": "#/definitions/AWS_SecurityHub_PolicyAssociation" + }, + { + "$ref": "#/definitions/AWS_AppMesh_VirtualNode" + }, + { + "$ref": "#/definitions/AWS_FMS_ResourceSet" + }, + { + "$ref": "#/definitions/AWS_Config_DeliveryChannel" + }, + { + "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_TrustStoreRevocation" + }, + { + "$ref": "#/definitions/AWS_EKS_AccessEntry" + }, + { + "$ref": "#/definitions/AWS_ResourceGroups_TagSyncTask" + }, + { + "$ref": "#/definitions/AWS_ServiceDiscovery_Instance" + }, + { + "$ref": "#/definitions/AWS_CodeBuild_SourceCredential" + }, + { + "$ref": "#/definitions/AWS_Logs_ResourcePolicy" + }, + { + "$ref": "#/definitions/AWS_FraudDetector_Variable" + }, + { + "$ref": "#/definitions/AWS_IAM_User" + }, + { + "$ref": "#/definitions/AWS_CloudFormation_Stack" + }, + { + "$ref": "#/definitions/AWS_SQS_Queue" + }, + { + "$ref": "#/definitions/AWS_CloudFormation_CustomResource" + }, + { + "$ref": "#/definitions/AWS_MediaLive_Input" + }, + { + "$ref": "#/definitions/AWS_Logs_Destination" + }, + { + "$ref": "#/definitions/AWS_SecurityHub_ConfigurationPolicy" + }, + { + "$ref": "#/definitions/AWS_AppRunner_AutoScalingConfiguration" + }, + { + "$ref": "#/definitions/AWS_Greengrass_ResourceDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS_PCAConnectorAD_Connector" + }, + { + "$ref": "#/definitions/AWS_QuickSight_Analysis" + }, + { + "$ref": "#/definitions/AWS_KMS_ReplicaKey" + }, + { + "$ref": "#/definitions/AWS_ElastiCache_CacheCluster" + }, + { + "$ref": "#/definitions/AWS_DirectoryService_MicrosoftAD" + }, + { + "$ref": "#/definitions/AWS_ApiGatewayV2_Stage" + }, + { + "$ref": "#/definitions/AWS_Glue_UsageProfile" + }, + { + "$ref": "#/definitions/AWS_WAFv2_IPSet" + }, + { + "$ref": "#/definitions/AWS_AppSync_ChannelNamespace" + }, + { + "$ref": "#/definitions/AWS_APS_Workspace" + }, + { + "$ref": "#/definitions/AWS_FSx_FileSystem" + }, + { + "$ref": "#/definitions/AWS_PCS_Queue" + }, + { + "$ref": "#/definitions/AWS_EC2_NetworkInterfaceAttachment" + }, + { + "$ref": "#/definitions/AWS_CloudWatch_AnomalyDetector" + }, + { + "$ref": "#/definitions/AWS_Connect_UserHierarchyGroup" + }, + { + "$ref": "#/definitions/AWS_EventSchemas_Schema" + }, + { + "$ref": "#/definitions/AWS_ImageBuilder_DistributionConfiguration" + }, + { + "$ref": "#/definitions/AWS_CodeBuild_Project" + }, + { + "$ref": "#/definitions/AWS_IdentityStore_GroupMembership" + }, + { + "$ref": "#/definitions/AWS_IAM_InstanceProfile" + }, + { + "$ref": "#/definitions/AWS_CloudFormation_LambdaHook" + }, + { + "$ref": "#/definitions/AWS_Oam_Sink" + }, + { + "$ref": "#/definitions/AWS_EKS_Nodegroup" + }, + { + "$ref": "#/definitions/AWS_EC2_RouteTable" + }, + { + "$ref": "#/definitions/AWS_ImageBuilder_Image" + }, + { + "$ref": "#/definitions/AWS_MediaPackageV2_ChannelGroup" + }, + { + "$ref": "#/definitions/AWS_Redshift_ClusterSecurityGroup" + }, + { + "$ref": "#/definitions/AWS_Macie_CustomDataIdentifier" + }, + { + "$ref": "#/definitions/AWS_ApiGateway_Model" + }, + { + "$ref": "#/definitions/AWS_EC2_Volume" + }, + { + "$ref": "#/definitions/AWS_ElasticBeanstalk_ConfigurationTemplate" }, { - "$ref": "#/definitions/AWS_Greengrass_DeviceDefinitionVersion" + "$ref": "#/definitions/AWS_Deadline_Monitor" }, { - "$ref": "#/definitions/AWS_EC2_LocalGatewayRouteTableVPCAssociation" + "$ref": "#/definitions/AWS_Budgets_Budget" }, { - "$ref": "#/definitions/AWS_EC2_ClientVpnRoute" + "$ref": "#/definitions/AWS_B2BI_Capability" }, { - "$ref": "#/definitions/AWS_Redshift_ClusterSubnetGroup" + "$ref": "#/definitions/AWS_QuickSight_DataSet" }, { - "$ref": "#/definitions/AWS_KinesisAnalyticsV2_ApplicationCloudWatchLoggingOption" + "$ref": "#/definitions/AWS_CodeConnections_Connection" }, { - "$ref": "#/definitions/AWS_Connect_UserHierarchyStructure" + "$ref": "#/definitions/AWS_S3Express_BucketPolicy" }, { - "$ref": "#/definitions/AWS_DataSync_LocationFSxONTAP" + "$ref": "#/definitions/AWS_ApiGateway_UsagePlanKey" }, { - "$ref": "#/definitions/AWS_Glue_SchemaVersionMetadata" + "$ref": "#/definitions/AWS_IoT_BillingGroup" }, { - "$ref": "#/definitions/AWS_Route53Resolver_ResolverRuleAssociation" + "$ref": "#/definitions/AWS_DataSync_LocationFSxONTAP" }, { - "$ref": "#/definitions/AWS_Logs_DeliverySource" + "$ref": "#/definitions/AWS_Shield_DRTAccess" }, { - "$ref": "#/definitions/AWS_Rekognition_Project" + "$ref": "#/definitions/AWS_GameLift_ContainerFleet" }, { - "$ref": "#/definitions/AWS_DataSync_LocationFSxOpenZFS" + "$ref": "#/definitions/AWS_RolesAnywhere_Profile" }, { - "$ref": "#/definitions/AWS_SSM_MaintenanceWindow" + "$ref": "#/definitions/AWS_ApiGateway_Authorizer" }, { - "$ref": "#/definitions/AWS_ResourceExplorer2_View" + "$ref": "#/definitions/AWS_KMS_Alias" }, { - "$ref": "#/definitions/AWS_CustomerProfiles_ObjectType" + "$ref": "#/definitions/AWS_RedshiftServerless_Namespace" }, { - "$ref": "#/definitions/AWS_EC2_PrefixList" + "$ref": "#/definitions/AWS_CloudFormation_ModuleDefaultVersion" }, { - "$ref": "#/definitions/AWS_SageMaker_DeviceFleet" + "$ref": "#/definitions/AWS_ServiceCatalog_PortfolioPrincipalAssociation" }, { - "$ref": "#/definitions/AWS_BillingConductor_PricingPlan" + "$ref": "#/definitions/AWS_EventSchemas_Registry" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolUser" + "$ref": "#/definitions/AWS_ECS_CapacityProvider" }, { - "$ref": "#/definitions/AWS_Organizations_ResourcePolicy" + "$ref": "#/definitions/AWS_Kinesis_Stream" }, { - "$ref": "#/definitions/AWS_SecurityHub_FindingAggregator" + "$ref": "#/definitions/AWS_Glue_Job" }, { - "$ref": "#/definitions/AWS_Pinpoint_APNSVoipSandboxChannel" + "$ref": "#/definitions/AWS_EC2_VPCEndpointServicePermissions" }, { - "$ref": "#/definitions/AWS_KafkaConnect_CustomPlugin" + "$ref": "#/definitions/AWS_Panorama_PackageVersion" }, { - "$ref": "#/definitions/AWS_IoT_TopicRule" + "$ref": "#/definitions/AWS_Glue_SchemaVersion" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolIdentityProvider" + "$ref": "#/definitions/AWS_DAX_Cluster" }, { - "$ref": "#/definitions/AWS_DataBrew_Recipe" + "$ref": "#/definitions/AWS_GameLift_Fleet" }, { - "$ref": "#/definitions/AWS_Detective_MemberInvitation" + "$ref": "#/definitions/AWS_MediaLive_ChannelPlacementGroup" }, { - "$ref": "#/definitions/AWS_Logs_SubscriptionFilter" + "$ref": "#/definitions/AWS_Glue_DataCatalogEncryptionSettings" }, { - "$ref": "#/definitions/AWS_AccessAnalyzer_Analyzer" + "$ref": "#/definitions/AWS_Logs_Delivery" }, { - "$ref": "#/definitions/AWS_EC2_NetworkInterfaceAttachment" + "$ref": "#/definitions/AWS_CleanRooms_Collaboration" }, { - "$ref": "#/definitions/AWS_OpenSearchServerless_AccessPolicy" + "$ref": "#/definitions/AWS_Greengrass_DeviceDefinitionVersion" }, { - "$ref": "#/definitions/AWS_SecurityLake_SubscriberNotification" + "$ref": "#/definitions/AWS_VerifiedPermissions_PolicyStore" }, { - "$ref": "#/definitions/AWS_CleanRooms_IdMappingTable" + "$ref": "#/definitions/AWS_MediaTailor_PlaybackConfiguration" }, { - "$ref": "#/definitions/AWS_IoT_ResourceSpecificLogging" + "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastDomain" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_Model" + "$ref": "#/definitions/AWS_WorkSpacesThinClient_Environment" }, { - "$ref": "#/definitions/AWS_Amplify_Domain" + "$ref": "#/definitions/AWS_Pinpoint_EmailTemplate" }, { - "$ref": "#/definitions/AWS_EC2_VPCDHCPOptionsAssociation" + "$ref": "#/definitions/AWS_Bedrock_AgentAlias" }, { - "$ref": "#/definitions/AWS_NetworkFirewall_Firewall" + "$ref": "#/definitions/AWS_EC2_IPAMPoolCidr" }, { - "$ref": "#/definitions/AWS_DMS_MigrationProject" + "$ref": "#/definitions/AWS_SupportApp_SlackWorkspaceConfiguration" }, { - "$ref": "#/definitions/AWS_SageMaker_FeatureGroup" + "$ref": "#/definitions/AWS_Deadline_LicenseEndpoint" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_Stage" + "$ref": "#/definitions/AWS_Organizations_Organization" }, { - "$ref": "#/definitions/AWS_Pinpoint_SmsTemplate" + "$ref": "#/definitions/AWS_NetworkFirewall_FirewallPolicy" }, { - "$ref": "#/definitions/AWS_IoTFleetWise_SignalCatalog" + "$ref": "#/definitions/AWS_EKS_Addon" }, { - "$ref": "#/definitions/AWS_Personalize_Schema" + "$ref": "#/definitions/AWS_Glue_Crawler" }, { - "$ref": "#/definitions/AWS_EC2_SecurityGroupIngress" + "$ref": "#/definitions/AWS_Redshift_EndpointAuthorization" }, { - "$ref": "#/definitions/AWS_FSx_Volume" + "$ref": "#/definitions/AWS_ECR_Repository" }, { - "$ref": "#/definitions/AWS_Pinpoint_APNSVoipChannel" + "$ref": "#/definitions/AWS_Connect_TaskTemplate" }, { - "$ref": "#/definitions/AWS_ElastiCache_SubnetGroup" + "$ref": "#/definitions/AWS_AppConfig_ConfigurationProfile" }, { - "$ref": "#/definitions/AWS_Evidently_Experiment" + "$ref": "#/definitions/AWS_Greengrass_SubscriptionDefinitionVersion" }, { - "$ref": "#/definitions/AWS_Transfer_Agreement" + "$ref": "#/definitions/AWS_IAM_SAMLProvider" }, { - "$ref": "#/definitions/AWS_AppIntegrations_EventIntegration" + "$ref": "#/definitions/AWS_SecretsManager_Secret" }, { - "$ref": "#/definitions/AWS_Kinesis_StreamConsumer" + "$ref": "#/definitions/AWS_NetworkManager_Site" }, { - "$ref": "#/definitions/AWS_DataZone_Project" + "$ref": "#/definitions/AWS_IoT_TopicRule" }, { - "$ref": "#/definitions/AWS_Athena_WorkGroup" + "$ref": "#/definitions/AWS_DataSync_LocationFSxOpenZFS" }, { - "$ref": "#/definitions/AWS_Signer_SigningProfile" + "$ref": "#/definitions/AWS_SageMaker_MlflowTrackingServer" }, { - "$ref": "#/definitions/AWS_NetworkManager_CoreNetwork" + "$ref": "#/definitions/AWS_EC2_VPCEndpoint" }, { - "$ref": "#/definitions/AWS_Logs_LogAnomalyDetector" + "$ref": "#/definitions/AWS_Lightsail_LoadBalancerTlsCertificate" }, { - "$ref": "#/definitions/AWS_Omics_SequenceStore" + "$ref": "#/definitions/AWS_VpcLattice_ServiceNetworkResourceAssociation" }, { - "$ref": "#/definitions/AWS_SES_ConfigurationSetEventDestination" + "$ref": "#/definitions/AWS_MemoryDB_Cluster" }, { - "$ref": "#/definitions/AWS_DataSync_LocationHDFS" + "$ref": "#/definitions/AWS_IoTAnalytics_Dataset" }, { - "$ref": "#/definitions/AWS_SSO_PermissionSet" + "$ref": "#/definitions/AWS_ServiceDiscovery_PublicDnsNamespace" }, { - "$ref": "#/definitions/AWS_CodeStar_GitHubRepository" + "$ref": "#/definitions/AWS_EC2_NetworkAcl" }, { - "$ref": "#/definitions/AWS_NetworkFirewall_RuleGroup" + "$ref": "#/definitions/AWS_Greengrass_FunctionDefinitionVersion" }, { - "$ref": "#/definitions/AWS_Pinpoint_BaiduChannel" + "$ref": "#/definitions/AWS_AutoScaling_LifecycleHook" }, { - "$ref": "#/definitions/AWS_IoT_ThingType" + "$ref": "#/definitions/AWS_AutoScaling_ScalingPolicy" }, { - "$ref": "#/definitions/AWS_B2BI_Profile" + "$ref": "#/definitions/AWS_WAFv2_LoggingConfiguration" }, { - "$ref": "#/definitions/AWS_Oam_Sink" + "$ref": "#/definitions/AWS_IoT_JobTemplate" }, { - "$ref": "#/definitions/AWS_GuardDuty_ThreatIntelSet" + "$ref": "#/definitions/AWS_CloudFormation_StackSet" }, { - "$ref": "#/definitions/AWS_SES_DedicatedIpPool" + "$ref": "#/definitions/AWS_NetworkManager_TransitGatewayRegistration" }, { - "$ref": "#/definitions/AWS_Timestream_Database" + "$ref": "#/definitions/AWS_ApiGatewayV2_ApiGatewayManagedOverrides" }, { - "$ref": "#/definitions/AWS_IoTSiteWise_Project" + "$ref": "#/definitions/AWS_EC2_TransitGatewayConnect" }, { - "$ref": "#/definitions/AWS_SSMContacts_Rotation" + "$ref": "#/definitions/AWS_SageMaker_ModelQualityJobDefinition" }, { - "$ref": "#/definitions/AWS_IoTCoreDeviceAdvisor_SuiteDefinition" + "$ref": "#/definitions/AWS_WAF_WebACL" }, { - "$ref": "#/definitions/AWS_PinpointEmail_ConfigurationSetEventDestination" + "$ref": "#/definitions/AWS_ECS_TaskSet" }, { - "$ref": "#/definitions/AWS_B2BI_Partnership" + "$ref": "#/definitions/AWS_Redshift_ClusterSecurityGroupIngress" }, { - "$ref": "#/definitions/AWS_SES_ReceiptFilter" + "$ref": "#/definitions/AWS_EC2_VPCEndpointService" }, { - "$ref": "#/definitions/AWS_EKS_AccessEntry" + "$ref": "#/definitions/AWS_NetworkManager_LinkAssociation" }, { - "$ref": "#/definitions/AWS_Pinpoint_EmailChannel" + "$ref": "#/definitions/AWS_RefactorSpaces_Environment" }, { - "$ref": "#/definitions/AWS_IoTEvents_AlarmModel" + "$ref": "#/definitions/AWS_Backup_ReportPlan" }, { - "$ref": "#/definitions/AWS_NetworkManager_TransitGatewayRouteTableAttachment" + "$ref": "#/definitions/AWS_Timestream_InfluxDBInstance" }, { - "$ref": "#/definitions/AWS_EC2_ClientVpnAuthorizationRule" + "$ref": "#/definitions/AWS_Connect_EmailAddress" }, { - "$ref": "#/definitions/AWS_Events_ApiDestination" + "$ref": "#/definitions/AWS_RDS_DBCluster" }, { - "$ref": "#/definitions/AWS_MSK_Replicator" + "$ref": "#/definitions/AWS_SystemsManagerSAP_Application" }, { - "$ref": "#/definitions/AWS_FIS_TargetAccountConfiguration" + "$ref": "#/definitions/AWS_SNS_TopicPolicy" }, { - "$ref": "#/definitions/AWS_MediaPackageV2_ChannelGroup" + "$ref": "#/definitions/AWS_Location_APIKey" }, { - "$ref": "#/definitions/AWS_CloudWatch_AnomalyDetector" + "$ref": "#/definitions/AWS_S3_StorageLensGroup" }, { - "$ref": "#/definitions/AWS_ApiGateway_DocumentationPart" + "$ref": "#/definitions/AWS_CloudFront_StreamingDistribution" }, { - "$ref": "#/definitions/AWS_Deadline_QueueEnvironment" + "$ref": "#/definitions/AWS_NetworkManager_CustomerGatewayAssociation" }, { - "$ref": "#/definitions/AWS_EC2_CustomerGateway" + "$ref": "#/definitions/AWS_ACMPCA_CertificateAuthority" }, { - "$ref": "#/definitions/AWS_Cognito_IdentityPoolPrincipalTag" + "$ref": "#/definitions/AWS_DMS_Certificate" }, { - "$ref": "#/definitions/AWS_Chatbot_SlackChannelConfiguration" + "$ref": "#/definitions/AWS_QLDB_Stream" }, { - "$ref": "#/definitions/AWS_ApiGateway_Account" + "$ref": "#/definitions/AWS_NetworkManager_Link" }, { - "$ref": "#/definitions/AWS_ImageBuilder_ImagePipeline" + "$ref": "#/definitions/AWS_QuickSight_VPCConnection" }, { - "$ref": "#/definitions/AWS_CleanRooms_ConfiguredTableAssociation" + "$ref": "#/definitions/AWS_Kendra_Faq" }, { - "$ref": "#/definitions/AWS_CleanRoomsML_TrainingDataset" + "$ref": "#/definitions/AWS_CloudFormation_ResourceVersion" }, { - "$ref": "#/definitions/AWS_DataSync_LocationAzureBlob" + "$ref": "#/definitions/AWS_IoTFleetWise_Vehicle" }, { - "$ref": "#/definitions/AWS_Budgets_BudgetsAction" + "$ref": "#/definitions/AWS_OpsWorks_Instance" }, { - "$ref": "#/definitions/AWS_GroundStation_Config" + "$ref": "#/definitions/AWS_IVS_Channel" }, { - "$ref": "#/definitions/AWS_IoTSiteWise_Portal" + "$ref": "#/definitions/AWS_EntityResolution_SchemaMapping" }, { - "$ref": "#/definitions/AWS_IVSChat_LoggingConfiguration" + "$ref": "#/definitions/AWS_Amplify_Branch" }, { - "$ref": "#/definitions/AWS_SageMaker_ModelPackage" + "$ref": "#/definitions/AWS_S3Outposts_AccessPoint" }, { - "$ref": "#/definitions/AWS_EC2_FlowLog" + "$ref": "#/definitions/AWS_GuardDuty_Filter" }, { - "$ref": "#/definitions/AWS_CE_CostCategory" + "$ref": "#/definitions/AWS_WorkSpacesWeb_UserSettings" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_PortfolioProductAssociation" + "$ref": "#/definitions/AWS_ElastiCache_SubnetGroup" }, { - "$ref": "#/definitions/AWS_Bedrock_FlowAlias" + "$ref": "#/definitions/AWS_LicenseManager_Grant" }, { - "$ref": "#/definitions/AWS_Pinpoint_EventStream" + "$ref": "#/definitions/AWS_Connect_SecurityProfile" }, { - "$ref": "#/definitions/AWS_SecurityHub_ConfigurationPolicy" + "$ref": "#/definitions/AWS_MediaConnect_FlowVpcInterface" }, { - "$ref": "#/definitions/AWS_SecurityHub_Hub" + "$ref": "#/definitions/AWS_Glue_MLTransform" }, { - "$ref": "#/definitions/AWS_Macie_Session" + "$ref": "#/definitions/AWS_Route53Profiles_ProfileAssociation" }, { - "$ref": "#/definitions/AWS_CleanRooms_PrivacyBudgetTemplate" + "$ref": "#/definitions/AWS_Logs_QueryDefinition" }, { - "$ref": "#/definitions/AWS_Lambda_Version" + "$ref": "#/definitions/AWS_CE_AnomalyMonitor" }, { - "$ref": "#/definitions/AWS_CustomerProfiles_Integration" + "$ref": "#/definitions/AWS_ApplicationInsights_Application" }, { - "$ref": "#/definitions/AWS_DMS_ReplicationTask" + "$ref": "#/definitions/AWS_VpcLattice_Rule" }, { - "$ref": "#/definitions/AWS_CodeBuild_ReportGroup" + "$ref": "#/definitions/AWS_Organizations_Account" }, { - "$ref": "#/definitions/AWS_CloudFront_ContinuousDeploymentPolicy" + "$ref": "#/definitions/AWS_Connect_ViewVersion" }, { - "$ref": "#/definitions/AWS_KinesisAnalytics_ApplicationReferenceDataSource" + "$ref": "#/definitions/AWS_ServiceDiscovery_Service" }, { - "$ref": "#/definitions/AWS_Lightsail_Database" + "$ref": "#/definitions/AWS_IoTSiteWise_Asset" }, { - "$ref": "#/definitions/AWS_SageMaker_Domain" + "$ref": "#/definitions/AWS_SageMaker_Model" }, { - "$ref": "#/definitions/AWS_PaymentCryptography_Key" + "$ref": "#/definitions/AWS_ImageBuilder_ImageRecipe" }, { - "$ref": "#/definitions/AWS_SSM_ResourceDataSync" + "$ref": "#/definitions/AWS_Cognito_UserPoolGroup" }, { - "$ref": "#/definitions/AWS_WAFRegional_XssMatchSet" + "$ref": "#/definitions/AWS_RoboMaker_SimulationApplicationVersion" }, { - "$ref": "#/definitions/AWS_AppMesh_VirtualGateway" + "$ref": "#/definitions/AWS_IoT_Thing" }, { - "$ref": "#/definitions/AWS_Batch_JobDefinition" + "$ref": "#/definitions/AWS_GlobalAccelerator_Listener" }, { - "$ref": "#/definitions/AWS_QBusiness_Application" + "$ref": "#/definitions/AWS_Lambda_Permission" }, { - "$ref": "#/definitions/AWS_RDS_Integration" + "$ref": "#/definitions/AWS_SecurityLake_DataLake" }, { - "$ref": "#/definitions/AWS_CloudWatch_Alarm" + "$ref": "#/definitions/AWS_ImageBuilder_Workflow" }, { - "$ref": "#/definitions/AWS_QBusiness_Plugin" + "$ref": "#/definitions/AWS_Route53RecoveryControl_ControlPanel" }, { - "$ref": "#/definitions/AWS_QBusiness_Retriever" + "$ref": "#/definitions/AWS_EC2_VPCGatewayAttachment" }, { - "$ref": "#/definitions/AWS_CloudFront_ResponseHeadersPolicy" + "$ref": "#/definitions/AWS_Chatbot_SlackChannelConfiguration" }, { - "$ref": "#/definitions/AWS_ApiGateway_Deployment" + "$ref": "#/definitions/AWS_MSK_Configuration" }, { - "$ref": "#/definitions/AWS_WAF_XssMatchSet" + "$ref": "#/definitions/AWS_ServiceCatalog_TagOptionAssociation" }, { - "$ref": "#/definitions/AWS_Chatbot_MicrosoftTeamsChannelConfiguration" + "$ref": "#/definitions/AWS_HealthImaging_Datastore" }, { - "$ref": "#/definitions/AWS_CodeStarConnections_Connection" + "$ref": "#/definitions/AWS_Config_ConformancePack" }, { - "$ref": "#/definitions/AWS_Rekognition_StreamProcessor" + "$ref": "#/definitions/AWS_Evidently_Segment" }, { - "$ref": "#/definitions/AWS_BillingConductor_CustomLineItem" + "$ref": "#/definitions/AWS_PaymentCryptography_Alias" }, { - "$ref": "#/definitions/AWS_RDS_DBSecurityGroupIngress" + "$ref": "#/definitions/AWS_CloudFormation_ModuleVersion" }, { - "$ref": "#/definitions/AWS_GreengrassV2_Deployment" + "$ref": "#/definitions/AWS_IoT_ThingGroup" }, { - "$ref": "#/definitions/AWS_AppFlow_ConnectorProfile" + "$ref": "#/definitions/AWS_ServiceCatalog_AcceptedPortfolioShare" }, { - "$ref": "#/definitions/AWS_Cassandra_Table" + "$ref": "#/definitions/AWS_Personalize_Solution" }, { - "$ref": "#/definitions/AWS_DataBrew_Schedule" + "$ref": "#/definitions/AWS_ApiGateway_DocumentationVersion" }, { - "$ref": "#/definitions/AWS_StepFunctions_StateMachineVersion" + "$ref": "#/definitions/AWS_EC2_VPNGateway" }, { - "$ref": "#/definitions/AWS_BillingConductor_PricingRule" + "$ref": "#/definitions/AWS_Forecast_DatasetGroup" }, { - "$ref": "#/definitions/AWS_EC2_VPCEndpoint" + "$ref": "#/definitions/AWS_LakeFormation_PrincipalPermissions" }, { - "$ref": "#/definitions/AWS_AutoScaling_LaunchConfiguration" + "$ref": "#/definitions/AWS_CertificateManager_Certificate" }, { - "$ref": "#/definitions/AWS_MWAA_Environment" + "$ref": "#/definitions/AWS_WorkSpacesWeb_IdentityProvider" }, { - "$ref": "#/definitions/AWS_CloudWatch_Dashboard" + "$ref": "#/definitions/AWS_WAF_IPSet" }, { - "$ref": "#/definitions/AWS_Evidently_Segment" + "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_ResourceAssociation" }, { - "$ref": "#/definitions/AWS_IoT_SoftwarePackage" + "$ref": "#/definitions/AWS_MediaStore_Container" }, { - "$ref": "#/definitions/AWS_EC2_VPCGatewayAttachment" + "$ref": "#/definitions/AWS_Pinpoint_BaiduChannel" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastGroupSource" + "$ref": "#/definitions/AWS_FMS_Policy" }, { - "$ref": "#/definitions/AWS_S3Outposts_Endpoint" + "$ref": "#/definitions/AWS_Cloud9_EnvironmentEC2" }, { - "$ref": "#/definitions/AWS_AppStream_StackFleetAssociation" + "$ref": "#/definitions/AWS_GameLift_GameServerGroup" }, { - "$ref": "#/definitions/AWS_ServiceDiscovery_PublicDnsNamespace" + "$ref": "#/definitions/AWS_ImageBuilder_ContainerRecipe" }, { - "$ref": "#/definitions/AWS_DocDB_DBClusterParameterGroup" + "$ref": "#/definitions/AWS_Glue_Connection" }, { - "$ref": "#/definitions/AWS_AutoScaling_ScheduledAction" + "$ref": "#/definitions/AWS_Connect_AgentStatus" }, { - "$ref": "#/definitions/AWS_SecretsManager_Secret" + "$ref": "#/definitions/AWS_Lightsail_Certificate" }, { - "$ref": "#/definitions/AWS_EC2_SpotFleet" + "$ref": "#/definitions/AWS_S3Outposts_Bucket" }, { - "$ref": "#/definitions/AWS_ConnectCampaigns_Campaign" + "$ref": "#/definitions/AWS_Events_Endpoint" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_DomainName" + "$ref": "#/definitions/AWS_RedshiftServerless_Workgroup" }, { - "$ref": "#/definitions/AWS_Proton_ServiceTemplate" + "$ref": "#/definitions/AWS_IoTEvents_Input" }, { - "$ref": "#/definitions/AWS_AppStream_ApplicationEntitlementAssociation" + "$ref": "#/definitions/AWS_IoT_Certificate" }, { - "$ref": "#/definitions/AWS_Logs_LogGroup" + "$ref": "#/definitions/AWS_WAFv2_WebACL" }, { - "$ref": "#/definitions/AWS_Proton_EnvironmentTemplate" + "$ref": "#/definitions/AWS_CodePipeline_CustomActionType" }, { - "$ref": "#/definitions/AWS_S3ObjectLambda_AccessPoint" + "$ref": "#/definitions/AWS_QBusiness_Permission" }, { - "$ref": "#/definitions/AWS_DMS_ReplicationConfig" + "$ref": "#/definitions/AWS_KinesisVideo_SignalingChannel" }, { - "$ref": "#/definitions/AWS_IoTFleetWise_Campaign" + "$ref": "#/definitions/Alexa_ASK_Skill" }, { - "$ref": "#/definitions/AWS_SQS_QueueInlinePolicy" + "$ref": "#/definitions/AWS_Invoicing_InvoiceUnit" }, { - "$ref": "#/definitions/AWS_IVS_PlaybackKeyPair" + "$ref": "#/definitions/AWS_EKS_PodIdentityAssociation" }, { - "$ref": "#/definitions/AWS_Comprehend_DocumentClassifier" + "$ref": "#/definitions/AWS_Inspector_ResourceGroup" }, { - "$ref": "#/definitions/AWS_Detective_Graph" + "$ref": "#/definitions/AWS_Greengrass_CoreDefinitionVersion" }, { - "$ref": "#/definitions/AWS_RDS_DBCluster" + "$ref": "#/definitions/AWS_ECS_PrimaryTaskSet" }, { - "$ref": "#/definitions/AWS_RolesAnywhere_CRL" + "$ref": "#/definitions/AWS_AppConfig_Application" }, { - "$ref": "#/definitions/AWS_Athena_NamedQuery" + "$ref": "#/definitions/AWS_HealthLake_FHIRDatastore" }, { - "$ref": "#/definitions/AWS_Config_ConformancePack" + "$ref": "#/definitions/AWS_Cognito_IdentityPoolRoleAttachment" }, { - "$ref": "#/definitions/AWS_CloudWatch_MetricStream" + "$ref": "#/definitions/AWS_RDS_DBClusterParameterGroup" }, { - "$ref": "#/definitions/AWS_SSO_InstanceAccessControlAttributeConfiguration" + "$ref": "#/definitions/AWS_SecurityHub_DelegatedAdmin" }, { - "$ref": "#/definitions/AWS_EC2_NetworkInsightsAccessScopeAnalysis" + "$ref": "#/definitions/AWS_SageMaker_ImageVersion" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_Route" + "$ref": "#/definitions/AWS_WorkSpaces_Workspace" }, { - "$ref": "#/definitions/AWS_IAM_AccessKey" + "$ref": "#/definitions/AWS_ApiGateway_GatewayResponse" }, { - "$ref": "#/definitions/AWS_SageMaker_App" + "$ref": "#/definitions/AWS_Pinpoint_InAppTemplate" }, { - "$ref": "#/definitions/AWS_VpcLattice_ServiceNetwork" + "$ref": "#/definitions/AWS_SageMaker_CodeRepository" }, { - "$ref": "#/definitions/AWS_EC2_VPNConnection" + "$ref": "#/definitions/AWS_DocDB_DBInstance" }, { - "$ref": "#/definitions/AWS_IoT_Certificate" + "$ref": "#/definitions/AWS_Deadline_Queue" }, { - "$ref": "#/definitions/AWS_EC2_SubnetCidrBlock" + "$ref": "#/definitions/AWS_Athena_WorkGroup" }, { - "$ref": "#/definitions/AWS_IoT_ScheduledAudit" + "$ref": "#/definitions/AWS_DataSync_LocationNFS" }, { - "$ref": "#/definitions/AWS_RefactorSpaces_Environment" + "$ref": "#/definitions/AWS_Greengrass_GroupVersion" }, { - "$ref": "#/definitions/AWS_HealthLake_FHIRDatastore" + "$ref": "#/definitions/AWS_ServiceCatalog_PortfolioProductAssociation" }, { - "$ref": "#/definitions/AWS_Glue_Registry" + "$ref": "#/definitions/AWS_RDS_OptionGroup" }, { - "$ref": "#/definitions/AWS_Backup_Framework" + "$ref": "#/definitions/AWS_MediaConnect_FlowEntitlement" }, { - "$ref": "#/definitions/AWS_Events_Connection" + "$ref": "#/definitions/AWS_Glue_Trigger" }, { - "$ref": "#/definitions/AWS_SQS_QueuePolicy" + "$ref": "#/definitions/AWS_Omics_ReferenceStore" }, { - "$ref": "#/definitions/AWS_EC2_TransitGateway" + "$ref": "#/definitions/AWS_Lightsail_Bucket" }, { - "$ref": "#/definitions/AWS_CodeArtifact_Repository" + "$ref": "#/definitions/AWS_DocDB_EventSubscription" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_BrowserSettings" + "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_AttributeGroup" }, { - "$ref": "#/definitions/AWS_Athena_PreparedStatement" + "$ref": "#/definitions/AWS_Greengrass_ConnectorDefinition" }, { - "$ref": "#/definitions/AWS_FMS_NotificationChannel" + "$ref": "#/definitions/AWS_SageMaker_App" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastDomain" + "$ref": "#/definitions/AWS_FraudDetector_EntityType" }, { - "$ref": "#/definitions/AWS_AppStream_User" + "$ref": "#/definitions/AWS_IoTEvents_DetectorModel" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_ServiceActionAssociation" + "$ref": "#/definitions/AWS_IVS_Stage" }, { - "$ref": "#/definitions/AWS_ElasticBeanstalk_ApplicationVersion" + "$ref": "#/definitions/AWS_SES_MailManagerRuleSet" }, { - "$ref": "#/definitions/AWS_BillingConductor_BillingGroup" + "$ref": "#/definitions/AWS_EMR_Cluster" }, { - "$ref": "#/definitions/AWS_SSM_MaintenanceWindowTask" + "$ref": "#/definitions/AWS_ResourceGroups_Group" }, { - "$ref": "#/definitions/AWS_ServiceDiscovery_Service" + "$ref": "#/definitions/AWS_FSx_DataRepositoryAssociation" }, { - "$ref": "#/definitions/AWS_DAX_Cluster" + "$ref": "#/definitions/AWS_EKS_Cluster" }, { - "$ref": "#/definitions/AWS_FraudDetector_Label" + "$ref": "#/definitions/AWS_ECR_RegistryPolicy" }, { - "$ref": "#/definitions/AWS_ResourceGroups_Group" + "$ref": "#/definitions/AWS_Pinpoint_VoiceChannel" }, { - "$ref": "#/definitions/AWS_Route53Profiles_Profile" + "$ref": "#/definitions/AWS_Macie_FindingsFilter" }, { - "$ref": "#/definitions/AWS_Inspector_AssessmentTarget" + "$ref": "#/definitions/AWS_VpcLattice_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_AutoScaling_WarmPool" + "$ref": "#/definitions/AWS_Glue_Classifier" }, { - "$ref": "#/definitions/AWS_IoTSiteWise_AccessPolicy" + "$ref": "#/definitions/AWS_Detective_Graph" }, { - "$ref": "#/definitions/AWS_CloudFormation_ModuleVersion" + "$ref": "#/definitions/AWS_EC2_TrafficMirrorFilterRule" }, { - "$ref": "#/definitions/AWS_Redshift_ClusterSecurityGroup" + "$ref": "#/definitions/AWS_GuardDuty_IPSet" }, { - "$ref": "#/definitions/AWS_Glue_Trigger" + "$ref": "#/definitions/AWS_Batch_JobDefinition" }, { - "$ref": "#/definitions/AWS_IAM_VirtualMFADevice" + "$ref": "#/definitions/AWS_FSx_Snapshot" }, { - "$ref": "#/definitions/AWS_Connect_AgentStatus" + "$ref": "#/definitions/AWS_S3Tables_TableBucketPolicy" }, { - "$ref": "#/definitions/AWS_Connect_SecurityKey" + "$ref": "#/definitions/AWS_CloudFront_OriginAccessControl" }, { - "$ref": "#/definitions/AWS_IoT_PolicyPrincipalAttachment" + "$ref": "#/definitions/AWS_SSMContacts_Contact" }, { - "$ref": "#/definitions/AWS_Timestream_Table" + "$ref": "#/definitions/AWS_AppRunner_Service" }, { - "$ref": "#/definitions/AWS_Inspector_AssessmentTemplate" + "$ref": "#/definitions/AWS_Events_Connection" }, { - "$ref": "#/definitions/AWS_Route53Resolver_ResolverQueryLoggingConfig" + "$ref": "#/definitions/AWS_EC2_NetworkInsightsAnalysis" }, { - "$ref": "#/definitions/AWS_ApiGateway_Model" + "$ref": "#/definitions/AWS_WAF_ByteMatchSet" }, { - "$ref": "#/definitions/AWS_CloudFormation_ModuleDefaultVersion" + "$ref": "#/definitions/AWS_CodeGuruProfiler_ProfilingGroup" }, { - "$ref": "#/definitions/AWS_IoTTwinMaker_Scene" + "$ref": "#/definitions/AWS_CloudTrail_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_SupportApp_AccountAlias" + "$ref": "#/definitions/AWS_Pinpoint_PushTemplate" }, { - "$ref": "#/definitions/AWS_SageMaker_DataQualityJobDefinition" + "$ref": "#/definitions/AWS_EC2_TransitGatewayAttachment" }, { - "$ref": "#/definitions/AWS_VpcLattice_Service" + "$ref": "#/definitions/AWS_AppRunner_VpcIngressConnection" }, { - "$ref": "#/definitions/AWS_AppRunner_Service" + "$ref": "#/definitions/AWS_LaunchWizard_Deployment" }, { - "$ref": "#/definitions/AWS_EC2_NetworkInterface" + "$ref": "#/definitions/AWS_AppFlow_Flow" }, { - "$ref": "#/definitions/AWS_SageMaker_EndpointConfig" + "$ref": "#/definitions/AWS_SSO_Instance" }, { - "$ref": "#/definitions/AWS_Greengrass_LoggerDefinitionVersion" + "$ref": "#/definitions/AWS_CustomerProfiles_ObjectType" }, { - "$ref": "#/definitions/AWS_Route53Resolver_OutpostResolver" + "$ref": "#/definitions/AWS_ManagedBlockchain_Member" }, { - "$ref": "#/definitions/AWS_QuickSight_RefreshSchedule" + "$ref": "#/definitions/AWS_Connect_User" }, { - "$ref": "#/definitions/AWS_MSK_ServerlessCluster" + "$ref": "#/definitions/AWS_DataZone_EnvironmentBlueprintConfiguration" }, { - "$ref": "#/definitions/AWS_FMS_Policy" + "$ref": "#/definitions/AWS_Transfer_User" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_LoadBalancer" + "$ref": "#/definitions/AWS_EFS_AccessPoint" }, { - "$ref": "#/definitions/AWS_CloudFormation_WaitConditionHandle" + "$ref": "#/definitions/AWS_SageMaker_Image" }, { - "$ref": "#/definitions/AWS_Route53RecoveryControl_SafetyRule" + "$ref": "#/definitions/AWS_DataZone_UserProfile" }, { - "$ref": "#/definitions/AWS_MediaPackageV2_OriginEndpoint" + "$ref": "#/definitions/AWS_Cognito_IdentityPoolPrincipalTag" }, { - "$ref": "#/definitions/AWS_SageMaker_InferenceExperiment" + "$ref": "#/definitions/AWS_AppStream_AppBlock" }, { - "$ref": "#/definitions/AWS_MediaPackage_Asset" + "$ref": "#/definitions/AWS_MediaLive_CloudWatchAlarmTemplateGroup" }, { - "$ref": "#/definitions/AWS_Connect_ContactFlowModule" + "$ref": "#/definitions/AWS_IoTWireless_FuotaTask" }, { - "$ref": "#/definitions/AWS_FSx_DataRepositoryAssociation" + "$ref": "#/definitions/AWS_QBusiness_Retriever" }, { - "$ref": "#/definitions/AWS_EC2_SubnetRouteTableAssociation" + "$ref": "#/definitions/AWS_DataBrew_Dataset" }, { - "$ref": "#/definitions/AWS_MediaPackageV2_ChannelPolicy" + "$ref": "#/definitions/AWS_GameLift_Alias" }, { - "$ref": "#/definitions/AWS_NetworkManager_ConnectPeer" + "$ref": "#/definitions/AWS_Redshift_ClusterSubnetGroup" }, { - "$ref": "#/definitions/AWS_IoT_DomainConfiguration" + "$ref": "#/definitions/AWS_Cognito_UserPoolClient" }, { - "$ref": "#/definitions/AWS_ServiceDiscovery_PrivateDnsNamespace" + "$ref": "#/definitions/AWS_MediaConnect_Gateway" }, { - "$ref": "#/definitions/AWS_NetworkFirewall_FirewallPolicy" + "$ref": "#/definitions/AWS_ApiGateway_DomainName" }, { - "$ref": "#/definitions/AWS_Amplify_App" + "$ref": "#/definitions/AWS_ApiGateway_RestApi" }, { - "$ref": "#/definitions/AWS_ECS_TaskDefinition" + "$ref": "#/definitions/AWS_S3Outposts_BucketPolicy" }, { - "$ref": "#/definitions/AWS_VpcLattice_Listener" + "$ref": "#/definitions/AWS_IoTAnalytics_Channel" }, { - "$ref": "#/definitions/AWS_DMS_ReplicationInstance" + "$ref": "#/definitions/AWS_Timestream_ScheduledQuery" }, { - "$ref": "#/definitions/AWS_SageMaker_Endpoint" + "$ref": "#/definitions/AWS_DataSync_Agent" }, { - "$ref": "#/definitions/AWS_SageMaker_ModelQualityJobDefinition" + "$ref": "#/definitions/AWS_ApiGatewayV2_ApiMapping" }, { - "$ref": "#/definitions/AWS_EntityResolution_IdNamespace" + "$ref": "#/definitions/AWS_CloudFront_CloudFrontOriginAccessIdentity" }, { - "$ref": "#/definitions/AWS_Backup_ReportPlan" + "$ref": "#/definitions/AWS_DMS_ReplicationInstance" }, { - "$ref": "#/definitions/AWS_CertificateManager_Account" + "$ref": "#/definitions/AWS_IoT_Logging" }, { - "$ref": "#/definitions/AWS_SecurityHub_Insight" + "$ref": "#/definitions/AWS_DMS_InstanceProfile" }, { - "$ref": "#/definitions/AWS_FraudDetector_EntityType" + "$ref": "#/definitions/AWS_MediaPackageV2_OriginEndpointPolicy" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_Listener" + "$ref": "#/definitions/AWS_SES_MailManagerRelay" }, { - "$ref": "#/definitions/AWS_EC2_IPAM" + "$ref": "#/definitions/AWS_QBusiness_Application" }, { - "$ref": "#/definitions/AWS_Connect_EvaluationForm" + "$ref": "#/definitions/AWS_LakeFormation_Resource" }, { - "$ref": "#/definitions/AWS_IoT_CustomMetric" + "$ref": "#/definitions/AWS_SSO_Assignment" }, { - "$ref": "#/definitions/AWS_EMR_InstanceFleetConfig" + "$ref": "#/definitions/AWS_Logs_LogStream" }, { - "$ref": "#/definitions/AWS_PCAConnectorAD_ServicePrincipalName" + "$ref": "#/definitions/AWS_Glue_Workflow" }, { - "$ref": "#/definitions/AWS_MediaTailor_LiveSource" + "$ref": "#/definitions/AWS_WorkSpacesWeb_TrustStore" }, { - "$ref": "#/definitions/AWS_IoTAnalytics_Datastore" + "$ref": "#/definitions/AWS_NetworkFirewall_TLSInspectionConfiguration" }, { - "$ref": "#/definitions/AWS_EC2_LocalGatewayRouteTableVirtualInterfaceGroupAssociation" + "$ref": "#/definitions/AWS_RDS_EventSubscription" }, { - "$ref": "#/definitions/AWS_S3Express_DirectoryBucket" + "$ref": "#/definitions/AWS_EC2_NetworkInterfacePermission" }, { - "$ref": "#/definitions/AWS_Lex_BotAlias" + "$ref": "#/definitions/AWS_Lex_BotVersion" }, { - "$ref": "#/definitions/AWS_IoT_Authorizer" + "$ref": "#/definitions/AWS_Transfer_Workflow" }, { - "$ref": "#/definitions/AWS_Neptune_DBCluster" + "$ref": "#/definitions/AWS_EC2_SnapshotBlockPublicAccess" }, { - "$ref": "#/definitions/AWS_MediaPackage_PackagingGroup" + "$ref": "#/definitions/AWS_SageMaker_ModelExplainabilityJobDefinition" }, { - "$ref": "#/definitions/AWS_CloudFormation_ResourceVersion" + "$ref": "#/definitions/AWS_MSK_Replicator" }, { - "$ref": "#/definitions/AWS_Transfer_Certificate" + "$ref": "#/definitions/AWS_M2_Application" }, { - "$ref": "#/definitions/AWS_Events_Rule" + "$ref": "#/definitions/AWS_Pipes_Pipe" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_PortfolioShare" + "$ref": "#/definitions/AWS_GroundStation_Config" }, { - "$ref": "#/definitions/AWS_AutoScalingPlans_ScalingPlan" + "$ref": "#/definitions/AWS_Backup_RestoreTestingPlan" }, { - "$ref": "#/definitions/AWS_NetworkManager_CustomerGatewayAssociation" + "$ref": "#/definitions/AWS_ServiceCatalog_ServiceAction" }, { - "$ref": "#/definitions/AWS_FraudDetector_Detector" + "$ref": "#/definitions/AWS_AmazonMQ_Broker" }, { - "$ref": "#/definitions/AWS_SecurityLake_AwsLogSource" + "$ref": "#/definitions/AWS_GuardDuty_Member" }, { - "$ref": "#/definitions/AWS_AppSync_ApiKey" + "$ref": "#/definitions/AWS_ServiceCatalog_CloudFormationProvisionedProduct" }, { - "$ref": "#/definitions/AWS_RoboMaker_RobotApplication" + "$ref": "#/definitions/AWS_Batch_JobQueue" }, { - "$ref": "#/definitions/AWS_Transfer_Server" + "$ref": "#/definitions/AWS_LakeFormation_DataLakeSettings" }, { - "$ref": "#/definitions/AWS_Connect_Rule" + "$ref": "#/definitions/AWS_Greengrass_ResourceDefinition" }, { - "$ref": "#/definitions/AWS_Route53Profiles_ProfileResourceAssociation" + "$ref": "#/definitions/AWS_KinesisAnalytics_Application" }, { - "$ref": "#/definitions/AWS_AppSync_FunctionConfiguration" + "$ref": "#/definitions/AWS_Logs_SubscriptionFilter" }, { - "$ref": "#/definitions/AWS_SSO_ApplicationAssignment" + "$ref": "#/definitions/AWS_EC2_EIPAssociation" }, { - "$ref": "#/definitions/AWS_EC2_LocalGatewayRoute" + "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_AttributeGroupAssociation" }, { - "$ref": "#/definitions/AWS_LakeFormation_PrincipalPermissions" + "$ref": "#/definitions/AWS_QBusiness_DataSource" }, { - "$ref": "#/definitions/AWS_FSx_Snapshot" + "$ref": "#/definitions/AWS_MWAA_Environment" }, { - "$ref": "#/definitions/AWS_EC2_EIPAssociation" + "$ref": "#/definitions/AWS_MediaConnect_BridgeOutput" }, { - "$ref": "#/definitions/AWS_EC2_IPAMResourceDiscoveryAssociation" + "$ref": "#/definitions/AWS_Organizations_OrganizationalUnit" }, { - "$ref": "#/definitions/AWS_MSK_VpcConnection" + "$ref": "#/definitions/AWS_OpenSearchServerless_SecurityConfig" }, { - "$ref": "#/definitions/AWS_LookoutMetrics_Alert" + "$ref": "#/definitions/AWS_MediaConnect_FlowSource" }, { - "$ref": "#/definitions/AWS_CloudFormation_PublicTypeVersion" + "$ref": "#/definitions/AWS_Connect_TrafficDistributionGroup" }, { - "$ref": "#/definitions/AWS_DataSync_LocationSMB" + "$ref": "#/definitions/AWS_EC2_EgressOnlyInternetGateway" }, { - "$ref": "#/definitions/AWS_DataZone_GroupProfile" + "$ref": "#/definitions/AWS_MediaConvert_JobTemplate" }, { - "$ref": "#/definitions/AWS_ECR_Repository" + "$ref": "#/definitions/AWS_DataZone_EnvironmentActions" }, { - "$ref": "#/definitions/AWS_Shield_ProtectionGroup" + "$ref": "#/definitions/AWS_ServiceCatalog_LaunchRoleConstraint" }, { - "$ref": "#/definitions/AWS_DevOpsGuru_LogAnomalyDetectionIntegration" + "$ref": "#/definitions/AWS_Lightsail_Distribution" }, { - "$ref": "#/definitions/AWS_IoTWireless_WirelessDevice" + "$ref": "#/definitions/AWS_Lightsail_LoadBalancer" }, { - "$ref": "#/definitions/AWS_EFS_MountTarget" + "$ref": "#/definitions/AWS_CloudFront_RealtimeLogConfig" }, { - "$ref": "#/definitions/AWS_Logs_Delivery" + "$ref": "#/definitions/AWS_EC2_NetworkPerformanceMetricSubscription" }, { - "$ref": "#/definitions/AWS_HealthImaging_Datastore" + "$ref": "#/definitions/AWS_SES_VdmAttributes" }, { - "$ref": "#/definitions/AWS_Kinesis_Stream" + "$ref": "#/definitions/AWS_AppSync_DataSource" }, { - "$ref": "#/definitions/AWS_AppStream_ApplicationFleetAssociation" + "$ref": "#/definitions/AWS_EC2_VPC" }, { - "$ref": "#/definitions/AWS_EFS_FileSystem" + "$ref": "#/definitions/AWS_OpsWorks_ElasticLoadBalancerAttachment" }, { - "$ref": "#/definitions/AWS_Pinpoint_APNSSandboxChannel" + "$ref": "#/definitions/AWS_ElasticLoadBalancing_LoadBalancer" }, { - "$ref": "#/definitions/AWS_Deadline_MeteredProduct" + "$ref": "#/definitions/AWS_MSK_BatchScramSecret" }, { - "$ref": "#/definitions/AWS_LakeFormation_DataLakeSettings" + "$ref": "#/definitions/AWS_IoTTwinMaker_ComponentType" }, { - "$ref": "#/definitions/AWS_Glue_SchemaVersion" + "$ref": "#/definitions/AWS_EMR_StudioSessionMapping" }, { - "$ref": "#/definitions/AWS_EC2_VPCPeeringConnection" + "$ref": "#/definitions/AWS_KafkaConnect_Connector" }, { - "$ref": "#/definitions/AWS_Pinpoint_ADMChannel" + "$ref": "#/definitions/AWS_SSM_ResourceDataSync" }, { - "$ref": "#/definitions/AWS_Neptune_EventSubscription" + "$ref": "#/definitions/AWS_CloudFormation_HookVersion" }, { - "$ref": "#/definitions/AWS_SSMContacts_Plan" + "$ref": "#/definitions/AWS_S3_BucketPolicy" }, { - "$ref": "#/definitions/AWS_Backup_BackupSelection" + "$ref": "#/definitions/AWS_SageMaker_MonitoringSchedule" }, { - "$ref": "#/definitions/AWS_RAM_ResourceShare" + "$ref": "#/definitions/AWS_DataZone_ProjectMembership" }, { - "$ref": "#/definitions/AWS_EC2_ClientVpnTargetNetworkAssociation" + "$ref": "#/definitions/AWS_EC2_CarrierGateway" }, { - "$ref": "#/definitions/AWS_Neptune_DBClusterParameterGroup" + "$ref": "#/definitions/AWS_Cognito_ManagedLoginBranding" }, { - "$ref": "#/definitions/AWS_Pinpoint_Segment" + "$ref": "#/definitions/AWS_Glue_SchemaVersionMetadata" }, { - "$ref": "#/definitions/AWS_Connect_Queue" + "$ref": "#/definitions/AWS_XRay_SamplingRule" }, { - "$ref": "#/definitions/AWS_WAFRegional_Rule" + "$ref": "#/definitions/AWS_Omics_VariantStore" }, { - "$ref": "#/definitions/AWS_Logs_Destination" + "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_ListenerRule" }, { - "$ref": "#/definitions/AWS_LakeFormation_Resource" + "$ref": "#/definitions/AWS_InspectorV2_Filter" }, { - "$ref": "#/definitions/AWS_Route53_DNSSEC" + "$ref": "#/definitions/AWS_WorkSpacesWeb_NetworkSettings" }, { - "$ref": "#/definitions/AWS_FIS_ExperimentTemplate" + "$ref": "#/definitions/AWS_RefactorSpaces_Service" }, { - "$ref": "#/definitions/AWS_SageMaker_ModelCard" + "$ref": "#/definitions/AWS_CodeStarConnections_RepositoryLink" }, { - "$ref": "#/definitions/AWS_Glue_Job" + "$ref": "#/definitions/AWS_Forecast_Dataset" }, { - "$ref": "#/definitions/AWS_SSO_Instance" + "$ref": "#/definitions/AWS_AutoScaling_ScheduledAction" }, { - "$ref": "#/definitions/AWS_WAF_SqlInjectionMatchSet" + "$ref": "#/definitions/AWS_CleanRooms_ConfiguredTableAssociation" }, { - "$ref": "#/definitions/AWS_DevOpsGuru_NotificationChannel" + "$ref": "#/definitions/AWS_OpenSearchServerless_VpcEndpoint" }, { - "$ref": "#/definitions/AWS_MediaLive_EventBridgeRuleTemplate" + "$ref": "#/definitions/AWS_EC2_VPCPeeringConnection" }, { - "$ref": "#/definitions/AWS_EC2_PlacementGroup" + "$ref": "#/definitions/AWS_FraudDetector_Detector" }, { - "$ref": "#/definitions/AWS_Route53RecoveryControl_RoutingControl" + "$ref": "#/definitions/AWS_Route53Resolver_ResolverConfig" }, { - "$ref": "#/definitions/AWS_StepFunctions_Activity" + "$ref": "#/definitions/AWS_Lex_BotAlias" }, { - "$ref": "#/definitions/AWS_CloudFront_PublicKey" + "$ref": "#/definitions/AWS_Wisdom_AIPrompt" }, { - "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_AttributeGroup" + "$ref": "#/definitions/AWS_QuickSight_Dashboard" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_ApiMapping" + "$ref": "#/definitions/AWS_EMRContainers_VirtualCluster" }, { - "$ref": "#/definitions/AWS_RDS_DBSubnetGroup" + "$ref": "#/definitions/AWS_EC2_InternetGateway" }, { - "$ref": "#/definitions/AWS_S3_AccessGrant" + "$ref": "#/definitions/AWS_IVSChat_LoggingConfiguration" }, { - "$ref": "#/definitions/AWS_SES_MailManagerRuleSet" + "$ref": "#/definitions/AWS_ElastiCache_SecurityGroup" }, { - "$ref": "#/definitions/AWS_GuardDuty_IPSet" + "$ref": "#/definitions/AWS_ApiGateway_Resource" }, { - "$ref": "#/definitions/AWS_AppSync_SourceApiAssociation" + "$ref": "#/definitions/AWS_ImageBuilder_InfrastructureConfiguration" }, { - "$ref": "#/definitions/AWS_Shield_ProactiveEngagement" + "$ref": "#/definitions/AWS_CodeArtifact_PackageGroup" }, { - "$ref": "#/definitions/AWS_ApiGateway_Authorizer" + "$ref": "#/definitions/AWS_Personalize_Schema" }, { - "$ref": "#/definitions/AWS_IVS_PlaybackRestrictionPolicy" + "$ref": "#/definitions/AWS_Route53Resolver_ResolverQueryLoggingConfigAssociation" }, { - "$ref": "#/definitions/AWS_GroundStation_DataflowEndpointGroup" + "$ref": "#/definitions/AWS_ApiGateway_BasePathMapping" }, { - "$ref": "#/definitions/AWS_IAM_Group" + "$ref": "#/definitions/AWS_ApiGatewayV2_RouteResponse" }, { - "$ref": "#/definitions/AWS_EC2_DHCPOptions" + "$ref": "#/definitions/AWS_Glue_Schema" }, { - "$ref": "#/definitions/AWS_ApiGateway_UsagePlanKey" + "$ref": "#/definitions/AWS_NetworkFirewall_RuleGroup" }, { - "$ref": "#/definitions/AWS_Glue_Classifier" + "$ref": "#/definitions/AWS_DataZone_Environment" }, { - "$ref": "#/definitions/AWS_ResilienceHub_App" + "$ref": "#/definitions/AWS_WorkSpacesWeb_UserAccessLoggingSettings" }, { - "$ref": "#/definitions/AWS_ApplicationSignals_ServiceLevelObjective" + "$ref": "#/definitions/AWS_ApiGateway_VpcLink" }, { - "$ref": "#/definitions/AWS_Scheduler_ScheduleGroup" + "$ref": "#/definitions/AWS_Route53RecoveryReadiness_RecoveryGroup" }, { - "$ref": "#/definitions/AWS_CloudFront_KeyValueStore" + "$ref": "#/definitions/AWS_Connect_ContactFlow" }, { - "$ref": "#/definitions/AWS_EC2_NetworkInsightsAnalysis" + "$ref": "#/definitions/AWS_Shield_ProactiveEngagement" }, { - "$ref": "#/definitions/AWS_Redshift_ScheduledAction" + "$ref": "#/definitions/AWS_Route53Profiles_ProfileResourceAssociation" }, { - "$ref": "#/definitions/AWS_S3_StorageLens" + "$ref": "#/definitions/AWS_ServiceCatalog_CloudFormationProduct" }, { - "$ref": "#/definitions/AWS_Config_OrganizationConformancePack" + "$ref": "#/definitions/AWS_MediaLive_Network" }, { - "$ref": "#/definitions/AWS_ImageBuilder_ContainerRecipe" + "$ref": "#/definitions/AWS_RDS_DBSecurityGroup" }, { - "$ref": "#/definitions/AWS_SecurityHub_Standard" + "$ref": "#/definitions/AWS_IoT_SecurityProfile" }, { - "$ref": "#/definitions/AWS_ElastiCache_CacheCluster" + "$ref": "#/definitions/AWS_Connect_View" }, { - "$ref": "#/definitions/AWS_SecurityHub_SecurityControl" + "$ref": "#/definitions/AWS_Redshift_EndpointAccess" }, { - "$ref": "#/definitions/AWS_SageMaker_ModelPackageGroup" + "$ref": "#/definitions/AWS_AppSync_DomainName" }, { - "$ref": "#/definitions/AWS_SecurityHub_PolicyAssociation" + "$ref": "#/definitions/AWS_StepFunctions_StateMachineAlias" }, { - "$ref": "#/definitions/AWS_SES_Template" + "$ref": "#/definitions/AWS_CloudFormation_HookTypeConfig" }, { - "$ref": "#/definitions/AWS_IoTWireless_Destination" + "$ref": "#/definitions/AWS_AppSync_FunctionConfiguration" }, { - "$ref": "#/definitions/AWS_Macie_CustomDataIdentifier" + "$ref": "#/definitions/AWS_AppMesh_VirtualGateway" }, { - "$ref": "#/definitions/AWS_EC2_TrafficMirrorSession" + "$ref": "#/definitions/AWS_AppMesh_Route" }, { - "$ref": "#/definitions/AWS_ImageBuilder_LifecyclePolicy" + "$ref": "#/definitions/AWS_DataSync_LocationS3" }, { - "$ref": "#/definitions/AWS_Deadline_Fleet" + "$ref": "#/definitions/AWS_NetworkManager_CoreNetwork" }, { - "$ref": "#/definitions/AWS_ACMPCA_CertificateAuthorityActivation" + "$ref": "#/definitions/AWS_SageMaker_ModelBiasJobDefinition" }, { - "$ref": "#/definitions/AWS_AppSync_DomainNameApiAssociation" + "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastGroupSource" }, { - "$ref": "#/definitions/AWS_ECS_ClusterCapacityProviderAssociations" + "$ref": "#/definitions/AWS_ServiceCatalog_LaunchTemplateConstraint" }, { - "$ref": "#/definitions/AWS_InspectorV2_Filter" + "$ref": "#/definitions/AWS_SageMaker_EndpointConfig" }, { - "$ref": "#/definitions/AWS_IoTSiteWise_Asset" + "$ref": "#/definitions/AWS_Glue_Database" }, { - "$ref": "#/definitions/AWS_SupportApp_SlackChannelConfiguration" + "$ref": "#/definitions/AWS_Route53Resolver_ResolverEndpoint" }, { - "$ref": "#/definitions/AWS_Glue_CustomEntityType" + "$ref": "#/definitions/AWS_WAFRegional_IPSet" }, { - "$ref": "#/definitions/AWS_IVS_Channel" + "$ref": "#/definitions/AWS_AppMesh_VirtualService" }, { - "$ref": "#/definitions/AWS_IoT_TopicRuleDestination" + "$ref": "#/definitions/AWS_GameLift_MatchmakingConfiguration" }, { - "$ref": "#/definitions/AWS_Route53Resolver_ResolverRule" + "$ref": "#/definitions/AWS_SSMContacts_ContactChannel" }, { - "$ref": "#/definitions/AWS_Organizations_Policy" + "$ref": "#/definitions/AWS_MediaPackage_Channel" }, { - "$ref": "#/definitions/AWS_Panorama_ApplicationInstance" + "$ref": "#/definitions/AWS_SES_MailManagerAddonSubscription" }, { - "$ref": "#/definitions/AWS_LookoutVision_Project" + "$ref": "#/definitions/AWS_IoT_AccountAuditConfiguration" }, { - "$ref": "#/definitions/AWS_MediaLive_Multiplex" + "$ref": "#/definitions/AWS_CodeDeploy_Application" }, { - "$ref": "#/definitions/AWS_Batch_SchedulingPolicy" + "$ref": "#/definitions/AWS_Panorama_ApplicationInstance" }, { - "$ref": "#/definitions/AWS_IoTWireless_NetworkAnalyzerConfiguration" + "$ref": "#/definitions/AWS_AmplifyUIBuilder_Component" }, { - "$ref": "#/definitions/AWS_EKS_PodIdentityAssociation" + "$ref": "#/definitions/AWS_DMS_DataMigration" }, { - "$ref": "#/definitions/AWS_RDS_DBSecurityGroup" + "$ref": "#/definitions/AWS_IAM_ServerCertificate" }, { - "$ref": "#/definitions/AWS_S3_BucketPolicy" + "$ref": "#/definitions/AWS_Location_PlaceIndex" }, { - "$ref": "#/definitions/AWS_Forecast_DatasetGroup" + "$ref": "#/definitions/AWS_AppConfig_HostedConfigurationVersion" }, { - "$ref": "#/definitions/AWS_Synthetics_Canary" + "$ref": "#/definitions/AWS_AppIntegrations_DataIntegration" }, { - "$ref": "#/definitions/AWS_EC2_CarrierGateway" + "$ref": "#/definitions/AWS_QuickSight_Folder" }, { - "$ref": "#/definitions/AWS_Lightsail_Instance" + "$ref": "#/definitions/AWS_GameLift_MatchmakingRuleSet" }, { - "$ref": "#/definitions/AWS_EMRContainers_VirtualCluster" + "$ref": "#/definitions/AWS_KinesisAnalytics_ApplicationReferenceDataSource" }, { - "$ref": "#/definitions/AWS_S3ObjectLambda_AccessPointPolicy" + "$ref": "#/definitions/AWS_AppStream_StackUserAssociation" }, { - "$ref": "#/definitions/AWS_Route53_KeySigningKey" + "$ref": "#/definitions/AWS_IoTFleetWise_SignalCatalog" }, { - "$ref": "#/definitions/AWS_Glue_Database" + "$ref": "#/definitions/AWS_RDS_DBProxy" }, { - "$ref": "#/definitions/AWS_Timestream_InfluxDBInstance" + "$ref": "#/definitions/AWS_WorkSpaces_ConnectionAlias" }, { - "$ref": "#/definitions/AWS_Bedrock_KnowledgeBase" + "$ref": "#/definitions/AWS_Redshift_EventSubscription" }, { - "$ref": "#/definitions/AWS_EKS_IdentityProviderConfig" + "$ref": "#/definitions/AWS_IVSChat_Room" }, { - "$ref": "#/definitions/AWS_Athena_DataCatalog" + "$ref": "#/definitions/AWS_ElastiCache_UserGroup" }, { - "$ref": "#/definitions/AWS_SageMaker_MonitoringSchedule" + "$ref": "#/definitions/AWS_CloudFront_KeyGroup" }, { - "$ref": "#/definitions/AWS_CloudFormation_HookVersion" + "$ref": "#/definitions/AWS_CloudFormation_WaitCondition" }, { - "$ref": "#/definitions/AWS_AutoScaling_AutoScalingGroup" + "$ref": "#/definitions/AWS_MSK_VpcConnection" }, { - "$ref": "#/definitions/AWS_GuardDuty_Filter" + "$ref": "#/definitions/AWS_QuickSight_RefreshSchedule" }, { - "$ref": "#/definitions/AWS_AmplifyUIBuilder_Theme" + "$ref": "#/definitions/AWS_NetworkManager_GlobalNetwork" }, { - "$ref": "#/definitions/AWS_ImageBuilder_InfrastructureConfiguration" + "$ref": "#/definitions/AWS_Wisdom_AIAgentVersion" }, { - "$ref": "#/definitions/AWS_NimbleStudio_StudioComponent" + "$ref": "#/definitions/AWS_OpsWorks_App" }, { - "$ref": "#/definitions/AWS_S3_AccessPoint" + "$ref": "#/definitions/AWS_DMS_EventSubscription" }, { - "$ref": "#/definitions/AWS_IoTWireless_PartnerAccount" + "$ref": "#/definitions/AWS_MediaConvert_Preset" }, { - "$ref": "#/definitions/AWS_AppRunner_VpcConnector" + "$ref": "#/definitions/AWS_EC2_VerifiedAccessEndpoint" }, { - "$ref": "#/definitions/AWS_FraudDetector_List" + "$ref": "#/definitions/AWS_SageMaker_StudioLifecycleConfig" }, { - "$ref": "#/definitions/AWS_DataZone_DataSource" + "$ref": "#/definitions/AWS_IoTWireless_WirelessDeviceImportTask" }, { - "$ref": "#/definitions/AWS_Evidently_Project" + "$ref": "#/definitions/AWS_M2_Environment" }, { - "$ref": "#/definitions/AWS_GreengrassV2_ComponentVersion" + "$ref": "#/definitions/AWS_Pinpoint_SMSChannel" }, { - "$ref": "#/definitions/AWS_ACMPCA_CertificateAuthority" + "$ref": "#/definitions/AWS_CustomerProfiles_Integration" }, { - "$ref": "#/definitions/AWS_Events_EventBusPolicy" + "$ref": "#/definitions/AWS_Bedrock_DataSource" }, { - "$ref": "#/definitions/AWS_MediaConnect_Gateway" + "$ref": "#/definitions/AWS_MemoryDB_User" }, { - "$ref": "#/definitions/AWS_Connect_QuickConnect" + "$ref": "#/definitions/AWS_DocDBElastic_Cluster" }, { - "$ref": "#/definitions/AWS_OpsWorksCM_Server" + "$ref": "#/definitions/AWS_Connect_ApprovedOrigin" }, { - "$ref": "#/definitions/AWS_EC2_VPNGatewayRoutePropagation" + "$ref": "#/definitions/AWS_EntityResolution_IdMappingWorkflow" }, { - "$ref": "#/definitions/AWS_GameLift_GameSessionQueue" + "$ref": "#/definitions/AWS_CloudTrail_Dashboard" }, { - "$ref": "#/definitions/AWS_Lightsail_LoadBalancerTlsCertificate" + "$ref": "#/definitions/AWS_IoT_CustomMetric" }, { - "$ref": "#/definitions/AWS_Lambda_Alias" + "$ref": "#/definitions/AWS_XRay_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_CodeDeploy_Application" + "$ref": "#/definitions/AWS_Events_Archive" }, { - "$ref": "#/definitions/AWS_MediaLive_Input" + "$ref": "#/definitions/AWS_ApiGateway_Account" }, { - "$ref": "#/definitions/AWS_Greengrass_LoggerDefinition" + "$ref": "#/definitions/AWS_Backup_BackupSelection" }, { "$ref": "#/definitions/AWS_DataBrew_Project" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_IpAccessSettings" + "$ref": "#/definitions/AWS_CloudFront_CachePolicy" }, { - "$ref": "#/definitions/AWS_MemoryDB_User" + "$ref": "#/definitions/AWS_CustomerProfiles_CalculatedAttributeDefinition" }, { - "$ref": "#/definitions/AWS_EventSchemas_Registry" + "$ref": "#/definitions/AWS_Connect_Prompt" }, { - "$ref": "#/definitions/AWS_MediaConnect_Flow" + "$ref": "#/definitions/AWS_Logs_DeliveryDestination" }, { - "$ref": "#/definitions/AWS_GameLift_Location" + "$ref": "#/definitions/AWS_DataPipeline_Pipeline" }, { - "$ref": "#/definitions/AWS_AppRunner_VpcIngressConnection" + "$ref": "#/definitions/AWS_EC2_TransitGatewayPeeringAttachment" }, { - "$ref": "#/definitions/AWS_StepFunctions_StateMachineAlias" + "$ref": "#/definitions/AWS_CE_CostCategory" }, { - "$ref": "#/definitions/AWS_ApiGateway_ClientCertificate" + "$ref": "#/definitions/AWS_Timestream_Table" }, { - "$ref": "#/definitions/AWS_AppStream_Application" + "$ref": "#/definitions/AWS_AppSync_SourceApiAssociation" }, { - "$ref": "#/definitions/AWS_RAM_Permission" + "$ref": "#/definitions/AWS_LookoutMetrics_Alert" }, { - "$ref": "#/definitions/AWS_DataSync_Agent" + "$ref": "#/definitions/AWS_WAF_Rule" }, { - "$ref": "#/definitions/AWS_MSK_Configuration" + "$ref": "#/definitions/AWS_PCAConnectorAD_TemplateGroupAccessControlEntry" }, { - "$ref": "#/definitions/AWS_ImageBuilder_ImageRecipe" + "$ref": "#/definitions/AWS_Config_AggregationAuthorization" }, { - "$ref": "#/definitions/AWS_AppStream_Stack" + "$ref": "#/definitions/AWS_Connect_EvaluationForm" }, { - "$ref": "#/definitions/AWS_Lex_Bot" + "$ref": "#/definitions/AWS_WAFRegional_WebACLAssociation" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_AcceptedPortfolioShare" + "$ref": "#/definitions/AWS_IoTWireless_PartnerAccount" }, { - "$ref": "#/definitions/AWS_CustomerProfiles_CalculatedAttributeDefinition" + "$ref": "#/definitions/AWS_SES_Template" }, { - "$ref": "#/definitions/AWS_MediaLive_CloudWatchAlarmTemplateGroup" + "$ref": "#/definitions/AWS_Transfer_Agreement" }, { - "$ref": "#/definitions/AWS_S3_Bucket" + "$ref": "#/definitions/AWS_DataSync_LocationFSxWindows" }, { - "$ref": "#/definitions/AWS_SageMaker_NotebookInstanceLifecycleConfig" + "$ref": "#/definitions/AWS_Route53Resolver_OutpostResolver" }, { - "$ref": "#/definitions/AWS_Backup_BackupPlan" + "$ref": "#/definitions/AWS_IoTSiteWise_Dashboard" }, { - "$ref": "#/definitions/AWS_Deadline_LicenseEndpoint" + "$ref": "#/definitions/AWS_Bedrock_Flow" }, { - "$ref": "#/definitions/AWS_NetworkManager_TransitGatewayRegistration" + "$ref": "#/definitions/AWS_DMS_MigrationProject" }, { - "$ref": "#/definitions/AWS_CloudFront_CloudFrontOriginAccessIdentity" + "$ref": "#/definitions/AWS_SES_ConfigurationSetEventDestination" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_UserAccessLoggingSettings" + "$ref": "#/definitions/AWS_Lambda_EventSourceMapping" }, { - "$ref": "#/definitions/AWS_Forecast_Dataset" + "$ref": "#/definitions/AWS_QuickSight_CustomPermissions" }, { - "$ref": "#/definitions/AWS_Connect_PhoneNumber" + "$ref": "#/definitions/AWS_EC2_SecurityGroupEgress" }, { - "$ref": "#/definitions/AWS_IoTFleetWise_Fleet" + "$ref": "#/definitions/AWS_SES_DedicatedIpPool" }, { - "$ref": "#/definitions/AWS_MediaTailor_VodSource" + "$ref": "#/definitions/AWS_NetworkFirewall_Firewall" }, { - "$ref": "#/definitions/AWS_DataSync_LocationNFS" + "$ref": "#/definitions/AWS_Organizations_Policy" }, { - "$ref": "#/definitions/AWS_NetworkFirewall_TLSInspectionConfiguration" + "$ref": "#/definitions/AWS_DMS_Endpoint" }, { - "$ref": "#/definitions/AWS_Budgets_Budget" + "$ref": "#/definitions/AWS_S3_AccessPoint" }, { - "$ref": "#/definitions/AWS_CleanRooms_Collaboration" + "$ref": "#/definitions/AWS_EC2_ClientVpnEndpoint" }, { - "$ref": "#/definitions/AWS_SES_ContactList" + "$ref": "#/definitions/AWS_AppSync_ApiKey" }, { - "$ref": "#/definitions/AWS_MediaLive_ChannelPlacementGroup" + "$ref": "#/definitions/AWS_MediaConnect_Flow" }, { - "$ref": "#/definitions/AWS_Config_RemediationConfiguration" + "$ref": "#/definitions/AWS_ElastiCache_SecurityGroupIngress" }, { - "$ref": "#/definitions/AWS_GameLift_Script" + "$ref": "#/definitions/AWS_IoTFleetWise_DecoderManifest" }, { - "$ref": "#/definitions/AWS_RDS_DBClusterParameterGroup" + "$ref": "#/definitions/AWS_EventSchemas_Discoverer" }, { - "$ref": "#/definitions/AWS_GuardDuty_MalwareProtectionPlan" + "$ref": "#/definitions/AWS_PCS_ComputeNodeGroup" }, { - "$ref": "#/definitions/AWS_Transfer_Profile" + "$ref": "#/definitions/AWS_AppStream_DirectoryConfig" }, { - "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_ResourceAssociation" + "$ref": "#/definitions/AWS_NetworkManager_DirectConnectGatewayAttachment" }, { - "$ref": "#/definitions/AWS_CodeStarConnections_RepositoryLink" + "$ref": "#/definitions/AWS_GameLift_Build" }, { - "$ref": "#/definitions/AWS_IoTSiteWise_AssetModel" + "$ref": "#/definitions/AWS_AuditManager_Assessment" }, { - "$ref": "#/definitions/AWS_QBusiness_Index" + "$ref": "#/definitions/AWS_GroundStation_MissionProfile" }, { - "$ref": "#/definitions/AWS_PCAConnectorSCEP_Challenge" + "$ref": "#/definitions/AWS_IoTWireless_WirelessGateway" }, { - "$ref": "#/definitions/AWS_DataZone_Domain" + "$ref": "#/definitions/AWS_FMS_NotificationChannel" }, { - "$ref": "#/definitions/AWS_MediaTailor_SourceLocation" + "$ref": "#/definitions/AWS_Synthetics_Canary" }, { - "$ref": "#/definitions/AWS_EMR_Cluster" + "$ref": "#/definitions/AWS_RoboMaker_Robot" }, { - "$ref": "#/definitions/AWS_Kendra_DataSource" + "$ref": "#/definitions/AWS_OpsWorks_Stack" }, { - "$ref": "#/definitions/AWS_Location_Map" + "$ref": "#/definitions/AWS_RoboMaker_SimulationApplication" }, { - "$ref": "#/definitions/AWS_FSx_StorageVirtualMachine" + "$ref": "#/definitions/AWS_NetworkFirewall_LoggingConfiguration" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_CloudFormationProvisionedProduct" + "$ref": "#/definitions/AWS_KinesisAnalyticsV2_ApplicationCloudWatchLoggingOption" }, { - "$ref": "#/definitions/AWS_DMS_DataProvider" + "$ref": "#/definitions/AWS_IVS_RecordingConfiguration" }, { - "$ref": "#/definitions/AWS_Route53RecoveryReadiness_ReadinessCheck" + "$ref": "#/definitions/AWS_AmazonMQ_ConfigurationAssociation" }, { - "$ref": "#/definitions/AWS_Batch_JobQueue" + "$ref": "#/definitions/AWS_DMS_DataProvider" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_NetworkSettings" + "$ref": "#/definitions/AWS_S3_AccessGrant" }, { - "$ref": "#/definitions/AWS_Lex_BotVersion" + "$ref": "#/definitions/AWS_Shield_Protection" }, { "$ref": "#/definitions/AWS_ApplicationAutoScaling_ScalingPolicy" }, { - "$ref": "#/definitions/AWS_EventSchemas_RegistryPolicy" - }, - { - "$ref": "#/definitions/AWS_DataBrew_Dataset" + "$ref": "#/definitions/AWS_EC2_NetworkInsightsPath" }, { - "$ref": "#/definitions/AWS_EventSchemas_Discoverer" + "$ref": "#/definitions/AWS_OpenSearchService_Application" }, { - "$ref": "#/definitions/AWS_CodeBuild_Fleet" + "$ref": "#/definitions/AWS_ARCZonalShift_AutoshiftObserverNotificationStatus" }, { - "$ref": "#/definitions/AWS_KendraRanking_ExecutionPlan" + "$ref": "#/definitions/AWS_SageMaker_Endpoint" }, { - "$ref": "#/definitions/AWS_Lightsail_Disk" + "$ref": "#/definitions/AWS_NimbleStudio_StudioComponent" }, { - "$ref": "#/definitions/AWS_BackupGateway_Hypervisor" + "$ref": "#/definitions/AWS_DevOpsGuru_LogAnomalyDetectionIntegration" }, { - "$ref": "#/definitions/AWS_ServiceDiscovery_Instance" + "$ref": "#/definitions/AWS_Greengrass_LoggerDefinition" }, { - "$ref": "#/definitions/AWS_ARCZonalShift_ZonalAutoshiftConfiguration" + "$ref": "#/definitions/AWS_Omics_AnnotationStore" }, { - "$ref": "#/definitions/AWS_CustomerProfiles_EventStream" + "$ref": "#/definitions/AWS_AppStream_StackFleetAssociation" }, { - "$ref": "#/definitions/AWS_ACMPCA_Certificate" + "$ref": "#/definitions/AWS_SSO_InstanceAccessControlAttributeConfiguration" }, { - "$ref": "#/definitions/AWS_SSMContacts_ContactChannel" + "$ref": "#/definitions/AWS_MemoryDB_MultiRegionCluster" }, { - "$ref": "#/definitions/AWS_EC2_LocalGatewayRouteTable" + "$ref": "#/definitions/AWS_ApiGatewayV2_IntegrationResponse" }, { - "$ref": "#/definitions/AWS_CloudFront_Distribution" + "$ref": "#/definitions/AWS_ApiGatewayV2_DomainName" }, { - "$ref": "#/definitions/AWS_ImageBuilder_DistributionConfiguration" + "$ref": "#/definitions/AWS_Lex_Bot" }, { - "$ref": "#/definitions/AWS_DataSync_LocationFSxLustre" + "$ref": "#/definitions/AWS_AppFlow_ConnectorProfile" }, { - "$ref": "#/definitions/AWS_VpcLattice_Rule" + "$ref": "#/definitions/AWS_EC2_VerifiedAccessInstance" }, { - "$ref": "#/definitions/AWS_Deadline_Farm" + "$ref": "#/definitions/AWS_OpenSearchService_Domain" }, { - "$ref": "#/definitions/AWS_Rekognition_Collection" + "$ref": "#/definitions/AWS_SES_EmailIdentity" }, { - "$ref": "#/definitions/AWS_GlobalAccelerator_EndpointGroup" + "$ref": "#/definitions/AWS_AppIntegrations_EventIntegration" }, { - "$ref": "#/definitions/AWS_Route53_HostedZone" + "$ref": "#/definitions/AWS_DevOpsGuru_ResourceCollection" }, { - "$ref": "#/definitions/AWS_Transfer_User" + "$ref": "#/definitions/AWS_SimSpaceWeaver_Simulation" }, { - "$ref": "#/definitions/AWS_ServiceDiscovery_HttpNamespace" + "$ref": "#/definitions/AWS_Kinesis_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_MediaTailor_PlaybackConfiguration" + "$ref": "#/definitions/AWS_QuickSight_Template" }, { - "$ref": "#/definitions/AWS_VerifiedPermissions_PolicyStore" + "$ref": "#/definitions/AWS_Detective_OrganizationAdmin" }, { - "$ref": "#/definitions/AWS_DevOpsGuru_ResourceCollection" + "$ref": "#/definitions/AWS_MediaPackage_OriginEndpoint" }, { - "$ref": "#/definitions/AWS_WAF_SizeConstraintSet" + "$ref": "#/definitions/AWS_Bedrock_Agent" }, { - "$ref": "#/definitions/AWS_DocDB_DBInstance" + "$ref": "#/definitions/AWS_EC2_TrafficMirrorFilter" }, { - "$ref": "#/definitions/AWS_S3_AccessGrantsLocation" + "$ref": "#/definitions/AWS_IAM_ManagedPolicy" }, { - "$ref": "#/definitions/AWS_SageMaker_NotebookInstance" + "$ref": "#/definitions/AWS_Redshift_Cluster" }, { - "$ref": "#/definitions/AWS_MediaConnect_BridgeOutput" + "$ref": "#/definitions/AWS_ApiGatewayV2_VpcLink" }, { - "$ref": "#/definitions/AWS_ResourceExplorer2_DefaultViewAssociation" + "$ref": "#/definitions/AWS_S3_MultiRegionAccessPoint" }, { - "$ref": "#/definitions/AWS_ECS_Cluster" + "$ref": "#/definitions/AWS_CustomerProfiles_EventTrigger" }, { - "$ref": "#/definitions/AWS_IoT_JobTemplate" + "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_ListenerCertificate" }, { - "$ref": "#/definitions/AWS_IdentityStore_GroupMembership" + "$ref": "#/definitions/AWS_SES_MailManagerAddonInstance" }, { - "$ref": "#/definitions/AWS_MediaConnect_Bridge" + "$ref": "#/definitions/AWS_Logs_Integration" }, { - "$ref": "#/definitions/AWS_IoTThingsGraph_FlowTemplate" + "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_TargetGroup" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_CloudFormationProduct" + "$ref": "#/definitions/AWS_Cognito_UserPoolDomain" }, { - "$ref": "#/definitions/AWS_Neptune_DBParameterGroup" + "$ref": "#/definitions/AWS_ApiGateway_UsagePlan" }, { - "$ref": "#/definitions/AWS_Bedrock_PromptVersion" + "$ref": "#/definitions/AWS_Connect_HoursOfOperation" }, { - "$ref": "#/definitions/AWS_Organizations_Organization" + "$ref": "#/definitions/AWS_Events_ApiDestination" }, { - "$ref": "#/definitions/AWS_RolesAnywhere_Profile" + "$ref": "#/definitions/AWS_VerifiedPermissions_IdentitySource" }, { - "$ref": "#/definitions/AWS_EC2_KeyPair" + "$ref": "#/definitions/AWS_ConnectCampaignsV2_Campaign" }, { - "$ref": "#/definitions/AWS_DMS_Endpoint" + "$ref": "#/definitions/AWS_ECS_TaskDefinition" }, { - "$ref": "#/definitions/AWS_SecurityLake_Subscriber" + "$ref": "#/definitions/AWS_MediaConvert_Queue" }, { - "$ref": "#/definitions/AWS_EC2_NetworkInterfacePermission" + "$ref": "#/definitions/AWS_ECR_RepositoryCreationTemplate" }, { - "$ref": "#/definitions/AWS_IoTAnalytics_Pipeline" + "$ref": "#/definitions/AWS_ApiGatewayV2_Api" }, { - "$ref": "#/definitions/AWS_CleanRooms_AnalysisTemplate" + "$ref": "#/definitions/AWS_SecretsManager_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_GameLift_Build" + "$ref": "#/definitions/AWS_Deadline_Fleet" }, { - "$ref": "#/definitions/AWS_AppMesh_VirtualService" + "$ref": "#/definitions/AWS_Route53RecoveryControl_Cluster" }, { - "$ref": "#/definitions/AWS_ApplicationAutoScaling_ScalableTarget" + "$ref": "#/definitions/AWS_IoTSiteWise_Project" }, { - "$ref": "#/definitions/AWS_OpsWorks_Stack" + "$ref": "#/definitions/AWS_CloudFormation_WaitConditionHandle" }, { - "$ref": "#/definitions/AWS_DataSync_LocationS3" + "$ref": "#/definitions/AWS_ECS_ClusterCapacityProviderAssociations" }, { - "$ref": "#/definitions/AWS_IoT1Click_Project" + "$ref": "#/definitions/AWS_IoT_DomainConfiguration" }, { - "$ref": "#/definitions/AWS_CloudFront_OriginAccessControl" + "$ref": "#/definitions/AWS_WorkSpaces_WorkspacesPool" }, { - "$ref": "#/definitions/AWS_WorkSpaces_ConnectionAlias" + "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_LoadBalancer" }, { - "$ref": "#/definitions/AWS_IoT_AccountAuditConfiguration" + "$ref": "#/definitions/AWS_ResourceExplorer2_Index" }, { - "$ref": "#/definitions/AWS_IVS_StorageConfiguration" + "$ref": "#/definitions/AWS_Signer_SigningProfile" }, { - "$ref": "#/definitions/AWS_Glue_SecurityConfiguration" + "$ref": "#/definitions/AWS_Amplify_App" }, { - "$ref": "#/definitions/AWS_Kendra_Faq" + "$ref": "#/definitions/AWS_PCS_Cluster" }, { - "$ref": "#/definitions/AWS_IoTAnalytics_Dataset" + "$ref": "#/definitions/AWS_DataSync_LocationHDFS" }, { - "$ref": "#/definitions/AWS_Detective_OrganizationAdmin" + "$ref": "#/definitions/AWS_SDB_Domain" }, { - "$ref": "#/definitions/AWS_CloudFront_RealtimeLogConfig" + "$ref": "#/definitions/AWS_VpcLattice_ServiceNetworkVpcAssociation" }, { - "$ref": "#/definitions/AWS_Greengrass_ResourceDefinitionVersion" + "$ref": "#/definitions/AWS_CloudFront_KeyValueStore" }, { - "$ref": "#/definitions/AWS_AppMesh_VirtualNode" + "$ref": "#/definitions/AWS_Batch_ComputeEnvironment" }, { - "$ref": "#/definitions/AWS_Events_EventBus" + "$ref": "#/definitions/AWS_QuickSight_Topic" }, { - "$ref": "#/definitions/AWS_ECR_ReplicationConfiguration" + "$ref": "#/definitions/AWS_Lambda_EventInvokeConfig" }, { - "$ref": "#/definitions/AWS_Glue_Table" + "$ref": "#/definitions/AWS_OpsWorksCM_Server" }, { - "$ref": "#/definitions/AWS_SSMIncidents_ResponsePlan" + "$ref": "#/definitions/AWS_EC2_IPAMResourceDiscovery" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_PortfolioPrincipalAssociation" + "$ref": "#/definitions/AWS_Location_TrackerConsumer" }, { - "$ref": "#/definitions/AWS_IoT_BillingGroup" + "$ref": "#/definitions/AWS_S3Outposts_Endpoint" }, { - "$ref": "#/definitions/AWS_SecurityHub_DelegatedAdmin" + "$ref": "#/definitions/AWS_Scheduler_ScheduleGroup" }, { - "$ref": "#/definitions/AWS_WAFRegional_SizeConstraintSet" + "$ref": "#/definitions/AWS_Pinpoint_APNSChannel" }, { - "$ref": "#/definitions/AWS_ApiGateway_Stage" + "$ref": "#/definitions/AWS_AmazonMQ_Configuration" }, { - "$ref": "#/definitions/AWS_CodeDeploy_DeploymentConfig" + "$ref": "#/definitions/AWS_LakeFormation_TagAssociation" }, { - "$ref": "#/definitions/AWS_ImageBuilder_Component" + "$ref": "#/definitions/AWS_Config_RemediationConfiguration" }, { - "$ref": "#/definitions/AWS_GroundStation_MissionProfile" + "$ref": "#/definitions/AWS_WorkSpacesWeb_Portal" }, { - "$ref": "#/definitions/AWS_AppConfig_ExtensionAssociation" + "$ref": "#/definitions/AWS_EC2_CapacityReservationFleet" }, { - "$ref": "#/definitions/AWS_Config_ConfigRule" + "$ref": "#/definitions/AWS_ElasticBeanstalk_ApplicationVersion" }, { - "$ref": "#/definitions/AWS_WAF_Rule" + "$ref": "#/definitions/AWS_EC2_NetworkInsightsAccessScopeAnalysis" }, { - "$ref": "#/definitions/AWS_SageMaker_Device" + "$ref": "#/definitions/AWS_MSK_ServerlessCluster" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_Deployment" + "$ref": "#/definitions/AWS_Config_StoredQuery" }, { - "$ref": "#/definitions/AWS_MediaLive_InputSecurityGroup" + "$ref": "#/definitions/AWS_CloudFront_ResponseHeadersPolicy" }, { - "$ref": "#/definitions/AWS_ImageBuilder_Image" + "$ref": "#/definitions/AWS_Chatbot_CustomAction" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolRiskConfigurationAttachment" + "$ref": "#/definitions/AWS_DAX_SubnetGroup" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_Portfolio" + "$ref": "#/definitions/AWS_InternetMonitor_Monitor" }, { - "$ref": "#/definitions/AWS_DataZone_Environment" + "$ref": "#/definitions/AWS_CloudFront_OriginRequestPolicy" }, { - "$ref": "#/definitions/AWS_IdentityStore_Group" + "$ref": "#/definitions/AWS_EC2_PlacementGroup" }, { - "$ref": "#/definitions/AWS_Redshift_EventSubscription" + "$ref": "#/definitions/AWS_Inspector_AssessmentTarget" }, { - "$ref": "#/definitions/AWS_Backup_BackupVault" + "$ref": "#/definitions/AWS_IAM_GroupPolicy" }, { - "$ref": "#/definitions/AWS_DLM_LifecyclePolicy" + "$ref": "#/definitions/AWS_EC2_TransitGateway" }, { - "$ref": "#/definitions/AWS_Signer_ProfilePermission" + "$ref": "#/definitions/AWS_IAM_OIDCProvider" }, { - "$ref": "#/definitions/AWS_IoT_SoftwarePackageVersion" + "$ref": "#/definitions/AWS_Proton_EnvironmentTemplate" }, { - "$ref": "#/definitions/AWS_CloudWatch_InsightRule" + "$ref": "#/definitions/AWS_Rekognition_StreamProcessor" }, { - "$ref": "#/definitions/AWS_VoiceID_Domain" + "$ref": "#/definitions/AWS_MemoryDB_ACL" }, { - "$ref": "#/definitions/AWS_Config_ConfigurationRecorder" + "$ref": "#/definitions/AWS_InspectorV2_CisScanConfiguration" }, { - "$ref": "#/definitions/AWS_Greengrass_ConnectorDefinitionVersion" + "$ref": "#/definitions/AWS_Connect_IntegrationAssociation" }, { - "$ref": "#/definitions/AWS_CUR_ReportDefinition" + "$ref": "#/definitions/AWS_IoT_CertificateProvider" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolUICustomizationAttachment" + "$ref": "#/definitions/AWS_CloudFormation_PublicTypeVersion" }, { - "$ref": "#/definitions/AWS_MediaLive_Cluster" + "$ref": "#/definitions/AWS_Pinpoint_SmsTemplate" }, { - "$ref": "#/definitions/AWS_Logs_DeliveryDestination" + "$ref": "#/definitions/AWS_SageMaker_NotebookInstance" }, { - "$ref": "#/definitions/AWS_IAM_ManagedPolicy" + "$ref": "#/definitions/AWS_EC2_SecurityGroupIngress" }, { - "$ref": "#/definitions/AWS_Glue_Workflow" + "$ref": "#/definitions/AWS_CloudWatch_MetricStream" }, { - "$ref": "#/definitions/AWS_ElastiCache_ServerlessCache" + "$ref": "#/definitions/AWS_SecurityLake_AwsLogSource" }, { - "$ref": "#/definitions/AWS_ACMPCA_Permission" + "$ref": "#/definitions/AWS_EC2_SpotFleet" }, { - "$ref": "#/definitions/AWS_OpenSearchServerless_Collection" + "$ref": "#/definitions/AWS_SupportApp_AccountAlias" }, { - "$ref": "#/definitions/AWS_PinpointEmail_DedicatedIpPool" + "$ref": "#/definitions/AWS_Omics_Workflow" }, { - "$ref": "#/definitions/AWS_AmplifyUIBuilder_Component" + "$ref": "#/definitions/AWS_KinesisAnalyticsV2_ApplicationOutput" }, { - "$ref": "#/definitions/AWS_OpenSearchService_Domain" + "$ref": "#/definitions/AWS_Pinpoint_Campaign" }, { - "$ref": "#/definitions/AWS_Cognito_IdentityPoolRoleAttachment" + "$ref": "#/definitions/AWS_SSMIncidents_ResponsePlan" }, { - "$ref": "#/definitions/AWS_NetworkManager_SiteToSiteVpnAttachment" + "$ref": "#/definitions/AWS_MediaPackageV2_Channel" }, { - "$ref": "#/definitions/AWS_MediaLive_CloudWatchAlarmTemplate" + "$ref": "#/definitions/AWS_EC2_VPCBlockPublicAccessOptions" }, { - "$ref": "#/definitions/AWS_DataZone_EnvironmentProfile" + "$ref": "#/definitions/AWS_SageMaker_InferenceComponent" }, { - "$ref": "#/definitions/AWS_FraudDetector_EventType" + "$ref": "#/definitions/AWS_MemoryDB_ParameterGroup" }, { - "$ref": "#/definitions/AWS_IoTWireless_WirelessGateway" + "$ref": "#/definitions/AWS_EC2_SubnetRouteTableAssociation" }, { - "$ref": "#/definitions/AWS_IVS_StreamKey" + "$ref": "#/definitions/AWS_GlobalAccelerator_EndpointGroup" }, { - "$ref": "#/definitions/AWS_Personalize_Solution" + "$ref": "#/definitions/AWS_MediaPackageV2_OriginEndpoint" }, { - "$ref": "#/definitions/AWS_MediaConnect_FlowOutput" + "$ref": "#/definitions/AWS_SecurityHub_Insight" }, { - "$ref": "#/definitions/AWS_MediaConnect_FlowVpcInterface" + "$ref": "#/definitions/AWS_IVS_StorageConfiguration" }, { - "$ref": "#/definitions/AWS_Redshift_Cluster" + "$ref": "#/definitions/AWS_MediaPackage_PackagingConfiguration" }, { - "$ref": "#/definitions/AWS_QuickSight_Theme" + "$ref": "#/definitions/AWS_IoTWireless_MulticastGroup" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayConnect" + "$ref": "#/definitions/AWS_AppSync_GraphQLSchema" }, { - "$ref": "#/definitions/AWS_ECR_RegistryPolicy" + "$ref": "#/definitions/AWS_Wisdom_KnowledgeBase" }, { - "$ref": "#/definitions/AWS_RUM_AppMonitor" + "$ref": "#/definitions/AWS_SageMaker_Device" }, { - "$ref": "#/definitions/AWS_ApiGateway_DocumentationVersion" + "$ref": "#/definitions/AWS_Pinpoint_ApplicationSettings" }, { - "$ref": "#/definitions/AWS_FraudDetector_Outcome" + "$ref": "#/definitions/AWS_FIS_ExperimentTemplate" }, { - "$ref": "#/definitions/AWS_SNS_TopicPolicy" + "$ref": "#/definitions/AWS_Lightsail_Alarm" }, { - "$ref": "#/definitions/AWS_IoT_ThingPrincipalAttachment" + "$ref": "#/definitions/AWS_Route53_KeySigningKey" }, { - "$ref": "#/definitions/AWS_EC2_Route" + "$ref": "#/definitions/AWS_MSK_ClusterPolicy" }, { - "$ref": "#/definitions/AWS_Greengrass_DeviceDefinition" + "$ref": "#/definitions/AWS_RDS_DBParameterGroup" }, { - "$ref": "#/definitions/AWS_Connect_TaskTemplate" + "$ref": "#/definitions/AWS_SNS_TopicInlinePolicy" }, { - "$ref": "#/definitions/AWS_IVS_PublicKey" + "$ref": "#/definitions/AWS_EC2_IPAMResourceDiscoveryAssociation" }, { - "$ref": "#/definitions/AWS_Lightsail_Bucket" + "$ref": "#/definitions/AWS_IdentityStore_Group" }, { - "$ref": "#/definitions/AWS_Glue_Partition" + "$ref": "#/definitions/AWS_CloudWatch_CompositeAlarm" }, { - "$ref": "#/definitions/AWS_Timestream_ScheduledQuery" + "$ref": "#/definitions/AWS_IoTWireless_ServiceProfile" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolUserToGroupAttachment" + "$ref": "#/definitions/AWS_IoT_ThingType" }, { - "$ref": "#/definitions/AWS_MediaLive_SdiSource" + "$ref": "#/definitions/AWS_DynamoDB_Table" }, { - "$ref": "#/definitions/AWS_EC2_VPNConnectionRoute" + "$ref": "#/definitions/AWS_OpenSearchServerless_Collection" }, { - "$ref": "#/definitions/AWS_Route53Resolver_ResolverConfig" + "$ref": "#/definitions/AWS_ManagedBlockchain_Node" }, { - "$ref": "#/definitions/AWS_Logs_AccountPolicy" + "$ref": "#/definitions/AWS_EC2_VolumeAttachment" }, { - "$ref": "#/definitions/AWS_OSIS_Pipeline" + "$ref": "#/definitions/AWS_SageMaker_Project" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayAttachment" + "$ref": "#/definitions/AWS_KinesisFirehose_DeliveryStream" }, { - "$ref": "#/definitions/AWS_SecretsManager_ResourcePolicy" + "$ref": "#/definitions/AWS_EC2_EC2Fleet" }, { - "$ref": "#/definitions/AWS_CertificateManager_Certificate" + "$ref": "#/definitions/AWS_IoTTwinMaker_SyncJob" }, { - "$ref": "#/definitions/AWS_Route53RecoveryReadiness_Cell" + "$ref": "#/definitions/AWS_VpcLattice_ResourceConfiguration" }, { - "$ref": "#/definitions/AWS_EFS_AccessPoint" + "$ref": "#/definitions/AWS_ACMPCA_CertificateAuthorityActivation" }, { - "$ref": "#/definitions/AWS_Pinpoint_SMSChannel" + "$ref": "#/definitions/AWS_AppConfig_DeploymentStrategy" }, { - "$ref": "#/definitions/AWS_ControlTower_EnabledBaseline" + "$ref": "#/definitions/AWS_EC2_TrafficMirrorTarget" }, { - "$ref": "#/definitions/AWS_Glue_DataQualityRuleset" + "$ref": "#/definitions/AWS_EC2_VPCCidrBlock" }, { - "$ref": "#/definitions/AWS_IoTTwinMaker_Workspace" + "$ref": "#/definitions/AWS_ApiGateway_DomainNameAccessAssociation" }, { - "$ref": "#/definitions/AWS_Greengrass_FunctionDefinitionVersion" + "$ref": "#/definitions/AWS_KafkaConnect_WorkerConfiguration" }, { - "$ref": "#/definitions/AWS_S3Outposts_Bucket" + "$ref": "#/definitions/AWS_DataBrew_Ruleset" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayRoute" + "$ref": "#/definitions/AWS_ElasticBeanstalk_Application" }, { - "$ref": "#/definitions/AWS_NimbleStudio_LaunchProfile" + "$ref": "#/definitions/AWS_WorkSpacesWeb_BrowserSettings" }, { - "$ref": "#/definitions/AWS_Connect_TrafficDistributionGroup" + "$ref": "#/definitions/AWS_MediaPackage_PackagingGroup" }, { - "$ref": "#/definitions/AWS_IoT_SecurityProfile" + "$ref": "#/definitions/AWS_GreengrassV2_ComponentVersion" }, { - "$ref": "#/definitions/AWS_Organizations_OrganizationalUnit" + "$ref": "#/definitions/AWS_SSM_Parameter" }, { - "$ref": "#/definitions/AWS_DocDB_DBSubnetGroup" + "$ref": "#/definitions/AWS_Timestream_Database" }, { - "$ref": "#/definitions/AWS_CodeConnections_Connection" + "$ref": "#/definitions/AWS_CleanRooms_Membership" }, { - "$ref": "#/definitions/AWS_CloudFront_OriginRequestPolicy" + "$ref": "#/definitions/AWS_ECS_Cluster" }, { - "$ref": "#/definitions/AWS_EntityResolution_SchemaMapping" + "$ref": "#/definitions/AWS_CodeArtifact_Repository" }, { - "$ref": "#/definitions/AWS_Location_PlaceIndex" + "$ref": "#/definitions/AWS_SES_ContactList" }, { - "$ref": "#/definitions/AWS_SupportApp_SlackWorkspaceConfiguration" + "$ref": "#/definitions/AWS_DataSync_StorageSystem" }, { - "$ref": "#/definitions/AWS_CloudFormation_HookTypeConfig" + "$ref": "#/definitions/AWS_Cassandra_Type" }, { - "$ref": "#/definitions/AWS_ECS_TaskSet" + "$ref": "#/definitions/AWS_NimbleStudio_StreamingImage" }, { - "$ref": "#/definitions/AWS_CodeCommit_Repository" + "$ref": "#/definitions/AWS_CE_AnomalySubscription" }, { - "$ref": "#/definitions/AWS_SSMQuickSetup_ConfigurationManager" + "$ref": "#/definitions/AWS_SageMaker_AppImageConfig" }, { - "$ref": "#/definitions/AWS_ElasticBeanstalk_Application" + "$ref": "#/definitions/AWS_Pinpoint_Segment" }, { - "$ref": "#/definitions/AWS_AppConfig_DeploymentStrategy" + "$ref": "#/definitions/AWS_Route53Resolver_ResolverDNSSECConfig" }, { - "$ref": "#/definitions/AWS_ElastiCache_SecurityGroup" + "$ref": "#/definitions/AWS_DataSync_LocationFSxLustre" }, { - "$ref": "#/definitions/AWS_Transfer_Connector" + "$ref": "#/definitions/AWS_Route53Resolver_ResolverQueryLoggingConfig" }, { - "$ref": "#/definitions/AWS_M2_Application" + "$ref": "#/definitions/AWS_SecurityHub_ProductSubscription" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_ListenerRule" + "$ref": "#/definitions/AWS_FIS_TargetAccountConfiguration" }, { - "$ref": "#/definitions/AWS_GameLift_MatchmakingConfiguration" + "$ref": "#/definitions/AWS_ServiceCatalog_LaunchNotificationConstraint" }, { - "$ref": "#/definitions/AWS_SimSpaceWeaver_Simulation" + "$ref": "#/definitions/AWS_EC2_DHCPOptions" }, { - "$ref": "#/definitions/AWS_SSM_Association" + "$ref": "#/definitions/AWS_MediaConnect_FlowOutput" }, { - "$ref": "#/definitions/AWS_AppTest_TestCase" + "$ref": "#/definitions/AWS_CustomerProfiles_Domain" }, { - "$ref": "#/definitions/AWS_MediaConnect_BridgeSource" + "$ref": "#/definitions/AWS_Pinpoint_EmailChannel" }, { - "$ref": "#/definitions/AWS_Location_APIKey" + "$ref": "#/definitions/AWS_EC2_ClientVpnTargetNetworkAssociation" }, { - "$ref": "#/definitions/AWS_Config_StoredQuery" + "$ref": "#/definitions/AWS_SupportApp_SlackChannelConfiguration" }, { - "$ref": "#/definitions/AWS_AppStream_StackUserAssociation" + "$ref": "#/definitions/AWS_GuardDuty_MalwareProtectionPlan" }, { - "$ref": "#/definitions/AWS_SageMaker_ModelExplainabilityJobDefinition" + "$ref": "#/definitions/AWS_Location_RouteCalculator" }, { - "$ref": "#/definitions/AWS_Personalize_DatasetGroup" + "$ref": "#/definitions/AWS_EC2_ClientVpnRoute" }, { - "$ref": "#/definitions/AWS_NetworkManager_Link" + "$ref": "#/definitions/AWS_IoT_TopicRuleDestination" }, { - "$ref": "#/definitions/AWS_MediaLive_Channel" + "$ref": "#/definitions/AWS_DLM_LifecyclePolicy" }, { - "$ref": "#/definitions/AWS_Cognito_IdentityPool" + "$ref": "#/definitions/AWS_CertificateManager_Account" }, { - "$ref": "#/definitions/AWS_B2BI_Transformer" + "$ref": "#/definitions/AWS_IAM_VirtualMFADevice" }, { - "$ref": "#/definitions/AWS_OpsWorks_ElasticLoadBalancerAttachment" + "$ref": "#/definitions/AWS_Glue_Partition" }, { - "$ref": "#/definitions/AWS_Macie_AllowList" + "$ref": "#/definitions/AWS_WAF_SizeConstraintSet" }, { - "$ref": "#/definitions/AWS_ControlTower_LandingZone" + "$ref": "#/definitions/AWS_Pinpoint_ADMChannel" }, { - "$ref": "#/definitions/AWS_QuickSight_VPCConnection" + "$ref": "#/definitions/AWS_Backup_RestoreTestingSelection" }, { - "$ref": "#/definitions/AWS_IVS_EncoderConfiguration" + "$ref": "#/definitions/AWS_LicenseManager_License" }, { - "$ref": "#/definitions/AWS_Lightsail_Certificate" + "$ref": "#/definitions/AWS_RUM_AppMonitor" }, { - "$ref": "#/definitions/AWS_MemoryDB_SubnetGroup" + "$ref": "#/definitions/AWS_ECR_PublicRepository" }, { - "$ref": "#/definitions/AWS_WAFRegional_RateBasedRule" + "$ref": "#/definitions/AWS_MediaPackage_Asset" }, { - "$ref": "#/definitions/AWS_EMR_Step" + "$ref": "#/definitions/AWS_EC2_ClientVpnAuthorizationRule" }, { - "$ref": "#/definitions/AWS_Route53Profiles_ProfileAssociation" + "$ref": "#/definitions/AWS_EFS_FileSystem" }, { - "$ref": "#/definitions/AWS_AmplifyUIBuilder_Form" + "$ref": "#/definitions/AWS_Route53Resolver_FirewallRuleGroupAssociation" }, { - "$ref": "#/definitions/AWS_SageMaker_Pipeline" + "$ref": "#/definitions/AWS_CodeDeploy_DeploymentGroup" }, { - "$ref": "#/definitions/AWS_Omics_VariantStore" + "$ref": "#/definitions/AWS_GlobalAccelerator_CrossAccountAttachment" }, { - "$ref": "#/definitions/AWS_Pinpoint_GCMChannel" + "$ref": "#/definitions/AWS_Connect_PredefinedAttribute" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayRouteTable" + "$ref": "#/definitions/AWS_OpenSearchServerless_SecurityPolicy" }, { - "$ref": "#/definitions/AWS_LookoutEquipment_InferenceScheduler" + "$ref": "#/definitions/AWS_Greengrass_SubscriptionDefinition" }, { - "$ref": "#/definitions/AWS_Deadline_StorageProfile" + "$ref": "#/definitions/AWS_Glue_CustomEntityType" }, { - "$ref": "#/definitions/AWS_IoT_Logging" + "$ref": "#/definitions/AWS_SES_ReceiptRule" }, { - "$ref": "#/definitions/AWS_Shield_Protection" + "$ref": "#/definitions/AWS_OpenSearchServerless_LifecyclePolicy" }, { - "$ref": "#/definitions/AWS_OpenSearchServerless_SecurityPolicy" + "$ref": "#/definitions/AWS_MediaTailor_ChannelPolicy" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_Portal" + "$ref": "#/definitions/AWS_Logs_Transformer" }, { - "$ref": "#/definitions/AWS_SageMaker_Project" + "$ref": "#/definitions/AWS_Budgets_BudgetsAction" }, { - "$ref": "#/definitions/AWS_IoT_RoleAlias" + "$ref": "#/definitions/AWS_AppMesh_VirtualRouter" }, { - "$ref": "#/definitions/AWS_Scheduler_Schedule" + "$ref": "#/definitions/AWS_SSMQuickSetup_ConfigurationManager" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_StackSetConstraint" + "$ref": "#/definitions/AWS_AppStream_ApplicationFleetAssociation" }, { - "$ref": "#/definitions/AWS_Route53_HealthCheck" + "$ref": "#/definitions/AWS_Cognito_LogDeliveryConfiguration" }, { - "$ref": "#/definitions/AWS_AmazonMQ_Configuration" + "$ref": "#/definitions/AWS_MediaTailor_Channel" }, { - "$ref": "#/definitions/AWS_SageMaker_Image" + "$ref": "#/definitions/AWS_Personalize_DatasetGroup" }, { - "$ref": "#/definitions/AWS_EC2_IPAMScope" + "$ref": "#/definitions/AWS_Rbin_Rule" }, { - "$ref": "#/definitions/AWS_VpcLattice_AccessLogSubscription" + "$ref": "#/definitions/AWS_Events_Rule" }, { - "$ref": "#/definitions/AWS_KinesisAnalytics_ApplicationOutput" + "$ref": "#/definitions/AWS_S3ObjectLambda_AccessPointPolicy" }, { - "$ref": "#/definitions/AWS_IoTFleetHub_Application" + "$ref": "#/definitions/AWS_Redshift_ClusterParameterGroup" }, { - "$ref": "#/definitions/AWS_Lambda_LayerVersionPermission" + "$ref": "#/definitions/AWS_AppStream_ApplicationEntitlementAssociation" }, { - "$ref": "#/definitions/AWS_ManagedBlockchain_Node" + "$ref": "#/definitions/AWS_DataBrew_Job" }, { - "$ref": "#/definitions/AWS_Location_TrackerConsumer" + "$ref": "#/definitions/AWS_CodePipeline_Pipeline" }, { - "$ref": "#/definitions/AWS_DynamoDB_GlobalTable" + "$ref": "#/definitions/AWS_Rekognition_Collection" }, { - "$ref": "#/definitions/AWS_EC2_InternetGateway" + "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastGroupMember" }, { - "$ref": "#/definitions/AWS_CloudFront_CachePolicy" + "$ref": "#/definitions/AWS_SageMaker_UserProfile" }, { - "$ref": "#/definitions/AWS_DataZone_UserProfile" + "$ref": "#/definitions/AWS_Wisdom_AIPromptVersion" }, { - "$ref": "#/definitions/AWS_QBusiness_WebExperience" + "$ref": "#/definitions/AWS_Lambda_Function" }, { - "$ref": "#/definitions/AWS_DataBrew_Job" + "$ref": "#/definitions/AWS_IAM_AccessKey" }, { - "$ref": "#/definitions/AWS_EMR_StudioSessionMapping" + "$ref": "#/definitions/AWS_WAFRegional_GeoMatchSet" }, { - "$ref": "#/definitions/AWS_InternetMonitor_Monitor" + "$ref": "#/definitions/AWS_AutoScaling_WarmPool" }, { - "$ref": "#/definitions/AWS_SES_ConfigurationSet" + "$ref": "#/definitions/AWS_WorkSpacesWeb_IpAccessSettings" }, { - "$ref": "#/definitions/AWS_S3Outposts_BucketPolicy" + "$ref": "#/definitions/AWS_Bedrock_Prompt" }, { - "$ref": "#/definitions/AWS_AppIntegrations_DataIntegration" + "$ref": "#/definitions/AWS_EC2_VPNConnection" }, { - "$ref": "#/definitions/AWS_Location_GeofenceCollection" + "$ref": "#/definitions/AWS_EC2_Route" }, { - "$ref": "#/definitions/AWS_Pinpoint_ApplicationSettings" + "$ref": "#/definitions/AWS_Wisdom_AIGuardrail" }, { - "$ref": "#/definitions/AWS_WAFRegional_IPSet" + "$ref": "#/definitions/AWS_DataZone_SubscriptionTarget" }, { - "$ref": "#/definitions/AWS_Lambda_EventInvokeConfig" + "$ref": "#/definitions/AWS_VpcLattice_AccessLogSubscription" }, { - "$ref": "#/definitions/AWS_CleanRooms_ConfiguredTable" + "$ref": "#/definitions/AWS_ApiGateway_BasePathMappingV2" }, { - "$ref": "#/definitions/AWS_CodeGuruReviewer_RepositoryAssociation" + "$ref": "#/definitions/AWS_Route53_DNSSEC" }, { - "$ref": "#/definitions/AWS_EKS_FargateProfile" + "$ref": "#/definitions/AWS_B2BI_Partnership" }, { - "$ref": "#/definitions/AWS_KinesisAnalyticsV2_ApplicationReferenceDataSource" + "$ref": "#/definitions/AWS_OpsWorks_Volume" }, { - "$ref": "#/definitions/AWS_Route53_CidrCollection" + "$ref": "#/definitions/AWS_MediaLive_Channel" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_Integration" + "$ref": "#/definitions/AWS_Route53_HostedZone" }, { - "$ref": "#/definitions/AWS_IAM_InstanceProfile" + "$ref": "#/definitions/AWS_Redshift_Integration" }, { - "$ref": "#/definitions/AWS_RDS_GlobalCluster" + "$ref": "#/definitions/AWS_NetworkManager_ConnectPeer" }, { - "$ref": "#/definitions/AWS_MediaConnect_FlowEntitlement" + "$ref": "#/definitions/AWS_CloudFormation_TypeActivation" }, { - "$ref": "#/definitions/AWS_MediaTailor_ChannelPolicy" + "$ref": "#/definitions/AWS_Lex_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolGroup" + "$ref": "#/definitions/AWS_EC2_Instance" }, { - "$ref": "#/definitions/AWS_EC2_Host" + "$ref": "#/definitions/AWS_Pinpoint_APNSVoipSandboxChannel" }, { - "$ref": "#/definitions/AWS_NetworkManager_Site" + "$ref": "#/definitions/AWS_EC2_TransitGatewayRoute" }, { - "$ref": "#/definitions/AWS_CloudFormation_StackSet" + "$ref": "#/definitions/AWS_Bedrock_FlowVersion" }, { - "$ref": "#/definitions/AWS_Lightsail_Distribution" + "$ref": "#/definitions/AWS_ElastiCache_User" }, { - "$ref": "#/definitions/AWS_SDB_Domain" + "$ref": "#/definitions/AWS_AppSync_ApiCache" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_UserSettings" + "$ref": "#/definitions/AWS_AppStream_AppBlockBuilder" }, { - "$ref": "#/definitions/AWS_WAFRegional_ByteMatchSet" + "$ref": "#/definitions/AWS_RoboMaker_RobotApplicationVersion" }, { - "$ref": "#/definitions/AWS_EC2_VerifiedAccessEndpoint" + "$ref": "#/definitions/AWS_S3ObjectLambda_AccessPoint" }, { - "$ref": "#/definitions/AWS_IoTFleetWise_Vehicle" + "$ref": "#/definitions/AWS_VpcLattice_Service" }, { - "$ref": "#/definitions/AWS_Bedrock_DataSource" + "$ref": "#/definitions/AWS_SageMaker_ModelPackage" }, { - "$ref": "#/definitions/AWS_AutoScaling_ScalingPolicy" + "$ref": "#/definitions/AWS_Rekognition_Project" }, { - "$ref": "#/definitions/AWS_LakeFormation_DataCellsFilter" + "$ref": "#/definitions/AWS_RDS_DBShardGroup" }, { - "$ref": "#/definitions/AWS_SES_MailManagerIngressPoint" + "$ref": "#/definitions/AWS_Neptune_DBCluster" }, { - "$ref": "#/definitions/AWS_EC2_VPCEndpointConnectionNotification" + "$ref": "#/definitions/AWS_DocDB_DBSubnetGroup" }, { - "$ref": "#/definitions/AWS_Pinpoint_EmailTemplate" + "$ref": "#/definitions/AWS_NetworkManager_ConnectAttachment" }, { - "$ref": "#/definitions/AWS_EMR_Studio" + "$ref": "#/definitions/AWS_SageMaker_FeatureGroup" }, { - "$ref": "#/definitions/AWS_EC2_CapacityReservation" + "$ref": "#/definitions/AWS_Events_EventBusPolicy" }, { - "$ref": "#/definitions/AWS_Macie_FindingsFilter" + "$ref": "#/definitions/AWS_Logs_AccountPolicy" }, { - "$ref": "#/definitions/AWS_KinesisAnalyticsV2_Application" + "$ref": "#/definitions/AWS_SQS_QueuePolicy" }, { - "$ref": "#/definitions/AWS_S3Outposts_AccessPoint" + "$ref": "#/definitions/AWS_Bedrock_FlowAlias" }, { - "$ref": "#/definitions/AWS_SecurityHub_OrganizationConfiguration" + "$ref": "#/definitions/AWS_Wisdom_Assistant" }, { - "$ref": "#/definitions/AWS_PCAConnectorAD_Connector" + "$ref": "#/definitions/AWS_PaymentCryptography_Key" }, { - "$ref": "#/definitions/AWS_Kendra_Index" + "$ref": "#/definitions/AWS_SES_ConfigurationSet" }, { - "$ref": "#/definitions/AWS_SQS_Queue" + "$ref": "#/definitions/AWS_ServiceCatalog_StackSetConstraint" }, { - "$ref": "#/definitions/AWS_OpsWorks_Volume" + "$ref": "#/definitions/AWS_DataSync_LocationAzureBlob" }, { - "$ref": "#/definitions/AWS_DAX_ParameterGroup" + "$ref": "#/definitions/AWS_LakeFormation_Permissions" }, { - "$ref": "#/definitions/AWS_Connect_ContactFlow" + "$ref": "#/definitions/AWS_ManagedBlockchain_Accessor" }, { - "$ref": "#/definitions/AWS_VerifiedPermissions_PolicyTemplate" + "$ref": "#/definitions/AWS_AccessAnalyzer_Analyzer" }, { - "$ref": "#/definitions/AWS_AppConfig_ConfigurationProfile" + "$ref": "#/definitions/AWS_SSM_Document" }, { - "$ref": "#/definitions/AWS_KafkaConnect_WorkerConfiguration" + "$ref": "#/definitions/AWS_VpcLattice_ServiceNetworkServiceAssociation" }, { - "$ref": "#/definitions/AWS_ElastiCache_UserGroup" + "$ref": "#/definitions/AWS_Greengrass_FunctionDefinition" }, { - "$ref": "#/definitions/AWS_SystemsManagerSAP_Application" + "$ref": "#/definitions/AWS_AutoScalingPlans_ScalingPlan" }, { - "$ref": "#/definitions/AWS_MediaPackage_Channel" + "$ref": "#/definitions/AWS_Kinesis_StreamConsumer" }, { - "$ref": "#/definitions/AWS_AppSync_Resolver" + "$ref": "#/definitions/AWS_GuardDuty_ThreatIntelSet" }, { - "$ref": "#/definitions/AWS_Logs_ResourcePolicy" + "$ref": "#/definitions/AWS_DataSync_LocationEFS" }, { - "$ref": "#/definitions/AWS_SageMaker_ModelBiasJobDefinition" + "$ref": "#/definitions/AWS_Detective_MemberInvitation" }, { - "$ref": "#/definitions/AWS_Oam_Link" + "$ref": "#/definitions/AWS_SES_ReceiptRuleSet" }, { - "$ref": "#/definitions/AWS_PCAConnectorAD_DirectoryRegistration" + "$ref": "#/definitions/AWS_EC2_InstanceConnectEndpoint" }, { - "$ref": "#/definitions/AWS_IAM_User" + "$ref": "#/definitions/AWS_NeptuneGraph_Graph" }, { - "$ref": "#/definitions/AWS_ECR_PullThroughCacheRule" + "$ref": "#/definitions/AWS_CodeStar_GitHubRepository" }, { - "$ref": "#/definitions/AWS_OpsWorks_App" + "$ref": "#/definitions/AWS_EMR_SecurityConfiguration" }, { - "$ref": "#/definitions/AWS_IAM_UserPolicy" + "$ref": "#/definitions/AWS_SNS_Topic" }, { - "$ref": "#/definitions/AWS_OpsWorks_UserProfile" + "$ref": "#/definitions/AWS_AppSync_Api" }, { - "$ref": "#/definitions/AWS_KMS_ReplicaKey" + "$ref": "#/definitions/AWS_Neptune_DBSubnetGroup" }, { - "$ref": "#/definitions/AWS_Connect_SecurityProfile" + "$ref": "#/definitions/AWS_Omics_RunGroup" }, { - "$ref": "#/definitions/AWS_CE_AnomalyMonitor" + "$ref": "#/definitions/AWS_EFS_MountTarget" }, { - "$ref": "#/definitions/AWS_DocDBElastic_Cluster" + "$ref": "#/definitions/AWS_Neptune_DBInstance" }, { - "$ref": "#/definitions/AWS_IoT_ThingGroup" + "$ref": "#/definitions/AWS_Athena_NamedQuery" }, { - "$ref": "#/definitions/AWS_EMRServerless_Application" + "$ref": "#/definitions/AWS_ApiGateway_Deployment" }, { - "$ref": "#/definitions/AWS_MediaLive_Multiplexprogram" + "$ref": "#/definitions/AWS_Glue_DataQualityRuleset" }, { - "$ref": "#/definitions/AWS_Lightsail_Container" + "$ref": "#/definitions/AWS_Glue_Table" }, { - "$ref": "#/definitions/AWS_SNS_TopicInlinePolicy" + "$ref": "#/definitions/AWS_SSM_MaintenanceWindowTask" }, { - "$ref": "#/definitions/AWS_EC2_CapacityReservationFleet" + "$ref": "#/definitions/AWS_DirectoryService_SimpleAD" }, { - "$ref": "#/definitions/AWS_SES_ReceiptRuleSet" + "$ref": "#/definitions/AWS_Cassandra_Table" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastDomainAssociation" + "$ref": "#/definitions/AWS_WAFRegional_XssMatchSet" }, { - "$ref": "#/definitions/AWS_Connect_RoutingProfile" + "$ref": "#/definitions/AWS_Lightsail_Disk" }, { - "$ref": "#/definitions/AWS_IoTEvents_Input" + "$ref": "#/definitions/AWS_Lambda_LayerVersion" }, { - "$ref": "#/definitions/AWS_CloudFront_StreamingDistribution" + "$ref": "#/definitions/AWS_IAM_UserToGroupAddition" }, { - "$ref": "#/definitions/AWS_Personalize_Dataset" + "$ref": "#/definitions/AWS_IoT_MitigationAction" }, { - "$ref": "#/definitions/AWS_EC2_VPC" + "$ref": "#/definitions/AWS_SSM_MaintenanceWindow" }, { - "$ref": "#/definitions/AWS_GlobalAccelerator_Listener" + "$ref": "#/definitions/AWS_MediaLive_CloudWatchAlarmTemplate" }, { - "$ref": "#/definitions/AWS_Logs_MetricFilter" + "$ref": "#/definitions/AWS_QuickSight_DataSource" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolClient" + "$ref": "#/definitions/AWS_GameLift_Location" }, { - "$ref": "#/definitions/AWS_CloudFormation_Publisher" + "$ref": "#/definitions/AWS_EKS_IdentityProviderConfig" }, { - "$ref": "#/definitions/AWS_PinpointEmail_ConfigurationSet" + "$ref": "#/definitions/AWS_Route53_HealthCheck" }, { - "$ref": "#/definitions/AWS_AppFlow_Connector" + "$ref": "#/definitions/AWS_Neptune_EventSubscription" }, { - "$ref": "#/definitions/AWS_ECS_Service" + "$ref": "#/definitions/AWS_CodeCommit_Repository" }, { - "$ref": "#/definitions/AWS_Config_DeliveryChannel" + "$ref": "#/definitions/AWS_OSIS_Pipeline" }, { - "$ref": "#/definitions/AWS_CloudFormation_Stack" + "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_TrustStore" }, { - "$ref": "#/definitions/AWS_Connect_View" + "$ref": "#/definitions/AWS_IoTTwinMaker_Workspace" }, { - "$ref": "#/definitions/AWS_Omics_ReferenceStore" + "$ref": "#/definitions/AWS_Cognito_UserPoolUICustomizationAttachment" }, { - "$ref": "#/definitions/AWS_SSM_Document" + "$ref": "#/definitions/AWS_Route53RecoveryControl_SafetyRule" }, { - "$ref": "#/definitions/AWS_SSO_Application" + "$ref": "#/definitions/AWS_KMS_Key" }, { - "$ref": "#/definitions/AWS_FraudDetector_Variable" + "$ref": "#/definitions/AWS_Route53RecoveryReadiness_ReadinessCheck" }, { - "$ref": "#/definitions/AWS_AuditManager_Assessment" + "$ref": "#/definitions/AWS_AppRunner_ObservabilityConfiguration" }, { - "$ref": "#/definitions/AWS_IoTWireless_TaskDefinition" + "$ref": "#/definitions/AWS_IoT_SoftwarePackageVersion" }, { - "$ref": "#/definitions/AWS_Wisdom_AssistantAssociation" + "$ref": "#/definitions/AWS_CloudFront_PublicKey" }, { - "$ref": "#/definitions/AWS_MSK_BatchScramSecret" + "$ref": "#/definitions/AWS_AppConfig_Extension" }, { - "$ref": "#/definitions/AWS_EntityResolution_PolicyStatement" + "$ref": "#/definitions/AWS_ApiGateway_RequestValidator" }, { - "$ref": "#/definitions/AWS_Pinpoint_VoiceChannel" + "$ref": "#/definitions/AWS_GroundStation_DataflowEndpointGroup" }, { - "$ref": "#/definitions/AWS_PCAConnectorAD_Template" + "$ref": "#/definitions/AWS_AppStream_Stack" }, { - "$ref": "#/definitions/AWS_ApiGateway_RestApi" + "$ref": "#/definitions/AWS_CodeStarNotifications_NotificationRule" }, { - "$ref": "#/definitions/AWS_MediaConvert_JobTemplate" + "$ref": "#/definitions/AWS_RDS_DBProxyTargetGroup" }, { - "$ref": "#/definitions/AWS_Location_Tracker" + "$ref": "#/definitions/AWS_EC2_EnclaveCertificateIamRoleAssociation" }, { - "$ref": "#/definitions/AWS_Cognito_UserPool" + "$ref": "#/definitions/AWS_Route53RecoveryControl_RoutingControl" }, { - "$ref": "#/definitions/AWS_IoT_CACertificate" + "$ref": "#/definitions/AWS_CloudWatch_Alarm" }, { - "$ref": "#/definitions/AWS_CloudFormation_TypeActivation" + "$ref": "#/definitions/AWS_Route53_RecordSetGroup" }, { - "$ref": "#/definitions/AWS_AppConfig_Application" + "$ref": "#/definitions/AWS_IoTFleetWise_Campaign" }, { - "$ref": "#/definitions/AWS_SageMaker_InferenceComponent" + "$ref": "#/definitions/AWS_Proton_ServiceTemplate" }, { - "$ref": "#/definitions/AWS_EMR_WALWorkspace" + "$ref": "#/definitions/AWS_ApiGateway_DocumentationPart" }, { - "$ref": "#/definitions/AWS_AppSync_DataSource" + "$ref": "#/definitions/AWS_ControlTower_LandingZone" }, { - "$ref": "#/definitions/AWS_VpcLattice_ServiceNetworkVpcAssociation" + "$ref": "#/definitions/AWS_EC2_TransitGatewayRouteTablePropagation" }, { - "$ref": "#/definitions/AWS_KafkaConnect_Connector" + "$ref": "#/definitions/AWS_AppStream_ImageBuilder" }, { - "$ref": "#/definitions/AWS_Redshift_EndpointAccess" + "$ref": "#/definitions/AWS_Connect_PhoneNumber" }, { - "$ref": "#/definitions/AWS_AppMesh_GatewayRoute" + "$ref": "#/definitions/AWS_APS_RuleGroupsNamespace" }, { - "$ref": "#/definitions/AWS_Bedrock_AgentAlias" + "$ref": "#/definitions/AWS_SageMaker_InferenceExperiment" }, { - "$ref": "#/definitions/AWS_SecurityLake_DataLake" + "$ref": "#/definitions/AWS_Transfer_Certificate" }, { - "$ref": "#/definitions/AWS_CloudFormation_HookDefaultVersion" + "$ref": "#/definitions/AWS_Deadline_QueueFleetAssociation" }, { - "$ref": "#/definitions/AWS_KinesisVideo_Stream" + "$ref": "#/definitions/AWS_NeptuneGraph_PrivateGraphEndpoint" }, { - "$ref": "#/definitions/AWS_DataZone_SubscriptionTarget" + "$ref": "#/definitions/AWS_BillingConductor_BillingGroup" }, { - "$ref": "#/definitions/AWS_ApiGateway_DomainName" + "$ref": "#/definitions/AWS_ApiGateway_Method" }, { - "$ref": "#/definitions/AWS_GuardDuty_Master" + "$ref": "#/definitions/AWS_LakeFormation_Tag" }, { - "$ref": "#/definitions/AWS_MSK_ClusterPolicy" + "$ref": "#/definitions/AWS_Pinpoint_APNSSandboxChannel" }, { - "$ref": "#/definitions/AWS_CodeArtifact_PackageGroup" + "$ref": "#/definitions/AWS_NetworkManager_VpcAttachment" }, { - "$ref": "#/definitions/AWS_EC2_TrafficMirrorFilter" + "$ref": "#/definitions/AWS_EMR_Studio" }, { - "$ref": "#/definitions/AWS_Connect_InstanceStorageConfig" + "$ref": "#/definitions/AWS_EC2_VPNGatewayRoutePropagation" }, { - "$ref": "#/definitions/AWS_Cloud9_EnvironmentEC2" + "$ref": "#/definitions/AWS_WorkSpacesWeb_DataProtectionSettings" }, { - "$ref": "#/definitions/AWS_Amplify_Branch" + "$ref": "#/definitions/AWS_AppFlow_Connector" }, { - "$ref": "#/definitions/AWS_ECR_PublicRepository" + "$ref": "#/definitions/AWS_ConnectCampaigns_Campaign" }, { - "$ref": "#/definitions/AWS_NimbleStudio_StreamingImage" + "$ref": "#/definitions/AWS_CodeStarConnections_Connection" }, { - "$ref": "#/definitions/AWS_Organizations_Account" + "$ref": "#/definitions/AWS_RDS_DBSecurityGroupIngress" }, { - "$ref": "#/definitions/AWS_Pinpoint_InAppTemplate" + "$ref": "#/definitions/AWS_Omics_SequenceStore" }, { - "$ref": "#/definitions/AWS_IoT1Click_Device" + "$ref": "#/definitions/AWS_Glue_SecurityConfiguration" }, { - "$ref": "#/definitions/AWS_EC2_IPAMAllocation" + "$ref": "#/definitions/AWS_Synthetics_Group" }, { - "$ref": "#/definitions/AWS_AppMesh_VirtualRouter" + "$ref": "#/definitions/AWS_IoT_Policy" }, { - "$ref": "#/definitions/AWS_OpenSearchServerless_VpcEndpoint" + "$ref": "#/definitions/AWS_WAFRegional_WebACL" }, { - "$ref": "#/definitions/AWS_DynamoDB_Table" + "$ref": "#/definitions/AWS_EMR_Step" }, { - "$ref": "#/definitions/AWS_IoT_Dimension" + "$ref": "#/definitions/AWS_EC2_EIP" }, { - "$ref": "#/definitions/AWS_EntityResolution_IdMappingWorkflow" + "$ref": "#/definitions/AWS_IoT_Command" }, { - "$ref": "#/definitions/AWS_RoboMaker_Fleet" + "$ref": "#/definitions/AWS_DMS_ReplicationConfig" }, { - "$ref": "#/definitions/AWS_IoTTwinMaker_ComponentType" + "$ref": "#/definitions/AWS_IoTSiteWise_Gateway" }, { - "$ref": "#/definitions/AWS_IoT_ProvisioningTemplate" + "$ref": "#/definitions/AWS_EC2_NetworkAclEntry" }, { - "$ref": "#/definitions/AWS_SecurityHub_AutomationRule" + "$ref": "#/definitions/AWS_AmplifyUIBuilder_Form" }, { - "$ref": "#/definitions/AWS_NeptuneGraph_PrivateGraphEndpoint" + "$ref": "#/definitions/AWS_ControlTower_EnabledControl" }, { - "$ref": "#/definitions/AWS_QuickSight_Analysis" + "$ref": "#/definitions/AWS_AppStream_Fleet" }, { - "$ref": "#/definitions/AWS_IoT1Click_Placement" + "$ref": "#/definitions/AWS_Cognito_UserPoolRiskConfigurationAttachment" }, { - "$ref": "#/definitions/AWS_EC2_VPCEndpointService" + "$ref": "#/definitions/AWS_CleanRoomsML_TrainingDataset" }, { - "$ref": "#/definitions/AWS_Bedrock_Prompt" + "$ref": "#/definitions/AWS_IoTFleetHub_Application" }, { - "$ref": "#/definitions/AWS_SageMaker_StudioLifecycleConfig" + "$ref": "#/definitions/AWS_NimbleStudio_LaunchProfile" }, { - "$ref": "#/definitions/AWS_ApplicationInsights_Application" + "$ref": "#/definitions/AWS_Logs_LogAnomalyDetector" }, { - "$ref": "#/definitions/AWS_WAFv2_RuleGroup" + "$ref": "#/definitions/AWS_IoT_PolicyPrincipalAttachment" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_IntegrationResponse" + "$ref": "#/definitions/AWS_CleanRooms_AnalysisTemplate" }, { - "$ref": "#/definitions/AWS_AppStream_AppBlock" + "$ref": "#/definitions/AWS_PCAConnectorAD_DirectoryRegistration" }, { - "$ref": "#/definitions/AWS_SSM_MaintenanceWindowTarget" + "$ref": "#/definitions/AWS_Wisdom_MessageTemplate" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancing_LoadBalancer" + "$ref": "#/definitions/AWS_Logs_LogGroup" }, { - "$ref": "#/definitions/AWS_SSO_Assignment" + "$ref": "#/definitions/AWS_WAFRegional_Rule" }, { - "$ref": "#/definitions/AWS_VpcLattice_ServiceNetworkServiceAssociation" + "$ref": "#/definitions/AWS_Wisdom_AIGuardrailVersion" }, { - "$ref": "#/definitions/AWS_ApiGateway_Resource" + "$ref": "#/definitions/AWS_Evidently_Project" }, { - "$ref": "#/definitions/AWS_CodePipeline_Pipeline" + "$ref": "#/definitions/AWS_ApiGateway_DomainNameV2" }, { - "$ref": "#/definitions/AWS_DataSync_LocationFSxWindows" + "$ref": "#/definitions/AWS_ServiceCatalog_PortfolioShare" }, { - "$ref": "#/definitions/AWS_Redshift_ClusterParameterGroup" + "$ref": "#/definitions/AWS_WAFRegional_SizeConstraintSet" }, { - "$ref": "#/definitions/AWS_SES_VdmAttributes" + "$ref": "#/definitions/AWS_B2BI_Transformer" }, { - "$ref": "#/definitions/AWS_PCAConnectorAD_TemplateGroupAccessControlEntry" + "$ref": "#/definitions/AWS_SES_MailManagerIngressPoint" }, { - "$ref": "#/definitions/AWS_IVS_RecordingConfiguration" + "$ref": "#/definitions/AWS_DMS_ReplicationSubnetGroup" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_VpcLink" + "$ref": "#/definitions/AWS_S3_Bucket" }, { - "$ref": "#/definitions/AWS_AppRunner_ObservabilityConfiguration" + "$ref": "#/definitions/AWS_Connect_Rule" }, { - "$ref": "#/definitions/AWS_AppConfig_HostedConfigurationVersion" + "$ref": "#/definitions/AWS_Lambda_Alias" }, { - "$ref": "#/definitions/AWS_CloudFormation_WaitCondition" + "$ref": "#/definitions/AWS_SecurityHub_FindingAggregator" }, { - "$ref": "#/definitions/AWS_EC2_VPNGateway" + "$ref": "#/definitions/AWS_EC2_GatewayRouteTableAssociation" }, { - "$ref": "#/definitions/AWS_RoboMaker_Robot" + "$ref": "#/definitions/AWS_CloudFront_Function" }, { - "$ref": "#/definitions/AWS_DAX_SubnetGroup" + "$ref": "#/definitions/AWS_Panorama_Package" }, { - "$ref": "#/definitions/AWS_M2_Environment" + "$ref": "#/definitions/AWS_ResilienceHub_ResiliencyPolicy" }, { - "$ref": "#/definitions/AWS_ElastiCache_GlobalReplicationGroup" + "$ref": "#/definitions/AWS_MediaTailor_SourceLocation" }, { - "$ref": "#/definitions/AWS_GameLift_Fleet" + "$ref": "#/definitions/AWS_S3_AccessGrantsInstance" }, { - "$ref": "#/definitions/AWS_Redshift_EndpointAuthorization" + "$ref": "#/definitions/AWS_RDS_DBProxyEndpoint" }, { - "$ref": "#/definitions/AWS_WAFRegional_WebACL" + "$ref": "#/definitions/AWS_EC2_NatGateway" }, { - "$ref": "#/definitions/AWS_NetworkManager_TransitGatewayPeering" + "$ref": "#/definitions/AWS_S3_MultiRegionAccessPointPolicy" }, { - "$ref": "#/definitions/AWS_Lambda_CodeSigningConfig" + "$ref": "#/definitions/AWS_ServiceCatalog_ResourceUpdateConstraint" }, { - "$ref": "#/definitions/AWS_Athena_CapacityReservation" + "$ref": "#/definitions/AWS_ApiGatewayV2_Route" }, { - "$ref": "#/definitions/AWS_Glue_UsageProfile" + "$ref": "#/definitions/AWS_Lightsail_StaticIp" }, { - "$ref": "#/definitions/AWS_ApiGateway_UsagePlan" + "$ref": "#/definitions/AWS_WAFv2_RuleGroup" }, { - "$ref": "#/definitions/AWS_GlobalAccelerator_CrossAccountAttachment" + "$ref": "#/definitions/AWS_EC2_SubnetCidrBlock" }, { - "$ref": "#/definitions/AWS_Config_AggregationAuthorization" + "$ref": "#/definitions/AWS_CleanRooms_PrivacyBudgetTemplate" }, { - "$ref": "#/definitions/AWS_Connect_Instance" + "$ref": "#/definitions/AWS_BillingConductor_CustomLineItem" }, { - "$ref": "#/definitions/AWS_MediaLive_EventBridgeRuleTemplateGroup" + "$ref": "#/definitions/AWS_Wisdom_MessageTemplateVersion" }, { - "$ref": "#/definitions/AWS_Connect_HoursOfOperation" + "$ref": "#/definitions/AWS_DataSync_LocationObjectStorage" }, { - "$ref": "#/definitions/AWS_MediaPackage_PackagingConfiguration" + "$ref": "#/definitions/AWS_SSM_Association" }, { - "$ref": "#/definitions/AWS_CodeStarConnections_SyncConfiguration" + "$ref": "#/definitions/AWS_IoT_Authorizer" }, { - "$ref": "#/definitions/AWS_Grafana_Workspace" + "$ref": "#/definitions/AWS_WAF_XssMatchSet" }, { - "$ref": "#/definitions/AWS_InspectorV2_CisScanConfiguration" + "$ref": "#/definitions/AWS_AppMesh_Mesh" }, { - "$ref": "#/definitions/AWS_ARCZonalShift_AutoshiftObserverNotificationStatus" + "$ref": "#/definitions/AWS_VpcLattice_Listener" }, { - "$ref": "#/definitions/AWS_CleanRooms_Membership" + "$ref": "#/definitions/AWS_ECS_Service" }, { - "$ref": "#/definitions/AWS_EC2_TrafficMirrorTarget" + "$ref": "#/definitions/AWS_AppSync_GraphQLApi" }, { - "$ref": "#/definitions/AWS_AppConfig_Deployment" + "$ref": "#/definitions/AWS_CloudTrail_Trail" }, { - "$ref": "#/definitions/AWS_EC2_SecurityGroupEgress" + "$ref": "#/definitions/AWS_SecurityHub_AutomationRule" }, { - "$ref": "#/definitions/AWS_EC2_Subnet" + "$ref": "#/definitions/AWS_EC2_LaunchTemplate" }, { - "$ref": "#/definitions/AWS_EC2_IPAMPoolCidr" + "$ref": "#/definitions/AWS_GreengrassV2_Deployment" }, { - "$ref": "#/definitions/AWS_XRay_Group" + "$ref": "#/definitions/AWS_Logs_MetricFilter" }, { - "$ref": "#/definitions/AWS_AppStream_Fleet" + "$ref": "#/definitions/AWS_MediaLive_Multiplexprogram" }, { - "$ref": "#/definitions/AWS_EC2_NetworkPerformanceMetricSubscription" + "$ref": "#/definitions/AWS_IoTSiteWise_AssetModel" }, { - "$ref": "#/definitions/AWS_WAFv2_WebACLAssociation" + "$ref": "#/definitions/AWS_EMRServerless_Application" }, { - "$ref": "#/definitions/AWS_DMS_ReplicationSubnetGroup" + "$ref": "#/definitions/AWS_CodeArtifact_Domain" }, { - "$ref": "#/definitions/AWS_Pinpoint_Campaign" + "$ref": "#/definitions/AWS_OpsWorks_Layer" }, { - "$ref": "#/definitions/AWS_VpcLattice_TargetGroup" + "$ref": "#/definitions/AWS_Connect_QuickConnect" }, { - "$ref": "#/definitions/AWS_Glue_TableOptimizer" + "$ref": "#/definitions/AWS_CloudFormation_Macro" }, { - "$ref": "#/definitions/AWS_Omics_RunGroup" + "$ref": "#/definitions/AWS_EC2_TransitGatewayVpcAttachment" }, { - "$ref": "#/definitions/AWS_IoT_Thing" + "$ref": "#/definitions/AWS_EntityResolution_PolicyStatement" }, { - "$ref": "#/definitions/AWS_AppStream_ImageBuilder" + "$ref": "#/definitions/AWS_DataZone_DataSource" }, { - "$ref": "#/definitions/AWS_SES_MailManagerArchive" + "$ref": "#/definitions/AWS_Lightsail_Database" }, { - "$ref": "#/definitions/AWS_CloudTrail_EventDataStore" + "$ref": "#/definitions/AWS_MediaLive_Cluster" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayVpcAttachment" + "$ref": "#/definitions/AWS_GameLift_GameSessionQueue" }, { - "$ref": "#/definitions/AWS_RedshiftServerless_Namespace" + "$ref": "#/definitions/AWS_Route53RecoveryReadiness_ResourceSet" }, { - "$ref": "#/definitions/AWS_IoTWireless_WirelessDeviceImportTask" + "$ref": "#/definitions/AWS_CustomerProfiles_EventStream" }, { - "$ref": "#/definitions/AWS_QLDB_Stream" + "$ref": "#/definitions/AWS_IAM_Role" }, { - "$ref": "#/definitions/AWS_EC2_VPCCidrBlock" + "$ref": "#/definitions/AWS_Deadline_Farm" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_TrustStore" + "$ref": "#/definitions/AWS_EC2_TransitGatewayRouteTable" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastGroupMember" + "$ref": "#/definitions/AWS_KinesisVideo_Stream" }, { - "$ref": "#/definitions/AWS_NetworkManager_Device" + "$ref": "#/definitions/AWS_AppIntegrations_Application" }, { - "$ref": "#/definitions/AWS_ApiGateway_VpcLink" + "$ref": "#/definitions/AWS_RolesAnywhere_TrustAnchor" }, { - "$ref": "#/definitions/AWS_EC2_EC2Fleet" + "$ref": "#/definitions/AWS_MediaPackageV2_ChannelPolicy" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_ListenerCertificate" + "$ref": "#/definitions/AWS_IAM_Group" }, { - "$ref": "#/definitions/AWS_Glue_DevEndpoint" + "$ref": "#/definitions/AWS_Greengrass_CoreDefinition" }, { - "$ref": "#/definitions/AWS_PCAConnectorSCEP_Connector" + "$ref": "#/definitions/AWS_WAFv2_RegexPatternSet" }, { - "$ref": "#/definitions/AWS_IoTWireless_DeviceProfile" + "$ref": "#/definitions/AWS_Organizations_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_IAM_Policy" + "$ref": "#/definitions/AWS_Route53Resolver_ResolverRule" }, { - "$ref": "#/definitions/AWS_CodeBuild_SourceCredential" + "$ref": "#/definitions/AWS_EC2_NetworkInsightsAccessScope" }, { - "$ref": "#/definitions/AWS_CloudWatch_CompositeAlarm" + "$ref": "#/definitions/AWS_IVS_PublicKey" }, { - "$ref": "#/definitions/AWS_S3_MultiRegionAccessPointPolicy" + "$ref": "#/definitions/AWS_ControlTower_EnabledBaseline" }, { - "$ref": "#/definitions/AWS_Evidently_Launch" + "$ref": "#/definitions/AWS_SSMContacts_Plan" }, { - "$ref": "#/definitions/AWS_IAM_UserToGroupAddition" + "$ref": "#/definitions/AWS_FSx_StorageVirtualMachine" }, { - "$ref": "#/definitions/AWS_QuickSight_Dashboard" + "$ref": "#/definitions/AWS_Bedrock_ApplicationInferenceProfile" }, { - "$ref": "#/definitions/AWS_SageMaker_Cluster" + "$ref": "#/definitions/AWS_Transfer_Server" }, { - "$ref": "#/definitions/AWS_RDS_EventSubscription" + "$ref": "#/definitions/AWS_DataZone_Project" }, { - "$ref": "#/definitions/AWS_EC2_Volume" + "$ref": "#/definitions/AWS_SSM_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_EC2_VerifiedAccessGroup" + "$ref": "#/definitions/AWS_OpenSearchServerless_AccessPolicy" }, { - "$ref": "#/definitions/AWS_CloudFront_KeyGroup" + "$ref": "#/definitions/AWS_IoTWireless_NetworkAnalyzerConfiguration" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_TargetGroup" + "$ref": "#/definitions/AWS_NimbleStudio_Studio" }, { - "$ref": "#/definitions/AWS_IAM_SAMLProvider" + "$ref": "#/definitions/AWS_CodeBuild_ReportGroup" }, { - "$ref": "#/definitions/AWS_CloudFront_MonitoringSubscription" + "$ref": "#/definitions/AWS_Backup_BackupVault" }, { - "$ref": "#/definitions/AWS_RDS_CustomDBEngineVersion" + "$ref": "#/definitions/AWS_EntityResolution_IdNamespace" }, { - "$ref": "#/definitions/AWS_Greengrass_SubscriptionDefinitionVersion" + "$ref": "#/definitions/AWS_MediaTailor_VodSource" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_Api" + "$ref": "#/definitions/AWS_VerifiedPermissions_PolicyTemplate" }, { - "$ref": "#/definitions/AWS_Route53Resolver_ResolverDNSSECConfig" + "$ref": "#/definitions/AWS_IoT_FleetMetric" }, { - "$ref": "#/definitions/AWS_PinpointEmail_Identity" + "$ref": "#/definitions/AWS_Config_ConfigRule" }, { - "$ref": "#/definitions/AWS_CodePipeline_CustomActionType" + "$ref": "#/definitions/AWS_ImageBuilder_ImagePipeline" }, { - "$ref": "#/definitions/AWS_ApiGateway_BasePathMapping" + "$ref": "#/definitions/AWS_VpcLattice_ServiceNetwork" }, { - "$ref": "#/definitions/AWS_SSM_PatchBaseline" + "$ref": "#/definitions/AWS_Athena_DataCatalog" }, { - "$ref": "#/definitions/AWS_Connect_Prompt" + "$ref": "#/definitions/AWS_EC2_SecurityGroupVpcAssociation" }, { - "$ref": "#/definitions/AWS_CloudFormation_CustomResource" + "$ref": "#/definitions/AWS_IoTWireless_DeviceProfile" }, { - "$ref": "#/definitions/AWS_EMR_InstanceGroupConfig" + "$ref": "#/definitions/AWS_EC2_VPNConnectionRoute" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_TrustStoreRevocation" + "$ref": "#/definitions/AWS_Route53_RecordSet" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_TrustStore" + "$ref": "#/definitions/AWS_Route53Profiles_Profile" }, { - "$ref": "#/definitions/AWS_Greengrass_GroupVersion" + "$ref": "#/definitions/AWS_Location_Tracker" }, { - "$ref": "#/definitions/AWS_MediaPackageV2_OriginEndpointPolicy" + "$ref": "#/definitions/AWS_WAFRegional_RegexPatternSet" }, { - "$ref": "#/definitions/AWS_CodeGuruProfiler_ProfilingGroup" + "$ref": "#/definitions/AWS_IoT_ThingPrincipalAttachment" }, { - "$ref": "#/definitions/AWS_ElasticBeanstalk_Environment" + "$ref": "#/definitions/AWS_ApiGatewayV2_Integration" }, { - "$ref": "#/definitions/AWS_KinesisFirehose_DeliveryStream" + "$ref": "#/definitions/AWS_Athena_PreparedStatement" }, { - "$ref": "#/definitions/AWS_Greengrass_CoreDefinition" + "$ref": "#/definitions/AWS_DevOpsGuru_NotificationChannel" }, { - "$ref": "#/definitions/AWS_NetworkManager_GlobalNetwork" + "$ref": "#/definitions/AWS_MediaLive_SignalMap" }, { - "$ref": "#/definitions/AWS_QuickSight_Topic" + "$ref": "#/definitions/AWS_Glue_TableOptimizer" }, { - "$ref": "#/definitions/AWS_Route53Resolver_ResolverEndpoint" + "$ref": "#/definitions/AWS_IoTThingsGraph_FlowTemplate" }, { - "$ref": "#/definitions/AWS_KinesisVideo_SignalingChannel" + "$ref": "#/definitions/AWS_Kendra_DataSource" }, { - "$ref": "#/definitions/AWS_IAM_ServerCertificate" + "$ref": "#/definitions/AWS_SSM_PatchBaseline" }, { - "$ref": "#/definitions/AWS_SES_ReceiptRule" + "$ref": "#/definitions/AWS_AppStream_Application" }, { - "$ref": "#/definitions/AWS_Comprehend_Flywheel" + "$ref": "#/definitions/AWS_FSx_Volume" }, { - "$ref": "#/definitions/AWS_OpsWorks_Instance" + "$ref": "#/definitions/AWS_Route53RecoveryReadiness_Cell" }, { - "$ref": "#/definitions/AWS_StepFunctions_StateMachine" + "$ref": "#/definitions/AWS_MediaLive_InputSecurityGroup" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_ServiceAction" + "$ref": "#/definitions/AWS_IoTSiteWise_Portal" }, { - "$ref": "#/definitions/AWS_LicenseManager_Grant" + "$ref": "#/definitions/AWS_Inspector_AssessmentTemplate" }, { - "$ref": "#/definitions/AWS_MemoryDB_Cluster" + "$ref": "#/definitions/AWS_SageMaker_Workteam" }, { - "$ref": "#/definitions/AWS_SageMaker_Model" + "$ref": "#/definitions/AWS_SSO_PermissionSet" }, { - "$ref": "#/definitions/AWS_Transfer_Workflow" + "$ref": "#/definitions/AWS_AppStream_Entitlement" }, { - "$ref": "#/definitions/AWS_DirectoryService_MicrosoftAD" + "$ref": "#/definitions/AWS_GuardDuty_Detector" }, { - "$ref": "#/definitions/AWS_MediaConnect_FlowSource" + "$ref": "#/definitions/AWS_ApiGateway_ClientCertificate" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolResourceServer" + "$ref": "#/definitions/AWS_EC2_IPAMAllocation" }, { - "$ref": "#/definitions/AWS_Cassandra_Keyspace" + "$ref": "#/definitions/AWS_Deadline_QueueEnvironment" }, { - "$ref": "#/definitions/AWS_EC2_VerifiedAccessTrustProvider" + "$ref": "#/definitions/AWS_Evidently_Experiment" }, { - "$ref": "#/definitions/AWS_CloudFront_Function" + "$ref": "#/definitions/AWS_Config_ConfigurationRecorder" }, { - "$ref": "#/definitions/AWS_Cognito_LogDeliveryConfiguration" + "$ref": "#/definitions/AWS_EC2_NetworkInterface" }, { - "$ref": "#/definitions/AWS_Route53RecoveryReadiness_ResourceSet" + "$ref": "#/definitions/AWS_SecurityHub_SecurityControl" }, { - "$ref": "#/definitions/AWS_S3Express_BucketPolicy" + "$ref": "#/definitions/AWS_Backup_BackupPlan" }, { - "$ref": "#/definitions/AWS_CloudTrail_ResourcePolicy" + "$ref": "#/definitions/AWS_RoboMaker_RobotApplication" }, { - "$ref": "#/definitions/AWS_RedshiftServerless_Workgroup" + "$ref": "#/definitions/AWS_SES_MailManagerTrafficPolicy" }, { - "$ref": "#/definitions/AWS_VerifiedPermissions_Policy" + "$ref": "#/definitions/AWS_PCAConnectorAD_ServicePrincipalName" }, { - "$ref": "#/definitions/AWS_IoTAnalytics_Channel" + "$ref": "#/definitions/AWS_KafkaConnect_CustomPlugin" }, { - "$ref": "#/definitions/AWS_CloudFormation_Macro" + "$ref": "#/definitions/AWS_MSK_Cluster" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_ResourceUpdateConstraint" + "$ref": "#/definitions/AWS_Bedrock_KnowledgeBase" }, { - "$ref": "#/definitions/AWS_DirectoryService_SimpleAD" + "$ref": "#/definitions/AWS_IoTWireless_TaskDefinition" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_IdentityProvider" + "$ref": "#/definitions/AWS_CodePipeline_Webhook" }, { - "$ref": "#/definitions/AWS_Lightsail_StaticIp" + "$ref": "#/definitions/AWS_EC2_LocalGatewayRoute" }, { - "$ref": "#/definitions/AWS_EC2_EnclaveCertificateIamRoleAssociation" + "$ref": "#/definitions/AWS_EC2_Host" }, { - "$ref": "#/definitions/AWS_QuickSight_Folder" + "$ref": "#/definitions/AWS_Neptune_DBClusterParameterGroup" }, { - "$ref": "#/definitions/AWS_EC2_VolumeAttachment" + "$ref": "#/definitions/AWS_Deadline_StorageProfile" }, { - "$ref": "#/definitions/AWS_EC2_SubnetNetworkAclAssociation" + "$ref": "#/definitions/AWS_OpsWorks_UserProfile" }, { - "$ref": "#/definitions/AWS_S3_MultiRegionAccessPoint" + "$ref": "#/definitions/AWS_LookoutVision_Project" }, { - "$ref": "#/definitions/AWS_Connect_UserHierarchyGroup" + "$ref": "#/definitions/AWS_Proton_EnvironmentAccountConnection" }, { - "$ref": "#/definitions/AWS_Route53Resolver_FirewallDomainList" + "$ref": "#/definitions/AWS_KinesisAnalytics_ApplicationOutput" }, { - "$ref": "#/definitions/AWS_RoboMaker_RobotApplicationVersion" + "$ref": "#/definitions/AWS_PinpointEmail_ConfigurationSet" }, { - "$ref": "#/definitions/AWS_EC2_IPAMResourceDiscovery" + "$ref": "#/definitions/AWS_Connect_ContactFlowModule" }, { - "$ref": "#/definitions/AWS_Evidently_Feature" + "$ref": "#/definitions/AWS_SSMIncidents_ReplicationSet" }, { - "$ref": "#/definitions/AWS_Lambda_Url" + "$ref": "#/definitions/AWS_Config_ConfigurationAggregator" }, { - "$ref": "#/definitions/AWS_Glue_DataCatalogEncryptionSettings" + "$ref": "#/definitions/AWS_RDS_CustomDBEngineVersion" }, { - "$ref": "#/definitions/AWS_APS_Workspace" + "$ref": "#/definitions/AWS_EC2_IPAMScope" }, { - "$ref": "#/definitions/AWS_LaunchWizard_Deployment" + "$ref": "#/definitions/AWS_AutoScaling_LaunchConfiguration" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_ApiGatewayManagedOverrides" + "$ref": "#/definitions/AWS_CloudWatch_Dashboard" }, { - "$ref": "#/definitions/AWS_WorkSpaces_Workspace" + "$ref": "#/definitions/AWS_EC2_VPCDHCPOptionsAssociation" }, { - "$ref": "#/definitions/AWS_RefactorSpaces_Application" + "$ref": "#/definitions/AWS_CloudFormation_HookDefaultVersion" }, { - "$ref": "#/definitions/AWS_CloudTrail_Trail" + "$ref": "#/definitions/AWS_Amplify_Domain" }, { - "$ref": "#/definitions/AWS_WAFRegional_WebACLAssociation" + "$ref": "#/definitions/AWS_ApiGateway_ApiKey" }, { - "$ref": "#/definitions/AWS_Route53Resolver_FirewallRuleGroupAssociation" + "$ref": "#/definitions/AWS_CloudWatch_InsightRule" }, { - "$ref": "#/definitions/AWS_EC2_VPCEndpointServicePermissions" + "$ref": "#/definitions/AWS_RAM_Permission" }, { - "$ref": "#/definitions/AWS_IoTEvents_DetectorModel" + "$ref": "#/definitions/AWS_CloudFront_MonitoringSubscription" }, { - "$ref": "#/definitions/AWS_Location_RouteCalculator" + "$ref": "#/definitions/AWS_Chatbot_MicrosoftTeamsChannelConfiguration" }, { - "$ref": "#/definitions/AWS_QLDB_Ledger" + "$ref": "#/definitions/AWS_Lightsail_Container" }, { - "$ref": "#/definitions/AWS_SageMaker_MlflowTrackingServer" + "$ref": "#/definitions/AWS_IVS_EncoderConfiguration" }, { - "$ref": "#/definitions/AWS_DataZone_ProjectMembership" + "$ref": "#/definitions/AWS_CodeDeploy_DeploymentConfig" }, { - "$ref": "#/definitions/AWS_SageMaker_CodeRepository" + "$ref": "#/definitions/AWS_NetworkManager_SiteToSiteVpnAttachment" }, { - "$ref": "#/definitions/AWS_PaymentCryptography_Alias" + "$ref": "#/definitions/AWS_AppConfig_ExtensionAssociation" }, { - "$ref": "#/definitions/AWS_GameLift_Alias" + "$ref": "#/definitions/AWS_BillingConductor_PricingRule" }, { - "$ref": "#/definitions/AWS_RoboMaker_SimulationApplication" + "$ref": "#/definitions/AWS_ImageBuilder_LifecyclePolicy" }, { - "$ref": "#/definitions/AWS_AppIntegrations_Application" + "$ref": "#/definitions/AWS_B2BI_Profile" }, { - "$ref": "#/definitions/AWS_EC2_NetworkInsightsPath" + "$ref": "#/definitions/AWS_PCAConnectorSCEP_Challenge" }, { - "$ref": "#/definitions/AWS_APS_RuleGroupsNamespace" + "$ref": "#/definitions/AWS_EKS_FargateProfile" }, { - "$ref": "#/definitions/AWS_IVS_Stage" + "$ref": "#/definitions/AWS_Neptune_DBParameterGroup" }, { - "$ref": "#/definitions/AWS_MediaPackageV2_Channel" + "$ref": "#/definitions/AWS_Lambda_LayerVersionPermission" }, { - "$ref": "#/definitions/AWS_Lightsail_Alarm" + "$ref": "#/definitions/AWS_IoT_Dimension" }, { - "$ref": "#/definitions/AWS_Logs_QueryDefinition" + "$ref": "#/definitions/AWS_SageMaker_Cluster" }, { - "$ref": "#/definitions/AWS_Pipes_Pipe" + "$ref": "#/definitions/AWS_APS_Scraper" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_Authorizer" + "$ref": "#/definitions/AWS_CloudTrail_Channel" }, { - "$ref": "#/definitions/AWS_QBusiness_DataSource" + "$ref": "#/definitions/AWS_Cassandra_Keyspace" }, { - "$ref": "#/definitions/AWS_Lambda_Permission" + "$ref": "#/definitions/AWS_Transfer_Profile" }, { - "$ref": "#/definitions/AWS_LakeFormation_Tag" + "$ref": "#/definitions/AWS_DataBrew_Schedule" }, { - "$ref": "#/definitions/AWS_Proton_EnvironmentAccountConnection" + "$ref": "#/definitions/AWS_Connect_InstanceStorageConfig" }, { - "$ref": "#/definitions/AWS_ElastiCache_User" + "$ref": "#/definitions/AWS_QuickSight_Theme" }, { - "$ref": "#/definitions/AWS_MediaConvert_Preset" + "$ref": "#/definitions/AWS_Comprehend_Flywheel" }, { - "$ref": "#/definitions/AWS_AppMesh_Route" + "$ref": "#/definitions/AWS_VpcLattice_AuthPolicy" }, { - "$ref": "#/definitions/AWS_ApiGateway_RequestValidator" + "$ref": "#/definitions/AWS_LakeFormation_DataCellsFilter" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_TagOptionAssociation" + "$ref": "#/definitions/AWS_EC2_IPAM" }, { - "$ref": "#/definitions/AWS_RDS_DBProxy" + "$ref": "#/definitions/AWS_BackupGateway_Hypervisor" }, { - "$ref": "#/definitions/AWS_Route53_RecordSet" + "$ref": "#/definitions/AWS_RDS_Integration" }, { - "$ref": "#/definitions/AWS_VerifiedPermissions_IdentitySource" + "$ref": "#/definitions/AWS_SES_MailManagerArchive" }, { - "$ref": "#/definitions/AWS_Wisdom_Assistant" + "$ref": "#/definitions/AWS_DataZone_GroupProfile" }, { - "$ref": "#/definitions/AWS_Config_ConfigurationAggregator" + "$ref": "#/definitions/AWS_SecurityLake_Subscriber" }, { - "$ref": "#/definitions/AWS_ResilienceHub_ResiliencyPolicy" + "$ref": "#/definitions/AWS_Evidently_Launch" }, { - "$ref": "#/definitions/AWS_MSK_Cluster" + "$ref": "#/definitions/AWS_IoTFleetWise_ModelManifest" }, { - "$ref": "#/definitions/AWS_MediaTailor_Channel" + "$ref": "#/definitions/AWS_Cognito_IdentityPool" }, { - "$ref": "#/definitions/AWS_IoTTwinMaker_SyncJob" + "$ref": "#/definitions/AWS_Macie_AllowList" }, { - "$ref": "#/definitions/AWS_Connect_User" + "$ref": "#/definitions/AWS_RoboMaker_Fleet" }, { - "$ref": "#/definitions/AWS_SageMaker_AppImageConfig" + "$ref": "#/definitions/AWS_GuardDuty_Master" }, { - "$ref": "#/definitions/AWS_ECS_PrimaryTaskSet" + "$ref": "#/definitions/AWS_EC2_SubnetNetworkAclAssociation" }, { - "$ref": "#/definitions/AWS_EC2_NetworkAcl" + "$ref": "#/definitions/AWS_CloudFront_AnycastIpList" }, { - "$ref": "#/definitions/AWS_B2BI_Capability" + "$ref": "#/definitions/AWS_KinesisAnalyticsV2_ApplicationReferenceDataSource" }, { - "$ref": "#/definitions/AWS_Bedrock_Agent" + "$ref": "#/definitions/AWS_SecurityHub_Standard" }, { - "$ref": "#/definitions/AWS_SecretsManager_SecretTargetAttachment" + "$ref": "#/definitions/AWS_EC2_PrefixList" }, { - "$ref": "#/definitions/AWS_BCMDataExports_Export" + "$ref": "#/definitions/AWS_GameLift_ContainerGroupDefinition" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayRouteTablePropagation" + "$ref": "#/definitions/AWS_RefactorSpaces_Route" }, { - "$ref": "#/definitions/AWS_SageMaker_ImageVersion" + "$ref": "#/definitions/AWS_Macie_Session" }, { - "$ref": "#/definitions/AWS_APS_Scraper" + "$ref": "#/definitions/AWS_StepFunctions_StateMachineVersion" }, { - "$ref": "#/definitions/AWS_LookoutMetrics_AnomalyDetector" + "$ref": "#/definitions/AWS_SecurityLake_SubscriberNotification" }, { - "$ref": "#/definitions/AWS_ManagedBlockchain_Member" + "$ref": "#/definitions/AWS_PCAConnectorSCEP_Connector" }, { - "$ref": "#/definitions/AWS_Greengrass_CoreDefinitionVersion" + "$ref": "#/definitions/AWS_LookoutMetrics_AnomalyDetector" }, { - "$ref": "#/definitions/AWS_GameLift_MatchmakingRuleSet" + "$ref": "#/definitions/AWS_Config_OrganizationConfigRule" }, { - "$ref": "#/definitions/AWS_Greengrass_FunctionDefinition" + "$ref": "#/definitions/AWS_CloudFormation_Publisher" }, { - "$ref": "#/definitions/AWS_DMS_EventSubscription" + "$ref": "#/definitions/AWS_SecretsManager_SecretTargetAttachment" }, { - "$ref": "#/definitions/AWS_Greengrass_ResourceDefinition" + "$ref": "#/definitions/AWS_DynamoDB_GlobalTable" }, { - "$ref": "#/definitions/AWS_ElastiCache_ParameterGroup" + "$ref": "#/definitions/AWS_IoT_ResourceSpecificLogging" }, { - "$ref": "#/definitions/AWS_CleanRooms_IdNamespaceAssociation" + "$ref": "#/definitions/AWS_WAFRegional_SqlInjectionMatchSet" }, { - "$ref": "#/definitions/AWS_ImageBuilder_Workflow" + "$ref": "#/definitions/AWS_EC2_VerifiedAccessGroup" }, { - "$ref": "#/definitions/AWS_Greengrass_Group" + "$ref": "#/definitions/AWS_DataBrew_Recipe" }, { - "$ref": "#/definitions/AWS_WAFv2_WebACL" + "$ref": "#/definitions/AWS_CustomerProfiles_SegmentDefinition" }, { - "$ref": "#/definitions/AWS_SES_MailManagerTrafficPolicy" + "$ref": "#/definitions/AWS_DataSync_LocationSMB" }, { - "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_AttributeGroupAssociation" + "$ref": "#/definitions/AWS_ServiceDiscovery_HttpNamespace" }, { - "$ref": "#/definitions/AWS_EC2_NatGateway" + "$ref": "#/definitions/AWS_SSM_MaintenanceWindowTarget" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayPeeringAttachment" + "$ref": "#/definitions/AWS_SageMaker_NotebookInstanceLifecycleConfig" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_TagOption" + "$ref": "#/definitions/AWS_Greengrass_DeviceDefinition" }, { - "$ref": "#/definitions/AWS_LakeFormation_Permissions" + "$ref": "#/definitions/AWS_RDS_DBSubnetGroup" }, { - "$ref": "#/definitions/AWS_EC2_VerifiedAccessInstance" + "$ref": "#/definitions/AWS_EC2_LocalGatewayRouteTable" }, { - "$ref": "#/definitions/AWS_DMS_Certificate" + "$ref": "#/definitions/AWS_SSO_ApplicationAssignment" }, { - "$ref": "#/definitions/AWS_Neptune_DBInstance" + "$ref": "#/definitions/AWS_Location_GeofenceCollection" }, { - "$ref": "#/definitions/AWS_Backup_RestoreTestingPlan" + "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastDomainAssociation" }, { - "$ref": "#/definitions/AWS_EC2_SecurityGroup" + "$ref": "#/definitions/AWS_DocDB_DBCluster" }, { - "$ref": "#/definitions/AWS_NetworkManager_ConnectAttachment" + "$ref": "#/definitions/AWS_Bedrock_GuardrailVersion" }, { - "$ref": "#/definitions/AWS_WAFRegional_GeoMatchSet" + "$ref": "#/definitions/AWS_Kendra_Index" }, { - "$ref": "#/definitions/AWS_Lambda_LayerVersion" + "$ref": "#/definitions/AWS_NetworkManager_Device" }, { - "$ref": "#/definitions/AWS_RefactorSpaces_Route" + "$ref": "#/definitions/AWS_SageMaker_Domain" }, { - "$ref": "#/definitions/AWS_Connect_IntegrationAssociation" + "$ref": "#/definitions/AWS_Evidently_Feature" }, { - "$ref": "#/definitions/AWS_FSx_FileSystem" + "$ref": "#/definitions/AWS_S3_StorageLens" }, { - "$ref": "#/definitions/AWS_EC2_LaunchTemplate" + "$ref": "#/definitions/AWS_VpcLattice_TargetGroup" }, { - "$ref": "#/definitions/AWS_NetworkFirewall_LoggingConfiguration" + "$ref": "#/definitions/AWS_AppStream_User" }, { - "$ref": "#/definitions/AWS_ApiGateway_Method" + "$ref": "#/definitions/AWS_PCAConnectorAD_Template" }, { - "$ref": "#/definitions/AWS_RDS_DBParameterGroup" + "$ref": "#/definitions/AWS_Personalize_Dataset" }, { - "$ref": "#/definitions/AWS_CodeBuild_Project" + "$ref": "#/definitions/AWS_IAM_Policy" }, { - "$ref": "#/definitions/AWS_Events_Archive" + "$ref": "#/definitions/AWS_Wisdom_AssistantAssociation" }, { - "$ref": "#/definitions/AWS_IoTWireless_MulticastGroup" + "$ref": "#/definitions/AWS_Athena_CapacityReservation" }, { - "$ref": "#/definitions/AWS_Lambda_EventSourceMapping" + "$ref": "#/definitions/AWS_PinpointEmail_DedicatedIpPool" }, { - "$ref": "#/definitions/AWS_VpcLattice_AuthPolicy" + "$ref": "#/definitions/AWS_AppSync_DomainNameApiAssociation" }, { - "$ref": "#/definitions/AWS_DataSync_LocationEFS" + "$ref": "#/definitions/AWS_Route53Resolver_ResolverRuleAssociation" }, { - "$ref": "#/definitions/AWS_OpenSearchServerless_SecurityConfig" + "$ref": "#/definitions/AWS_AppConfig_Deployment" }, { - "$ref": "#/definitions/AWS_SSMContacts_Contact" + "$ref": "#/definitions/AWS_QBusiness_Plugin" }, { - "$ref": "#/definitions/Alexa_ASK_Skill" + "$ref": "#/definitions/AWS_EC2_SecurityGroup" }, { - "$ref": "#/definitions/AWS_IAM_RolePolicy" + "$ref": "#/definitions/AWS_VerifiedPermissions_Policy" }, { - "$ref": "#/definitions/AWS_MemoryDB_ACL" + "$ref": "#/definitions/AWS_SageMaker_DeviceFleet" }, { - "$ref": "#/definitions/AWS_AppSync_GraphQLApi" + "$ref": "#/definitions/AWS_MediaConnect_BridgeSource" }, { - "$ref": "#/definitions/AWS_IoT_Policy" + "$ref": "#/definitions/AWS_Lambda_Version" }, { - "$ref": "#/definitions/AWS_EKS_Cluster" + "$ref": "#/definitions/AWS_IAM_ServiceLinkedRole" }, { - "$ref": "#/definitions/AWS_XRay_ResourcePolicy" + "$ref": "#/definitions/AWS_IoT_RoleAlias" }, { - "$ref": "#/definitions/AWS_Backup_RestoreTestingSelection" + "$ref": "#/definitions/AWS_SecurityHub_OrganizationConfiguration" }, { - "$ref": "#/definitions/AWS_Lambda_Function" + "$ref": "#/definitions/AWS_EC2_CapacityReservation" }, { - "$ref": "#/definitions/AWS_CE_AnomalySubscription" + "$ref": "#/definitions/AWS_ServiceCatalog_Portfolio" }, { - "$ref": "#/definitions/AWS_KMS_Alias" + "$ref": "#/definitions/AWS_IoTFleetWise_StateTemplate" }, { - "$ref": "#/definitions/AWS_EC2_NetworkAclEntry" + "$ref": "#/definitions/AWS_Cognito_UserPoolResourceServer" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_RouteResponse" + "$ref": "#/definitions/AWS_DocDB_DBClusterParameterGroup" }, { - "$ref": "#/definitions/AWS_Lightsail_LoadBalancer" + "$ref": "#/definitions/AWS_StepFunctions_StateMachine" }, { - "$ref": "#/definitions/AWS_EC2_RouteTable" + "$ref": "#/definitions/AWS_PinpointEmail_ConfigurationSetEventDestination" }, { - "$ref": "#/definitions/AWS_ElastiCache_ReplicationGroup" + "$ref": "#/definitions/AWS_VoiceID_Domain" }, { - "$ref": "#/definitions/AWS_AppStream_AppBlockBuilder" + "$ref": "#/definitions/AWS_FraudDetector_List" }, { - "$ref": "#/definitions/AWS_Synthetics_Group" + "$ref": "#/definitions/AWS_M2_Deployment" }, { - "$ref": "#/definitions/AWS_S3_AccessGrantsInstance" + "$ref": "#/definitions/AWS_GlobalAccelerator_Accelerator" }, { - "$ref": "#/definitions/AWS_MediaPackage_OriginEndpoint" + "$ref": "#/definitions/AWS_Pinpoint_GCMChannel" }, { - "$ref": "#/definitions/AWS_FinSpace_Environment" + "$ref": "#/definitions/AWS_SageMaker_ModelCard" }, { - "$ref": "#/definitions/AWS_WAFv2_IPSet" + "$ref": "#/definitions/AWS_MediaLive_Multiplex" }, { - "$ref": "#/definitions/AWS_Route53_RecordSetGroup" + "$ref": "#/definitions/AWS_IoT_ProvisioningTemplate" }, { - "$ref": "#/definitions/AWS_EKS_Nodegroup" + "$ref": "#/definitions/AWS_Config_OrganizationConformancePack" }, { - "$ref": "#/definitions/AWS_AmazonMQ_Broker" + "$ref": "#/definitions/AWS_EC2_FlowLog" }, { - "$ref": "#/definitions/AWS_IAM_ServiceLinkedRole" + "$ref": "#/definitions/AWS_AutoScaling_AutoScalingGroup" }, { - "$ref": "#/definitions/AWS_DataZone_EnvironmentActions" + "$ref": "#/definitions/AWS_RAM_ResourceShare" }, { - "$ref": "#/definitions/AWS_Greengrass_ConnectorDefinition" + "$ref": "#/definitions/AWS_EC2_CustomerGateway" }, { - "$ref": "#/definitions/AWS_EC2_EgressOnlyInternetGateway" + "$ref": "#/definitions/AWS_Grafana_Workspace" }, { - "$ref": "#/definitions/AWS_EntityResolution_MatchingWorkflow" + "$ref": "#/definitions/AWS_AppMesh_GatewayRoute" }, { - "$ref": "#/definitions/AWS_LicenseManager_License" + "$ref": "#/definitions/AWS_VpcLattice_ResourceGateway" }, { - "$ref": "#/definitions/AWS_SageMaker_Space" + "$ref": "#/definitions/AWS_FraudDetector_Outcome" }, { - "$ref": "#/definitions/AWS_IoTFleetWise_DecoderManifest" + "$ref": "#/definitions/AWS_FraudDetector_Label" }, { - "$ref": "#/definitions/AWS_RDS_DBInstance" + "$ref": "#/definitions/AWS_Bedrock_PromptVersion" }, { - "$ref": "#/definitions/AWS_NetworkManager_VpcAttachment" + "$ref": "#/definitions/AWS_EC2_VPCBlockPublicAccessExclusion" }, { - "$ref": "#/definitions/AWS_Connect_ApprovedOrigin" + "$ref": "#/definitions/AWS_Cognito_UserPool" }, { - "$ref": "#/definitions/AWS_MemoryDB_ParameterGroup" + "$ref": "#/definitions/AWS_ServiceDiscovery_PrivateDnsNamespace" }, { - "$ref": "#/definitions/AWS_RoboMaker_SimulationApplicationVersion" + "$ref": "#/definitions/AWS_IoT_CACertificate" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_LaunchTemplateConstraint" + "$ref": "#/definitions/AWS_Elasticsearch_Domain" }, { - "$ref": "#/definitions/AWS_GlobalAccelerator_Accelerator" + "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_Listener" }, { - "$ref": "#/definitions/AWS_Glue_Crawler" + "$ref": "#/definitions/AWS_Bedrock_Guardrail" }, { - "$ref": "#/definitions/AWS_CodeArtifact_Domain" + "$ref": "#/definitions/AWS_IoTAnalytics_Pipeline" }, { - "$ref": "#/definitions/AWS_Glue_MLTransform" + "$ref": "#/definitions/AWS_SecurityHub_Hub" }, { - "$ref": "#/definitions/AWS_QuickSight_DataSet" + "$ref": "#/definitions/AWS_Greengrass_Group" }, { - "$ref": "#/definitions/AWS_EC2_TrafficMirrorFilterRule" + "$ref": "#/definitions/AWS_SSO_Application" }, { - "$ref": "#/definitions/AWS_Glue_Schema" + "$ref": "#/definitions/AWS_MediaTailor_LiveSource" }, { - "$ref": "#/definitions/AWS_EC2_IPAMPool" + "$ref": "#/definitions/AWS_IoTTwinMaker_Scene" }, { - "$ref": "#/definitions/AWS_NetworkManager_LinkAssociation" + "$ref": "#/definitions/AWS_Cognito_UserPoolIdentityProvider" }, { - "$ref": "#/definitions/AWS_Batch_ComputeEnvironment" + "$ref": "#/definitions/AWS_CloudFront_ContinuousDeploymentPolicy" }, { - "$ref": "#/definitions/AWS_WorkSpacesThinClient_Environment" + "$ref": "#/definitions/AWS_SQS_QueueInlinePolicy" }, { - "$ref": "#/definitions/AWS_DataSync_Task" + "$ref": "#/definitions/AWS_ServiceCatalog_ServiceActionAssociation" }, { - "$ref": "#/definitions/AWS_LakeFormation_TagAssociation" + "$ref": "#/definitions/AWS_SSMContacts_Rotation" }, { - "$ref": "#/definitions/AWS_CustomerProfiles_Domain" + "$ref": "#/definitions/AWS_KendraRanking_ExecutionPlan" }, { - "$ref": "#/definitions/AWS_GameLift_ContainerGroupDefinition" + "$ref": "#/definitions/AWS_Connect_SecurityKey" }, { - "$ref": "#/definitions/AWS_MediaLive_Network" + "$ref": "#/definitions/AWS_Connect_Instance" }, { - "$ref": "#/definitions/AWS_RDS_DBProxyEndpoint" + "$ref": "#/definitions/AWS_KinesisAnalyticsV2_Application" }, { - "$ref": "#/definitions/AWS_CodeDeploy_DeploymentGroup" + "$ref": "#/definitions/AWS_WAFRegional_RateBasedRule" }, { - "$ref": "#/definitions/AWS_IoT_CertificateProvider" + "$ref": "#/definitions/AWS_Pinpoint_APNSVoipChannel" }, { - "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_Application" + "$ref": "#/definitions/AWS_IoTWireless_WirelessDevice" }, { - "$ref": "#/definitions/AWS_DataPipeline_Pipeline" + "$ref": "#/definitions/AWS_AppTest_TestCase" }, { - "$ref": "#/definitions/AWS_WAFv2_LoggingConfiguration" + "$ref": "#/definitions/AWS_IoTFleetWise_Fleet" }, { - "$ref": "#/definitions/AWS_SageMaker_Workteam" + "$ref": "#/definitions/AWS_MediaLive_SdiSource" }, { - "$ref": "#/definitions/AWS_SSMIncidents_ReplicationSet" + "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_Application" }, { - "$ref": "#/definitions/AWS_GuardDuty_Detector" + "$ref": "#/definitions/AWS_Connect_Queue" }, { - "$ref": "#/definitions/AWS_DocDB_EventSubscription" + "$ref": "#/definitions/AWS_Lambda_Url" }, { - "$ref": "#/definitions/AWS_IoT_FleetMetric" + "$ref": "#/definitions/AWS_Route53_CidrCollection" }, { - "$ref": "#/definitions/AWS_Pinpoint_App" + "$ref": "#/definitions/AWS_EntityResolution_MatchingWorkflow" }, { - "$ref": "#/definitions/AWS_WAF_IPSet" + "$ref": "#/definitions/AWS_EC2_KeyPair" }, { - "$ref": "#/definitions/AWS_ElastiCache_SecurityGroupIngress" + "$ref": "#/definitions/AWS_CloudFormation_ResourceDefaultVersion" }, { - "$ref": "#/definitions/AWS_Deadline_Queue" + "$ref": "#/definitions/AWS_S3Express_DirectoryBucket" }, { - "$ref": "#/definitions/AWS_Events_Endpoint" + "$ref": "#/definitions/AWS_CloudFormation_GuardHook" }, { - "$ref": "#/definitions/AWS_DataSync_LocationObjectStorage" + "$ref": "#/definitions/AWS_StepFunctions_Activity" }, { - "$ref": "#/definitions/AWS_SES_MailManagerAddonSubscription" + "$ref": "#/definitions/AWS_DataSync_Task" }, { - "$ref": "#/definitions/AWS_SNS_Topic" + "$ref": "#/definitions/AWS_EMR_WALWorkspace" }, { - "$ref": "#/definitions/AWS_QuickSight_DataSource" + "$ref": "#/definitions/AWS_AppConfig_Environment" }, { - "$ref": "#/definitions/AWS_KinesisAnalyticsV2_ApplicationOutput" + "$ref": "#/definitions/AWS_CUR_ReportDefinition" }, { - "$ref": "#/definitions/AWS_Bedrock_GuardrailVersion" + "$ref": "#/definitions/AWS_RefactorSpaces_Application" }, { - "$ref": "#/definitions/AWS_ManagedBlockchain_Accessor" + "$ref": "#/definitions/AWS_BCMDataExports_Export" }, { - "$ref": "#/definitions/AWS_KinesisAnalytics_Application" + "$ref": "#/definitions/AWS_IoTCoreDeviceAdvisor_SuiteDefinition" }, { - "$ref": "#/definitions/AWS_DataSync_StorageSystem" + "$ref": "#/definitions/AWS_EC2_Subnet" }, { - "$ref": "#/definitions/AWS_AppRunner_AutoScalingConfiguration" + "$ref": "#/definitions/AWS_MemoryDB_SubnetGroup" }, { - "$ref": "#/definitions/AWS_NeptuneGraph_Graph" + "$ref": "#/definitions/AWS_Scheduler_Schedule" }, { - "$ref": "#/definitions/AWS_RefactorSpaces_Service" + "$ref": "#/definitions/AWS_Backup_LogicallyAirGappedBackupVault" }, { - "$ref": "#/definitions/AWS_ECS_CapacityProvider" + "$ref": "#/definitions/AWS_IVS_IngestConfiguration" }, { - "$ref": "#/definitions/AWS_WAF_ByteMatchSet" + "$ref": "#/definitions/AWS_Route53Resolver_FirewallDomainList" }, { - "$ref": "#/definitions/AWS_Route53RecoveryControl_ControlPanel" + "$ref": "#/definitions/AWS_Oam_Link" }, { - "$ref": "#/definitions/AWS_Greengrass_SubscriptionDefinition" + "$ref": "#/definitions/AWS_WAF_SqlInjectionMatchSet" }, { - "$ref": "#/definitions/AWS_Redshift_ClusterSecurityGroupIngress" + "$ref": "#/definitions/AWS_CodeStarConnections_SyncConfiguration" }, { - "$ref": "#/definitions/AWS_Route53Resolver_ResolverQueryLoggingConfigAssociation" + "$ref": "#/definitions/AWS_DataZone_EnvironmentProfile" }, { - "$ref": "#/definitions/AWS_Deadline_Monitor" + "$ref": "#/definitions/AWS_EMR_InstanceFleetConfig" }, { - "$ref": "#/definitions/AWS_IVSChat_Room" + "$ref": "#/definitions/AWS_QBusiness_DataAccessor" }, { - "$ref": "#/definitions/AWS_Deadline_QueueFleetAssociation" + "$ref": "#/definitions/AWS_FinSpace_Environment" }, { - "$ref": "#/definitions/AWS_WAFRegional_RegexPatternSet" + "$ref": "#/definitions/AWS_ElastiCache_GlobalReplicationGroup" }, { - "$ref": "#/definitions/AWS_SSM_Parameter" + "$ref": "#/definitions/AWS_IAM_UserPolicy" }, { - "$ref": "#/definitions/AWS_Bedrock_Guardrail" + "$ref": "#/definitions/AWS_Signer_ProfilePermission" }, { - "$ref": "#/definitions/AWS_AppSync_GraphQLSchema" + "$ref": "#/definitions/AWS_Cognito_UserPoolUserToGroupAttachment" }, { - "$ref": "#/definitions/AWS_CloudTrail_Channel" + "$ref": "#/definitions/AWS_Lambda_CodeSigningConfig" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_LaunchRoleConstraint" + "$ref": "#/definitions/AWS_Lightsail_Instance" }, { - "$ref": "#/definitions/AWS_Route53Resolver_FirewallRuleGroup" + "$ref": "#/definitions/AWS_IoT_ScheduledAudit" }, { - "$ref": "#/definitions/AWS_EC2_NetworkInsightsAccessScope" + "$ref": "#/definitions/AWS_CleanRooms_IdNamespaceAssociation" }, { - "$ref": "#/definitions/AWS_SageMaker_UserProfile" + "$ref": "#/definitions/AWS_EventSchemas_RegistryPolicy" }, { - "$ref": "#/definitions/AWS_CodePipeline_Webhook" + "$ref": "#/definitions/AWS_QBusiness_Index" }, { - "$ref": "#/definitions/AWS_CodeStarNotifications_NotificationRule" + "$ref": "#/definitions/AWS_ARCZonalShift_ZonalAutoshiftConfiguration" }, { - "$ref": "#/definitions/AWS_EC2_Instance" + "$ref": "#/definitions/AWS_CodeBuild_Fleet" }, { - "$ref": "#/definitions/AWS_EC2_EIP" + "$ref": "#/definitions/AWS_Greengrass_ConnectorDefinitionVersion" }, { - "$ref": "#/definitions/AWS_AutoScaling_LifecycleHook" + "$ref": "#/definitions/AWS_IVS_PlaybackKeyPair" }, { - "$ref": "#/definitions/AWS_RDS_OptionGroup" + "$ref": "#/definitions/AWS_AmplifyUIBuilder_Theme" }, { - "$ref": "#/definitions/AWS_EC2_InstanceConnectEndpoint" + "$ref": "#/definitions/AWS_ApiGatewayV2_Deployment" }, { - "$ref": "#/definitions/AWS_RolesAnywhere_TrustAnchor" + "$ref": "#/definitions/AWS_ElastiCache_ReplicationGroup" }, { - "$ref": "#/definitions/AWS_WAF_WebACL" + "$ref": "#/definitions/AWS_EC2_TrafficMirrorSession" }, { - "$ref": "#/definitions/AWS_EMR_SecurityConfiguration" + "$ref": "#/definitions/AWS_ACMPCA_Certificate" }, { - "$ref": "#/definitions/AWS_ControlTower_EnabledControl" + "$ref": "#/definitions/AWS_QBusiness_WebExperience" }, { - "$ref": "#/definitions/AWS_EC2_ClientVpnEndpoint" + "$ref": "#/definitions/AWS_EC2_IPAMPool" }, { - "$ref": "#/definitions/AWS_Connect_ViewVersion" + "$ref": "#/definitions/AWS_ApiGateway_Stage" }, { - "$ref": "#/definitions/AWS_Glue_Connection" + "$ref": "#/definitions/AWS_ApiGatewayV2_Authorizer" }, { - "$ref": "#/definitions/AWS_OpenSearchServerless_LifecyclePolicy" + "$ref": "#/definitions/AWS_AppSync_Resolver" }, { - "$ref": "#/definitions/AWS_Bedrock_FlowVersion" + "$ref": "#/definitions/AWS_CloudTrail_EventDataStore" }, { - "$ref": "#/definitions/AWS_Elasticsearch_Domain" + "$ref": "#/definitions/AWS_ElastiCache_ServerlessCache" }, { - "$ref": "#/definitions/AWS_Lex_ResourcePolicy" + "$ref": "#/definitions/AWS_Pinpoint_EventStream" }, { - "$ref": "#/definitions/AWS_DMS_InstanceProfile" + "$ref": "#/definitions/AWS_EC2_LocalGatewayRouteTableVirtualInterfaceGroupAssociation" }, { - "$ref": "#/definitions/AWS_SecretsManager_RotationSchedule" + "$ref": "#/definitions/AWS_RDS_GlobalCluster" }, { - "$ref": "#/definitions/AWS_Panorama_Package" + "$ref": "#/definitions/AWS_Backup_Framework" }, { - "$ref": "#/definitions/AWS_Route53RecoveryReadiness_RecoveryGroup" + "$ref": "#/definitions/AWS_CodeGuruReviewer_RepositoryAssociation" }, { - "$ref": "#/definitions/AWS_ApiGateway_ApiKey" + "$ref": "#/definitions/AWS_Glue_Registry" }, { - "$ref": "#/definitions/AWS_Pinpoint_PushTemplate" + "$ref": "#/definitions/AWS_Redshift_ScheduledAction" }, { - "$ref": "#/definitions/AWS_MediaStore_Container" + "$ref": "#/definitions/AWS_GameLift_Script" }, { - "$ref": "#/definitions/AWS_AppStream_Entitlement" + "$ref": "#/definitions/AWS_ApiGatewayV2_Model" }, { - "$ref": "#/definitions/AWS_NimbleStudio_Studio" + "$ref": "#/definitions/AWS_SageMaker_Pipeline" }, { - "$ref": "#/definitions/AWS_SES_MailManagerRelay" + "$ref": "#/definitions/AWS_SES_ReceiptFilter" }, { - "$ref": "#/definitions/AWS_WAFv2_RegexPatternSet" + "$ref": "#/definitions/AWS_IVS_StreamKey" }, { - "$ref": "#/definitions/AWS_Inspector_ResourceGroup" + "$ref": "#/definitions/AWS_ACMPCA_Permission" }, { - "$ref": "#/definitions/AWS_AppConfig_Extension" + "$ref": "#/definitions/AWS_ApplicationSignals_ServiceLevelObjective" }, { - "$ref": "#/definitions/AWS_IoTWireless_ServiceProfile" + "$ref": "#/definitions/AWS_PinpointEmail_Identity" }, { - "$ref": "#/definitions/AWS_DataZone_EnvironmentBlueprintConfiguration" + "$ref": "#/definitions/AWS_Pinpoint_App" }, { - "$ref": "#/definitions/AWS_XRay_SamplingRule" + "$ref": "#/definitions/AWS_IoTSiteWise_AccessPolicy" }, { - "$ref": "#/definitions/AWS_CloudFormation_ResourceDefaultVersion" + "$ref": "#/definitions/AWS_WAFRegional_ByteMatchSet" }, { - "$ref": "#/definitions/AWS_Pinpoint_APNSChannel" + "$ref": "#/definitions/AWS_QLDB_Ledger" }, { - "$ref": "#/definitions/AWS_FMS_ResourceSet" + "$ref": "#/definitions/AWS_DMS_ReplicationTask" }, { - "$ref": "#/definitions/AWS_IoTTwinMaker_Entity" + "$ref": "#/definitions/AWS_Shield_ProtectionGroup" }, { - "$ref": "#/definitions/AWS_SES_EmailIdentity" + "$ref": "#/definitions/AWS_Location_Map" }, { - "$ref": "#/definitions/AWS_Config_OrganizationConfigRule" + "$ref": "#/definitions/AWS_WAFv2_WebACLAssociation" }, { - "$ref": "#/definitions/AWS_ECR_RepositoryCreationTemplate" + "$ref": "#/definitions/AWS_ElastiCache_ParameterGroup" }, { - "$ref": "#/definitions/AWS_Omics_AnnotationStore" + "$ref": "#/definitions/AWS_S3_AccessGrantsLocation" }, { - "$ref": "#/definitions/AWS_AppSync_ApiCache" + "$ref": "#/definitions/AWS_ECR_PullThroughCacheRule" }, { - "$ref": "#/definitions/AWS_Logs_LogStream" + "$ref": "#/definitions/AWS_Events_EventBus" }, { - "$ref": "#/definitions/AWS_MediaConvert_Queue" + "$ref": "#/definitions/AWS_DAX_ParameterGroup" }, { - "$ref": "#/definitions/AWS_RDS_DBProxyTargetGroup" + "$ref": "#/definitions/AWS_ApplicationAutoScaling_ScalableTarget" }, { - "$ref": "#/definitions/AWS_DataBrew_Ruleset" + "$ref": "#/definitions/AWS_SageMaker_PartnerApp" }, { - "$ref": "#/definitions/AWS_Neptune_DBSubnetGroup" + "$ref": "#/definitions/AWS_Connect_RoutingProfile" }, { - "$ref": "#/definitions/AWS_WorkSpaces_WorkspacesPool" + "$ref": "#/definitions/AWS_CleanRooms_ConfiguredTable" }, { - "$ref": "#/definitions/AWS_ApiGateway_GatewayResponse" + "$ref": "#/definitions/AWS_CleanRooms_IdMappingTable" }, { - "$ref": "#/definitions/AWS_OpsWorks_Layer" + "$ref": "#/definitions/AWS_Glue_DevEndpoint" }, { - "$ref": "#/definitions/AWS_IoT_MitigationAction" + "$ref": "#/definitions/AWS_IoTEvents_AlarmModel" }, { - "$ref": "#/definitions/AWS_Panorama_PackageVersion" + "$ref": "#/definitions/AWS_Logs_DeliverySource" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolDomain" + "$ref": "#/definitions/AWS_CloudFront_Distribution" }, { - "$ref": "#/definitions/AWS_AppConfig_Environment" + "$ref": "#/definitions/AWS_BillingConductor_PricingPlan" }, { - "$ref": "#/definitions/AWS_Wisdom_KnowledgeBase" + "$ref": "#/definitions/AWS_SageMaker_Space" }, { - "$ref": "#/definitions/AWS_IAM_OIDCProvider" + "$ref": "#/definitions/AWS_IAM_RolePolicy" }, { - "$ref": "#/definitions/AWS_GameLift_GameServerGroup" + "$ref": "#/definitions/AWS_Cognito_UserPoolUser" }, { - "$ref": "#/definitions/AWS_Connect_PredefinedAttribute" + "$ref": "#/definitions/AWS_RolesAnywhere_CRL" }, { - "$ref": "#/definitions/AWS_KMS_Key" + "$ref": "#/definitions/AWS_EC2_LocalGatewayRouteTableVPCAssociation" }, { - "$ref": "#/definitions/AWS_Route53RecoveryControl_Cluster" + "$ref": "#/definitions/AWS_DataZone_Domain" }, { - "$ref": "#/definitions/AWS_AppStream_DirectoryConfig" + "$ref": "#/definitions/AWS_MediaLive_EventBridgeRuleTemplate" }, { - "$ref": "#/definitions/AWS_EventSchemas_Schema" + "$ref": "#/definitions/AWS_IVS_PlaybackRestrictionPolicy" }, { - "$ref": "#/definitions/AWS_IAM_Role" + "$ref": "#/definitions/AWS_ServiceCatalog_TagOption" }, { - "$ref": "#/definitions/AWS_IoTFleetWise_ModelManifest" + "$ref": "#/definitions/AWS_EC2_VPCEndpointConnectionNotification" }, { - "$ref": "#/definitions/AWS_Omics_Workflow" + "$ref": "#/definitions/AWS_Connect_UserHierarchyStructure" }, { - "$ref": "#/definitions/AWS_IAM_GroupPolicy" + "$ref": "#/definitions/AWS_AppRunner_VpcConnector" }, { - "$ref": "#/definitions/AWS_MediaLive_SignalMap" + "$ref": "#/definitions/AWS_EMR_InstanceGroupConfig" }, { - "$ref": "#/definitions/AWS_VpcLattice_ResourcePolicy" + "$ref": "#/definitions/AWS_EC2_TransitGatewayRouteTableAssociation" }, { - "$ref": "#/definitions/AWS_SSM_ResourcePolicy" + "$ref": "#/definitions/AWS_IoT_SoftwarePackage" }, { - "$ref": "#/definitions/AWS_IoTSiteWise_Dashboard" + "$ref": "#/definitions/AWS_ECR_ReplicationConfiguration" }, { - "$ref": "#/definitions/AWS_Shield_DRTAccess" + "$ref": "#/definitions/AWS_ResilienceHub_App" }, { - "$ref": "#/definitions/AWS_IoTSiteWise_Gateway" + "$ref": "#/definitions/AWS_IoTTwinMaker_Entity" }, { - "$ref": "#/definitions/AWS_SES_MailManagerAddonInstance" + "$ref": "#/definitions/AWS_ImageBuilder_Component" }, { - "$ref": "#/definitions/AWS_EC2_GatewayRouteTableAssociation" + "$ref": "#/definitions/AWS_SNS_Subscription" }, { - "$ref": "#/definitions/AWS_DocDB_DBCluster" + "$ref": "#/definitions/AWS_Transfer_Connector" }, { - "$ref": "#/definitions/AWS_SNS_Subscription" + "$ref": "#/definitions/AWS_Comprehend_DocumentClassifier" }, { - "$ref": "#/definitions/AWS_IoTWireless_FuotaTask" + "$ref": "#/definitions/AWS_IoTWireless_Destination" }, { - "$ref": "#/definitions/AWS_WAFRegional_SqlInjectionMatchSet" + "$ref": "#/definitions/AWS_ElasticBeanstalk_Environment" }, { - "$ref": "#/definitions/AWS_EKS_Addon" + "$ref": "#/definitions/AWS_SageMaker_ModelPackageGroup" }, { - "$ref": "#/definitions/AWS_SecurityHub_ProductSubscription" + "$ref": "#/definitions/AWS_S3Tables_TableBucket" }, { - "$ref": "#/definitions/AWS_EC2_SnapshotBlockPublicAccess" + "$ref": "#/definitions/AWS_SecretsManager_RotationSchedule" }, { - "$ref": "#/definitions/AWS_Bedrock_Flow" + "$ref": "#/definitions/AWS_ResourceExplorer2_View" }, { - "$ref": "#/definitions/AWS_GuardDuty_Member" + "$ref": "#/definitions/AWS_Deadline_MeteredProduct" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayRouteTableAssociation" + "$ref": "#/definitions/AWS_Route53Resolver_FirewallRuleGroup" }, { - "$ref": "#/definitions/AWS_ElasticBeanstalk_ConfigurationTemplate" + "$ref": "#/definitions/AWS_IoTAnalytics_Datastore" }, { - "$ref": "#/definitions/AWS_AmazonMQ_ConfigurationAssociation" + "$ref": "#/definitions/AWS_NetworkManager_TransitGatewayRouteTableAttachment" }, { - "$ref": "#/definitions/AWS_S3_StorageLensGroup" + "$ref": "#/definitions/AWS_SageMaker_DataQualityJobDefinition" }, { - "$ref": "#/definitions/AWS_ResourceExplorer2_Index" + "$ref": "#/definitions/AWS_ResourceExplorer2_DefaultViewAssociation" }, { - "$ref": "#/definitions/AWS_AppSync_DomainName" + "$ref": "#/definitions/AWS_LookoutEquipment_InferenceScheduler" }, { - "$ref": "#/definitions/AWS_DeviceFarm_Project" + "$ref": "#/definitions/AWS_DeviceFarm_VPCEConfiguration" }, { - "$ref": "#/definitions/AWS_DeviceFarm_DevicePool" + "$ref": "#/definitions/AWS_DeviceFarm_NetworkProfile" }, { "$ref": "#/definitions/AWS_DeviceFarm_TestGridProject" @@ -44577,10 +46472,10 @@ "$ref": "#/definitions/AWS_DeviceFarm_InstanceProfile" }, { - "$ref": "#/definitions/AWS_DeviceFarm_NetworkProfile" + "$ref": "#/definitions/AWS_DeviceFarm_DevicePool" }, { - "$ref": "#/definitions/AWS_DeviceFarm_VPCEConfiguration" + "$ref": "#/definitions/AWS_DeviceFarm_Project" } ] } diff --git a/server/schema/resources/aws-accessanalyzer-analyzer.json b/server/schema/resources/aws-accessanalyzer-analyzer.json index 46a7a236..e98c6743 100644 --- a/server/schema/resources/aws-accessanalyzer-analyzer.json +++ b/server/schema/resources/aws-accessanalyzer-analyzer.json @@ -93,29 +93,82 @@ }, "Value": { "type": "string", - "description": "The value for the tag. You can specify a value that is 1 to 255 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ", - "minLength": 1, + "description": "The value for the tag. You can specify a value that is 0 to 255 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ", + "minLength": 0, "maxLength": 255, - "markdownDescription": "The value for the tag. You can specify a value that is 1 to 255 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. \n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 255 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. \n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" } }, "required": [ - "Key", - "Value" + "Key" ], "additionalProperties": false, "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "Tags": { + "type": "array", + "insertionOrder": false, + "uniqueItems": true, + "description": "An array of key-value pairs to apply to this resource.", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AnalysisRuleCriteria": { + "description": "The criteria for an analysis rule for an analyzer.", + "type": "object", + "properties": { + "AccountIds": { + "description": "A list of AWS account IDs to apply to the analysis rule criteria. The accounts cannot include the organization analyzer owner account. Account IDs can only be applied to the analysis rule criteria for organization-level analyzers.", + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "A list of AWS account IDs to apply to the analysis rule criteria. The accounts cannot include the organization analyzer owner account. Account IDs can only be applied to the analysis rule criteria for organization-level analyzers.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ResourceTags": { + "description": "An array of key-value pairs to match for your resources. You can use the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\nFor the tag key, you can specify a value that is 1 to 128 characters in length and cannot be prefixed with aws:.\n\nFor the tag value, you can specify a value that is 0 to 256 characters in length. If the specified tag value is 0 characters, the rule is applied to all principals with the specified tag key.", + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tags" + }, + "markdownDescription": "An array of key-value pairs to match for your resources. You can use the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\nFor the tag key, you can specify a value that is 1 to 128 characters in length and cannot be prefixed with aws:.\n\nFor the tag value, you can specify a value that is 0 to 256 characters in length. If the specified tag value is 0 characters, the rule is applied to all principals with the specified tag key.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "The criteria for an analysis rule for an analyzer.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "UnusedAccessConfiguration": { "description": "The Configuration for Unused Access Analyzer", "type": "object", "properties": { "UnusedAccessAge": { - "description": "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that hasn't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days.", + "description": "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that hasn't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 365 days.", "type": "integer", "minimum": 1, - "maximum": 180, - "markdownDescription": "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that hasn't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "maximum": 365, + "markdownDescription": "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that hasn't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 365 days.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "AnalysisRule": { + "description": "Contains information about rules for the analyzer.", + "type": "object", + "properties": { + "Exclusions": { + "description": "A list of rules for the analyzer containing criteria to exclude from analysis. Entities that meet the rule criteria will not generate findings.", + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AnalysisRuleCriteria" + }, + "markdownDescription": "A list of rules for the analyzer containing criteria to exclude from analysis. Entities that meet the rule criteria will not generate findings.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "Contains information about rules for the analyzer.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -165,7 +218,7 @@ } }, "additionalProperties": false, - "markdownDescription": "The configuration for the analyzer\n\n---\n\nRequired: No \nUpdate requires: Replacement" + "markdownDescription": "The configuration for the analyzer\n\n---\n\nRequired: No \nUpdate requires: Some interruptions" } }, "required": [ @@ -176,7 +229,9 @@ ], "createOnlyProperties": [ "/properties/AnalyzerName", - "/properties/Type", + "/properties/Type" + ], + "conditionalCreateOnlyProperties": [ "/properties/AnalyzerConfiguration" ], "primaryIdentifier": [ @@ -207,6 +262,7 @@ "access-analyzer:ListAnalyzers", "access-analyzer:TagResource", "access-analyzer:UntagResource", + "access-analyzer:UpdateAnalyzer", "access-analyzer:UpdateArchiveRule" ] }, @@ -229,7 +285,8 @@ "tagProperty": "/properties/Tags", "permissions": [ "access-analyzer:UntagResource", - "access-analyzer:TagResource" + "access-analyzer:TagResource", + "access-analyzer:ListTagsForResource" ] }, "attributes": { diff --git a/server/schema/resources/aws-amazonmq-broker.json b/server/schema/resources/aws-amazonmq-broker.json index 0f38902d..13333b0f 100644 --- a/server/schema/resources/aws-amazonmq-broker.json +++ b/server/schema/resources/aws-amazonmq-broker.json @@ -186,10 +186,6 @@ "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "ConsoleAccess": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, "Username": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" @@ -203,6 +199,14 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "ConsoleAccess": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "JolokiaApiAccess": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "Password": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-amazonmq-configuration.json b/server/schema/resources/aws-amazonmq-configuration.json index f1af9c7f..34bbf3fc 100644 --- a/server/schema/resources/aws-amazonmq-configuration.json +++ b/server/schema/resources/aws-amazonmq-configuration.json @@ -42,7 +42,7 @@ "Data": { "type": "string", "description": "The base64-encoded XML configuration.", - "markdownDescription": "The base64-encoded XML configuration.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The base64-encoded XML configuration.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Description": { "type": "string", @@ -79,7 +79,6 @@ }, "required": [ "EngineType", - "Data", "Name" ], "propertyTransform": { diff --git a/server/schema/resources/aws-amplifyuibuilder-component.json b/server/schema/resources/aws-amplifyuibuilder-component.json index 530862a2..ae4585e2 100644 --- a/server/schema/resources/aws-amplifyuibuilder-component.json +++ b/server/schema/resources/aws-amplifyuibuilder-component.json @@ -649,7 +649,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "amplifyuibuilder:TagResource", + "amplifyuibuilder:UntagResource" + ] }, "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-amplifyuibuilder", "additionalProperties": false, diff --git a/server/schema/resources/aws-amplifyuibuilder-form.json b/server/schema/resources/aws-amplifyuibuilder-form.json index 9546544a..ee04527d 100644 --- a/server/schema/resources/aws-amplifyuibuilder-form.json +++ b/server/schema/resources/aws-amplifyuibuilder-form.json @@ -607,15 +607,13 @@ "amplify:GetApp", "amplifyuibuilder:CreateForm", "amplifyuibuilder:GetForm", - "amplifyuibuilder:TagResource", - "amplifyuibuilder:UntagResource" + "amplifyuibuilder:TagResource" ] }, "read": { "permissions": [ "amplify:GetApp", - "amplifyuibuilder:GetForm", - "amplifyuibuilder:TagResource" + "amplifyuibuilder:GetForm" ] }, "update": { @@ -631,7 +629,6 @@ "permissions": [ "amplify:GetApp", "amplifyuibuilder:DeleteForm", - "amplifyuibuilder:TagResource", "amplifyuibuilder:UntagResource" ] }, @@ -661,7 +658,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "amplifyuibuilder:TagResource", + "amplifyuibuilder:UntagResource" + ] }, "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-amplifyuibuilder", "additionalProperties": false, diff --git a/server/schema/resources/aws-amplifyuibuilder-theme.json b/server/schema/resources/aws-amplifyuibuilder-theme.json index c307185f..57194a7c 100644 --- a/server/schema/resources/aws-amplifyuibuilder-theme.json +++ b/server/schema/resources/aws-amplifyuibuilder-theme.json @@ -152,7 +152,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "amplifyuibuilder:TagResource", + "amplifyuibuilder:UntagResource" + ] }, "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-amplifyuibuilder", "additionalProperties": false, diff --git a/server/schema/resources/aws-apigateway-account.json b/server/schema/resources/aws-apigateway-account.json index 290a2c63..79769713 100644 --- a/server/schema/resources/aws-apigateway-account.json +++ b/server/schema/resources/aws-apigateway-account.json @@ -40,9 +40,9 @@ ], "properties": { "CloudWatchRoleArn": { - "description": "The ARN of an Amazon CloudWatch role for the current Account.", + "description": "", "type": "string", - "markdownDescription": "The ARN of an Amazon CloudWatch role for the current Account.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "attributes": { diff --git a/server/schema/resources/aws-apigateway-apikey.json b/server/schema/resources/aws-apigateway-apikey.json index 72f579ea..b7f910ad 100644 --- a/server/schema/resources/aws-apigateway-apikey.json +++ b/server/schema/resources/aws-apigateway-apikey.json @@ -5,25 +5,25 @@ "additionalProperties": false, "properties": { "CustomerId": { - "description": "An MKT customer identifier, when integrating with the AWS SaaS Marketplace.", + "description": "", "type": "string", - "markdownDescription": "An MKT customer identifier, when integrating with the AWS SaaS Marketplace.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Description": { - "description": "The description of the ApiKey.", + "description": "", "type": "string", - "markdownDescription": "The description of the ApiKey.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Enabled": { - "description": "Specifies whether the ApiKey can be used by callers.", + "description": "", "default": false, "type": "boolean", - "markdownDescription": "Specifies whether the ApiKey can be used by callers.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "GenerateDistinctId": { - "description": "Specifies whether (``true``) or not (``false``) the key identifier is distinct from the created API key value. This parameter is deprecated and should not be used.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether (``true``) or not (``false``) the key identifier is distinct from the created API key value. This parameter is deprecated and should not be used.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" }, "Name": { "description": "A name for the API key. If you don't specify a name, CFN generates a unique physical ID and uses that ID for the API key name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).\n If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", @@ -31,27 +31,27 @@ "markdownDescription": "A name for the API key. If you don't specify a name, CFN generates a unique physical ID and uses that ID for the API key name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).\n If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "StageKeys": { - "description": "DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.", + "description": "", "type": "array", "uniqueItems": true, "items": { "$ref": "#/definitions/StageKey" }, - "markdownDescription": "DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Tags": { - "description": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with ``aws:``. The tag value can be up to 256 characters.", + "description": "", "type": "array", "uniqueItems": false, "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with ``aws:``. The tag value can be up to 256 characters.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Value": { - "description": "Specifies a value of the API key.", + "description": "", "type": "string", - "markdownDescription": "Specifies a value of the API key.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" } }, "definitions": { @@ -60,14 +60,14 @@ "additionalProperties": false, "properties": { "RestApiId": { - "description": "The string identifier of the associated RestApi.", + "description": "", "type": "string", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "StageName": { - "description": "The stage name associated with the stage key.", + "description": "", "type": "string", - "markdownDescription": "The stage name associated with the stage key.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "description": "``StageKey`` is a property of the [AWS::ApiGateway::ApiKey](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html) resource that specifies the stage to associate with the API key. This association allows only clients with the key to make requests to methods in that stage.", diff --git a/server/schema/resources/aws-apigateway-authorizer.json b/server/schema/resources/aws-apigateway-authorizer.json index bec54daf..b6642bd1 100644 --- a/server/schema/resources/aws-apigateway-authorizer.json +++ b/server/schema/resources/aws-apigateway-authorizer.json @@ -4,47 +4,47 @@ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigateway.git", "properties": { "RestApiId": { - "description": "The string identifier of the associated RestApi.", + "description": "", "type": "string", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "AuthType": { - "description": "Optional customer-defined field, used in OpenAPI imports and exports without functional impact.", + "description": "", "type": "string", - "markdownDescription": "Optional customer-defined field, used in OpenAPI imports and exports without functional impact.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AuthorizerCredentials": { - "description": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.", + "description": "", "type": "string", - "markdownDescription": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AuthorizerResultTtlInSeconds": { - "description": "The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.", + "description": "", "type": "integer", - "markdownDescription": "The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "AuthorizerUri": { - "description": "Specifies the authorizer's Uniform Resource Identifier (URI). For ``TOKEN`` or ``REQUEST`` authorizers, this must be a well-formed Lambda function URI, for example, ``arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations``. In general, the URI has this form ``arn:aws:apigateway:{region}:lambda:path/{service_api}``, where ``{region}`` is the same as the region hosting the Lambda function, ``path`` indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial ``/``. For Lambda functions, this is usually of the form ``/2015-03-31/functions/[FunctionARN]/invocations``.", + "description": "", "type": "string", - "markdownDescription": "Specifies the authorizer's Uniform Resource Identifier (URI). For ``TOKEN`` or ``REQUEST`` authorizers, this must be a well-formed Lambda function URI, for example, ``arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations``. In general, the URI has this form ``arn:aws:apigateway:{region}:lambda:path/{service_api}``, where ``{region}`` is the same as the region hosting the Lambda function, ``path`` indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial ``/``. For Lambda functions, this is usually of the form ``/2015-03-31/functions/[FunctionARN]/invocations``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "IdentitySource": { - "description": "The identity source for which authorization is requested. For a ``TOKEN`` or ``COGNITO_USER_POOLS`` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is ``Auth``, the header mapping expression is ``method.request.header.Auth``. For the ``REQUEST`` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an ``Auth`` header, a ``Name`` query string parameter are defined as identity sources, this value is ``method.request.header.Auth, method.request.querystring.Name``. These parameters will be used to derive the authorization caching key and to perform runtime validation of the ``REQUEST`` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.", + "description": "", "type": "string", - "markdownDescription": "The identity source for which authorization is requested. For a ``TOKEN`` or ``COGNITO_USER_POOLS`` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is ``Auth``, the header mapping expression is ``method.request.header.Auth``. For the ``REQUEST`` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an ``Auth`` header, a ``Name`` query string parameter are defined as identity sources, this value is ``method.request.header.Auth, method.request.querystring.Name``. These parameters will be used to derive the authorization caching key and to perform runtime validation of the ``REQUEST`` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "IdentityValidationExpression": { - "description": "A validation expression for the incoming identity token. For ``TOKEN`` authorizers, this value is a regular expression. For ``COGNITO_USER_POOLS`` authorizers, API Gateway will match the ``aud`` field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the ``REQUEST`` authorizer.", + "description": "", "type": "string", - "markdownDescription": "A validation expression for the incoming identity token. For ``TOKEN`` authorizers, this value is a regular expression. For ``COGNITO_USER_POOLS`` authorizers, API Gateway will match the ``aud`` field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the ``REQUEST`` authorizer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Name": { - "description": "The name of the authorizer.", + "description": "", "type": "string", - "markdownDescription": "The name of the authorizer.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "ProviderARNs": { - "description": "A list of the Amazon Cognito user pool ARNs for the ``COGNITO_USER_POOLS`` authorizer. Each element is of this format: ``arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}``. For a ``TOKEN`` or ``REQUEST`` authorizer, this is not defined.", + "description": "", "type": "array", "uniqueItems": true, "items": { @@ -52,12 +52,12 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "insertionOrder": false, - "markdownDescription": "A list of the Amazon Cognito user pool ARNs for the ``COGNITO_USER_POOLS`` authorizer. Each element is of this format: ``arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}``. For a ``TOKEN`` or ``REQUEST`` authorizer, this is not defined.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Type": { - "description": "The authorizer type. Valid values are ``TOKEN`` for a Lambda function using a single authorization token submitted in a custom header, ``REQUEST`` for a Lambda function using incoming request parameters, and ``COGNITO_USER_POOLS`` for using an Amazon Cognito user pool.", + "description": "", "type": "string", - "markdownDescription": "The authorizer type. Valid values are ``TOKEN`` for a Lambda function using a single authorization token submitted in a custom header, ``REQUEST`` for a Lambda function using incoming request parameters, and ``COGNITO_USER_POOLS`` for using an Amazon Cognito user pool.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "tagging": { diff --git a/server/schema/resources/aws-apigateway-basepathmapping.json b/server/schema/resources/aws-apigateway-basepathmapping.json index affbbc38..6b008235 100644 --- a/server/schema/resources/aws-apigateway-basepathmapping.json +++ b/server/schema/resources/aws-apigateway-basepathmapping.json @@ -6,23 +6,23 @@ "properties": { "BasePath": { "type": "string", - "description": "The base path name that callers of the API must provide as part of the URL after the domain name.", - "markdownDescription": "The base path name that callers of the API must provide as part of the URL after the domain name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "DomainName": { "type": "string", - "description": "The domain name of the BasePathMapping resource to be described.", - "markdownDescription": "The domain name of the BasePathMapping resource to be described.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "RestApiId": { "type": "string", - "description": "The string identifier of the associated RestApi.", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Stage": { "type": "string", - "description": "The name of the associated stage.", - "markdownDescription": "The name of the associated stage.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-apigateway-basepathmappingv2.json b/server/schema/resources/aws-apigateway-basepathmappingv2.json new file mode 100644 index 00000000..eca9170c --- /dev/null +++ b/server/schema/resources/aws-apigateway-basepathmappingv2.json @@ -0,0 +1,95 @@ +{ + "typeName": "AWS::ApiGateway::BasePathMappingV2", + "description": "Resource Type definition for AWS::ApiGateway::BasePathMappingV2", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigateway", + "additionalProperties": false, + "properties": { + "BasePath": { + "type": "string", + "description": "The base path name that callers of the API must provide in the URL after the domain name.", + "markdownDescription": "The base path name that callers of the API must provide in the URL after the domain name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "DomainNameArn": { + "type": "string", + "description": "The Arn of an AWS::ApiGateway::DomainNameV2 resource.", + "markdownDescription": "The Arn of an AWS::ApiGateway::DomainNameV2 resource.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "RestApiId": { + "type": "string", + "description": "The ID of the API.", + "markdownDescription": "The ID of the API.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Stage": { + "type": "string", + "description": "The name of the API's stage.", + "markdownDescription": "The name of the API's stage.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "DomainNameArn", + "RestApiId" + ], + "createOnlyProperties": [ + "/properties/DomainNameArn", + "/properties/BasePath" + ], + "readOnlyProperties": [ + "/properties/BasePathMappingArn" + ], + "primaryIdentifier": [ + "/properties/BasePathMappingArn" + ], + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "handlers": { + "create": { + "permissions": [ + "apigateway:POST", + "apigateway:GET" + ] + }, + "read": { + "permissions": [ + "apigateway:GET" + ] + }, + "update": { + "permissions": [ + "apigateway:GET", + "apigateway:DELETE", + "apigateway:PATCH" + ] + }, + "delete": { + "permissions": [ + "apigateway:DELETE" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "DomainNameArn": { + "$ref": "resource-schema.json#/properties/DomainNameArn" + } + }, + "required": [ + "DomainNameArn" + ] + }, + "permissions": [ + "apigateway:GET" + ] + } + }, + "attributes": { + "BasePathMappingArn": { + "type": "string", + "description": "Amazon Resource Name (ARN) of the resource.", + "markdownDescription": "Amazon Resource Name (ARN) of the resource.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-apigateway-clientcertificate.json b/server/schema/resources/aws-apigateway-clientcertificate.json index ee965403..35c1bd59 100644 --- a/server/schema/resources/aws-apigateway-clientcertificate.json +++ b/server/schema/resources/aws-apigateway-clientcertificate.json @@ -5,18 +5,18 @@ "additionalProperties": false, "properties": { "Description": { - "description": "The description of the client certificate.", + "description": "", "type": "string", - "markdownDescription": "The description of the client certificate.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Tags": { - "description": "The collection of tags. Each tag element is associated with a given resource.", + "description": "", "type": "array", "uniqueItems": false, "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "definitions": { diff --git a/server/schema/resources/aws-apigateway-deployment.json b/server/schema/resources/aws-apigateway-deployment.json index 6a84dd85..73d2292e 100644 --- a/server/schema/resources/aws-apigateway-deployment.json +++ b/server/schema/resources/aws-apigateway-deployment.json @@ -76,14 +76,14 @@ "type": "object", "properties": { "CacheTtlInSeconds": { - "description": "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached.", + "description": "", "type": "integer", - "markdownDescription": "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "LoggingLevel": { - "description": "Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. Valid values are ``OFF``, ``ERROR``, and ``INFO``. Choose ``ERROR`` to write only error-level entries to CloudWatch Logs, or choose ``INFO`` to include all ``ERROR`` events as well as extra informational events.", + "description": "", "type": "string", - "markdownDescription": "Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. Valid values are ``OFF``, ``ERROR``, and ``INFO``. Choose ``ERROR`` to write only error-level entries to CloudWatch Logs, or choose ``INFO`` to include all ``ERROR`` events as well as extra informational events.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "ResourcePath": { "description": "The resource path for this method. Forward slashes (``/``) are encoded as ``~1`` and the initial slash must include a forward slash. For example, the path value ``/resource/subresource`` must be encoded as ``/~1resource~1subresource``. To specify the root path, use only a slash (``/``).", @@ -91,29 +91,29 @@ "markdownDescription": "The resource path for this method. Forward slashes (``/``) are encoded as ``~1`` and the initial slash must include a forward slash. For example, the path value ``/resource/subresource`` must be encoded as ``/~1resource~1subresource``. To specify the root path, use only a slash (``/``).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "CacheDataEncrypted": { - "description": "Specifies whether the cached responses are encrypted.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether the cached responses are encrypted.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "DataTraceEnabled": { - "description": "Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "ThrottlingBurstLimit": { - "description": "Specifies the throttling burst limit.", + "description": "", "type": "integer", - "markdownDescription": "Specifies the throttling burst limit.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "CachingEnabled": { - "description": "Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "MetricsEnabled": { - "description": "Specifies whether Amazon CloudWatch metrics are enabled for this method.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether Amazon CloudWatch metrics are enabled for this method.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "HttpMethod": { "description": "The HTTP method.", @@ -121,9 +121,9 @@ "markdownDescription": "The HTTP method.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "ThrottlingRateLimit": { - "description": "Specifies the throttling rate limit.", + "description": "", "type": "number", - "markdownDescription": "Specifies the throttling rate limit.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" } }, "markdownDescription": "The ``MethodSetting`` property type configures settings for all methods in a stage.\n The ``MethodSettings`` property of the [Amazon API Gateway Deployment StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type contains a list of ``MethodSetting`` property types.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -241,9 +241,9 @@ "markdownDescription": "An array of arbitrary tags (key-value pairs) to associate with the stage.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "CacheClusterEnabled": { - "description": "Specifies whether a cache cluster is enabled for the stage.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether a cache cluster is enabled for the stage.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "markdownDescription": "``StageDescription`` is a property of the [AWS::ApiGateway::Deployment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html) resource that configures a deployment stage.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -260,20 +260,20 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.", + "description": "", "additionalProperties": false, "type": "object", - "markdownDescription": "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "PercentTraffic": { - "description": "The percent (0-100) of traffic diverted to a canary deployment.", + "description": "", "type": "number", - "markdownDescription": "The percent (0-100) of traffic diverted to a canary deployment.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, "UseStageCache": { - "description": "A Boolean flag to indicate whether the canary deployment uses the stage cache or not.", + "description": "", "type": "boolean", - "markdownDescription": "A Boolean flag to indicate whether the canary deployment uses the stage cache or not.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "markdownDescription": "The ``CanarySetting`` property type specifies settings for the canary deployment in this stage.\n ``CanarySetting`` is a property of the [StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -312,20 +312,20 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values.", + "description": "", "additionalProperties": false, "type": "object", - "markdownDescription": "A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "PercentTraffic": { - "description": "The percentage (0.0-100.0) of traffic routed to the canary deployment.", + "description": "", "type": "number", - "markdownDescription": "The percentage (0.0-100.0) of traffic routed to the canary deployment.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, "UseStageCache": { - "description": "A Boolean flag to indicate whether the canary release deployment uses the stage cache or not.", + "description": "", "type": "boolean", - "markdownDescription": "A Boolean flag to indicate whether the canary release deployment uses the stage cache or not.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "markdownDescription": "The ``DeploymentCanarySettings`` property type specifies settings for the canary deployment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -336,14 +336,14 @@ "type": "object", "properties": { "Format": { - "description": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least ``$context.requestId``.", + "description": "", "type": "string", - "markdownDescription": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least ``$context.requestId``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DestinationArn": { - "description": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with ``amazon-apigateway-``.", + "description": "", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with ``amazon-apigateway-``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "The ``AccessLogSetting`` property type specifies settings for logging access in this stage.\n ``AccessLogSetting`` is a property of the [StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -351,9 +351,9 @@ }, "properties": { "Description": { - "description": "The description for the Deployment resource to create.", + "description": "", "type": "string", - "markdownDescription": "The description for the Deployment resource to create.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "StageDescription": { "description": "The description of the Stage resource for the Deployment resource to create. To specify a stage description, you must also provide a stage name.", @@ -361,19 +361,19 @@ "markdownDescription": "The description of the Stage resource for the Deployment resource to create. To specify a stage description, you must also provide a stage name.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "StageName": { - "description": "The name of the Stage resource for the Deployment resource to create.", + "description": "", "type": "string", - "markdownDescription": "The name of the Stage resource for the Deployment resource to create.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RestApiId": { - "description": "The string identifier of the associated RestApi.", + "description": "", "type": "string", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "DeploymentCanarySettings": { - "description": "The input configuration for a canary deployment.", + "description": "", "$ref": "#/definitions/DeploymentCanarySettings", - "markdownDescription": "The input configuration for a canary deployment.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" } }, "attributes": { diff --git a/server/schema/resources/aws-apigateway-documentationpart.json b/server/schema/resources/aws-apigateway-documentationpart.json index c81ceafa..e0bc3c20 100644 --- a/server/schema/resources/aws-apigateway-documentationpart.json +++ b/server/schema/resources/aws-apigateway-documentationpart.json @@ -5,19 +5,19 @@ "additionalProperties": false, "properties": { "Location": { - "description": "The location of the targeted API entity of the to-be-created documentation part.", + "description": "", "$ref": "#/definitions/Location", - "markdownDescription": "The location of the targeted API entity of the to-be-created documentation part.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: \nUpdate requires: Replacement" }, "Properties": { - "description": "The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published.", + "description": "", "type": "string", - "markdownDescription": "The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "RestApiId": { - "description": "The string identifier of the associated RestApi.", + "description": "", "type": "string", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" } }, "definitions": { @@ -26,27 +26,27 @@ "additionalProperties": false, "properties": { "Method": { - "description": "The HTTP verb of a method. It is a valid field for the API entity types of ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``*`` for any method. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``method`` attribute must match that of the parent entity exactly.", + "description": "", "type": "string", - "markdownDescription": "The HTTP verb of a method. It is a valid field for the API entity types of ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``*`` for any method. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``method`` attribute must match that of the parent entity exactly.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Name": { - "description": "The name of the targeted API entity. It is a valid and required field for the API entity types of ``AUTHORIZER``, ``MODEL``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY`` and ``RESPONSE_HEADER``. It is an invalid field for any other entity type.", + "description": "", "type": "string", - "markdownDescription": "The name of the targeted API entity. It is a valid and required field for the API entity types of ``AUTHORIZER``, ``MODEL``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY`` and ``RESPONSE_HEADER``. It is an invalid field for any other entity type.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Path": { - "description": "The URL path of the target. It is a valid field for the API entity types of ``RESOURCE``, ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``/`` for the root resource. When an applicable child entity inherits the content of another entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``path`` attribute must match that of the parent entity as a prefix.", + "description": "", "type": "string", - "markdownDescription": "The URL path of the target. It is a valid field for the API entity types of ``RESOURCE``, ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``/`` for the root resource. When an applicable child entity inherits the content of another entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``path`` attribute must match that of the parent entity as a prefix.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "StatusCode": { - "description": "The HTTP status code of a response. It is a valid field for the API entity types of ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``*`` for any status code. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``statusCode`` attribute must match that of the parent entity exactly.", + "description": "", "type": "string", - "markdownDescription": "The HTTP status code of a response. It is a valid field for the API entity types of ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``*`` for any status code. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``statusCode`` attribute must match that of the parent entity exactly.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Type": { - "description": "The type of API entity to which the documentation content applies. Valid values are ``API``, ``AUTHORIZER``, ``MODEL``, ``RESOURCE``, ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. Content inheritance does not apply to any entity of the ``API``, ``AUTHORIZER``, ``METHOD``, ``MODEL``, ``REQUEST_BODY``, or ``RESOURCE`` type.", + "description": "", "type": "string", "enum": [ "API", @@ -62,7 +62,7 @@ "RESPONSE_HEADER", "RESPONSE_BODY" ], - "markdownDescription": "The type of API entity to which the documentation content applies. Valid values are ``API``, ``AUTHORIZER``, ``MODEL``, ``RESOURCE``, ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. Content inheritance does not apply to any entity of the ``API``, ``AUTHORIZER``, ``METHOD``, ``MODEL``, ``REQUEST_BODY``, or ``RESOURCE`` type.\n\n---\n\nRequired: No \nType: String \nAllowed Values: API | AUTHORIZER | MODEL | RESOURCE | METHOD | PATH_PARAMETER | QUERY_PARAMETER | REQUEST_HEADER | REQUEST_BODY | RESPONSE | RESPONSE_HEADER | RESPONSE_BODY \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: API | AUTHORIZER | MODEL | RESOURCE | METHOD | PATH_PARAMETER | QUERY_PARAMETER | REQUEST_HEADER | REQUEST_BODY | RESPONSE | RESPONSE_HEADER | RESPONSE_BODY \nUpdate requires: No interruption" } }, "description": "The ``Location`` property specifies the location of the Amazon API Gateway API entity that the documentation applies to. ``Location`` is a property of the [AWS::ApiGateway::DocumentationPart](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html) resource.\n For more information about each property, including constraints and valid values, see [DocumentationPart](https://docs.aws.amazon.com/apigateway/latest/api/API_DocumentationPartLocation.html) in the *Amazon API Gateway REST API Reference*.", diff --git a/server/schema/resources/aws-apigateway-documentationversion.json b/server/schema/resources/aws-apigateway-documentationversion.json index 351699a9..2e01ff64 100644 --- a/server/schema/resources/aws-apigateway-documentationversion.json +++ b/server/schema/resources/aws-apigateway-documentationversion.json @@ -5,21 +5,21 @@ "definitions": {}, "properties": { "Description": { - "description": "A description about the new documentation snapshot.", + "description": "", "type": "string", - "markdownDescription": "A description about the new documentation snapshot.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DocumentationVersion": { - "description": "The version identifier of the to-be-updated documentation version.", + "description": "", "type": "string", "minLength": 1, - "markdownDescription": "The version identifier of the to-be-updated documentation version.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nUpdate requires: Replacement" }, "RestApiId": { - "description": "The string identifier of the associated RestApi.", + "description": "", "type": "string", "minLength": 1, - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nUpdate requires: Replacement" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-apigateway-domainnameaccessassociation.json b/server/schema/resources/aws-apigateway-domainnameaccessassociation.json new file mode 100644 index 00000000..9bc87674 --- /dev/null +++ b/server/schema/resources/aws-apigateway-domainnameaccessassociation.json @@ -0,0 +1,116 @@ +{ + "typeName": "AWS::ApiGateway::DomainNameAccessAssociation", + "description": "Resource Type definition for AWS::ApiGateway::DomainNameAccessAssociation.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigateway", + "additionalProperties": false, + "properties": { + "DomainNameArn": { + "type": "string", + "description": "The amazon resource name (ARN) of the domain name resource.", + "markdownDescription": "The amazon resource name (ARN) of the domain name resource.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "AccessAssociationSource": { + "type": "string", + "description": "The source of the domain name access association resource.", + "markdownDescription": "The source of the domain name access association resource.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "AccessAssociationSourceType": { + "type": "string", + "description": "The source type of the domain name access association resource.", + "enum": [ + "VPCE" + ], + "markdownDescription": "The source type of the domain name access association resource.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: VPCE \nUpdate requires: Replacement" + }, + "Tags": { + "description": "An array of arbitrary tags (key-value pairs) to associate with the domainname access association.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of arbitrary tags (key-value pairs) to associate with the domainname access association.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + } + }, + "definitions": { + "Tag": { + "type": "object", + "additionalProperties": false, + "properties": { + "Value": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Key": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Value", + "Key" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "primaryIdentifier": [ + "/properties/DomainNameAccessAssociationArn" + ], + "required": [ + "DomainNameArn", + "AccessAssociationSource", + "AccessAssociationSourceType" + ], + "readOnlyProperties": [ + "/properties/DomainNameAccessAssociationArn" + ], + "createOnlyProperties": [ + "/properties/DomainNameArn", + "/properties/AccessAssociationSource", + "/properties/AccessAssociationSourceType", + "/properties/Tags" + ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "apigateway:POST", + "apigateway:DELETE", + "apigateway:GET" + ] + }, + "handlers": { + "create": { + "permissions": [ + "apigateway:POST", + "apigateway:GET" + ] + }, + "read": { + "permissions": [ + "apigateway:GET" + ] + }, + "delete": { + "permissions": [ + "apigateway:DELETE", + "apigateway:GET" + ] + }, + "list": { + "permissions": [ + "apigateway:GET" + ] + } + }, + "attributes": { + "DomainNameAccessAssociationArn": { + "type": "string", + "description": "The amazon resource name (ARN) of the domain name access association resource.", + "markdownDescription": "The amazon resource name (ARN) of the domain name access association resource.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-apigateway-domainnamev2.json b/server/schema/resources/aws-apigateway-domainnamev2.json new file mode 100644 index 00000000..c5d77f56 --- /dev/null +++ b/server/schema/resources/aws-apigateway-domainnamev2.json @@ -0,0 +1,140 @@ +{ + "typeName": "AWS::ApiGateway::DomainNameV2", + "description": "Resource Type definition for AWS::ApiGateway::DomainNameV2.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": { + "EndpointConfiguration": { + "type": "object", + "properties": { + "Types": { + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tag": { + "type": "object", + "properties": { + "Key": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "CertificateArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "DomainName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/EndpointConfiguration" + }, + "SecurityPolicy": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "Policy": { + "type": [ + "object", + "string" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" + }, + "Tags": { + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "apigateway:PUT", + "apigateway:PATCH", + "apigateway:DELETE", + "apigateway:GET", + "apigateway:POST" + ] + }, + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/DomainNameArn" + ], + "createOnlyProperties": [ + "/properties/DomainName", + "/properties/SecurityPolicy", + "/properties/EndpointConfiguration" + ], + "readOnlyProperties": [ + "/properties/DomainNameId", + "/properties/DomainNameArn" + ], + "handlers": { + "create": { + "permissions": [ + "apigateway:POST", + "apigateway:GET", + "apigateway:UpdateDomainNamePolicy" + ] + }, + "read": { + "permissions": [ + "apigateway:GET" + ] + }, + "update": { + "permissions": [ + "apigateway:GET", + "apigateway:PUT", + "apigateway:PATCH", + "apigateway:UpdateDomainNamePolicy" + ] + }, + "delete": { + "permissions": [ + "apigateway:DELETE", + "apigateway:GET", + "apigateway:UpdateDomainNamePolicy" + ] + }, + "list": { + "permissions": [ + "apigateway:GET" + ] + } + }, + "attributes": { + "DomainNameId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "DomainNameArn": { + "type": "string", + "description": "The amazon resource name (ARN) of the domain name resource.", + "markdownDescription": "The amazon resource name (ARN) of the domain name resource.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-apigateway-gatewayresponse.json b/server/schema/resources/aws-apigateway-gatewayresponse.json index 8c91f136..e891d9cb 100644 --- a/server/schema/resources/aws-apigateway-gatewayresponse.json +++ b/server/schema/resources/aws-apigateway-gatewayresponse.json @@ -5,22 +5,22 @@ "additionalProperties": false, "properties": { "RestApiId": { - "description": "The string identifier of the associated RestApi.", + "description": "", "type": "string", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "ResponseType": { - "description": "The response type of the associated GatewayResponse.", + "description": "", "type": "string", - "markdownDescription": "The response type of the associated GatewayResponse.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "StatusCode": { - "description": "The HTTP status code for this GatewayResponse.", + "description": "", "type": "string", - "markdownDescription": "The HTTP status code for this GatewayResponse.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "ResponseParameters": { - "description": "Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.", + "description": "", "type": "object", "additionalProperties": false, "patternProperties": { @@ -29,10 +29,10 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ResponseTemplates": { - "description": "Response templates of the GatewayResponse as a string-to-string map of key-value pairs.", + "description": "", "type": "object", "additionalProperties": false, "patternProperties": { @@ -41,7 +41,7 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "Response templates of the GatewayResponse as a string-to-string map of key-value pairs.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-apigateway-method.json b/server/schema/resources/aws-apigateway-method.json index 8612558b..df9a2614 100644 --- a/server/schema/resources/aws-apigateway-method.json +++ b/server/schema/resources/aws-apigateway-method.json @@ -48,7 +48,7 @@ ], "definitions": { "MethodResponse": { - "description": "Represents a method response of a given HTTP status code returned to the client. The method response is passed from the back end through the associated integration response that can be transformed using a mapping template.", + "description": "", "additionalProperties": false, "type": "object", "properties": { @@ -62,15 +62,15 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: ['boolean', 'string'] \nUpdate requires: No interruption" } }, - "description": "A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header and the value specifies whether the associated method response header is required or not. The expression of the key must match the pattern ``method.response.header.{name}``, where ``name`` is a valid and unique header name. API Gateway passes certain integration response data to the method response headers specified here according to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped include an integration response header expressed in ``integration.response.header.{name}``, a static value enclosed within a pair of single quotes (e.g., ``'application/json'``), or a JSON expression from the back-end response payload in the form of ``integration.response.body.{JSON-expression}``, where ``JSON-expression`` is a valid JSON expression without the ``$`` prefix.)", + "description": "", "additionalProperties": false, "type": "object", - "markdownDescription": "A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header and the value specifies whether the associated method response header is required or not. The expression of the key must match the pattern ``method.response.header.{name}``, where ``name`` is a valid and unique header name. API Gateway passes certain integration response data to the method response headers specified here according to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped include an integration response header expressed in ``integration.response.header.{name}``, a static value enclosed within a pair of single quotes (e.g., ``'application/json'``), or a JSON expression from the back-end response payload in the form of ``integration.response.body.{JSON-expression}``, where ``JSON-expression`` is a valid JSON expression without the ``$`` prefix.)\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "StatusCode": { - "description": "The method response's status code.", + "description": "", "type": "string", - "markdownDescription": "The method response's status code.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "ResponseModels": { "patternProperties": { @@ -79,16 +79,16 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "Specifies the Model resources used for the response's content-type. Response models are represented as a key/value map, with a content-type as the key and a Model name as the value.", + "description": "", "additionalProperties": false, "type": "object", - "markdownDescription": "Specifies the Model resources used for the response's content-type. Response models are represented as a key/value map, with a content-type as the key and a Model name as the value.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "required": [ "StatusCode" ], - "markdownDescription": "Represents a method response of a given HTTP status code returned to the client. The method response is passed from the back end through the associated integration response that can be transformed using a mapping template.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Integration": { "description": "``Integration`` is a property of the [AWS::ApiGateway::Method](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html) resource that specifies information about the target backend that a method calls.", @@ -96,47 +96,47 @@ "type": "object", "properties": { "CacheNamespace": { - "description": "Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the ``cacheNamespace``. You can specify the same ``cacheNamespace`` across resources to return the same cached data for requests to different resources.", + "description": "", "type": "string", - "markdownDescription": "Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the ``cacheNamespace``. You can specify the same ``cacheNamespace`` across resources to return the same cached data for requests to different resources.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "ConnectionType": { - "description": "The type of the network connection to the integration endpoint. The valid value is ``INTERNET`` for connections through the public routable internet or ``VPC_LINK`` for private connections between API Gateway and a network load balancer in a VPC. The default value is ``INTERNET``.", + "description": "", "type": "string", "enum": [ "INTERNET", "VPC_LINK" ], - "markdownDescription": "The type of the network connection to the integration endpoint. The valid value is ``INTERNET`` for connections through the public routable internet or ``VPC_LINK`` for private connections between API Gateway and a network load balancer in a VPC. The default value is ``INTERNET``.\n\n---\n\nRequired: No \nType: String \nAllowed Values: INTERNET | VPC_LINK \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: INTERNET | VPC_LINK \nUpdate requires: No interruption" }, "IntegrationResponses": { "uniqueItems": true, - "description": "Specifies the integration's responses.", + "description": "", "type": "array", "items": { "$ref": "#/definitions/IntegrationResponse" }, - "markdownDescription": "Specifies the integration's responses.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "IntegrationHttpMethod": { - "description": "Specifies the integration's HTTP method type. For the Type property, if you specify ``MOCK``, this property is optional. For Lambda integrations, you must set the integration method to ``POST``. For all other types, you must specify this property.", + "description": "", "type": "string", - "markdownDescription": "Specifies the integration's HTTP method type. For the Type property, if you specify ``MOCK``, this property is optional. For Lambda integrations, you must set the integration method to ``POST``. For all other types, you must specify this property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Uri": { - "description": "Specifies Uniform Resource Identifier (URI) of the integration endpoint.\n For ``HTTP`` or ``HTTP_PROXY`` integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification for standard integrations. If ``connectionType`` is ``VPC_LINK`` specify the Network Load Balancer DNS name. For ``AWS`` or ``AWS_PROXY`` integrations, the URI is of the form ``arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}``. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either ``arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key}`` or ``arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}``", + "description": "", "type": "string", - "markdownDescription": "Specifies Uniform Resource Identifier (URI) of the integration endpoint.\n For ``HTTP`` or ``HTTP_PROXY`` integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification for standard integrations. If ``connectionType`` is ``VPC_LINK`` specify the Network Load Balancer DNS name. For ``AWS`` or ``AWS_PROXY`` integrations, the URI is of the form ``arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}``. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either ``arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key}`` or ``arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "PassthroughBehavior": { - "description": "Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation. A content type is unmapped if no mapping template is defined in the integration or the content type does not match any of the mapped content types, as specified in ``requestTemplates``. The valid value is one of the following: ``WHEN_NO_MATCH``: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request. ``WHEN_NO_TEMPLATES``: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response. ``NEVER``: rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.", + "description": "", "type": "string", "enum": [ "WHEN_NO_MATCH", "WHEN_NO_TEMPLATES", "NEVER" ], - "markdownDescription": "Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation. A content type is unmapped if no mapping template is defined in the integration or the content type does not match any of the mapped content types, as specified in ``requestTemplates``. The valid value is one of the following: ``WHEN_NO_MATCH``: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request. ``WHEN_NO_TEMPLATES``: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response. ``NEVER``: rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.\n\n---\n\nRequired: No \nType: String \nAllowed Values: WHEN_NO_MATCH | WHEN_NO_TEMPLATES | NEVER \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: WHEN_NO_MATCH | WHEN_NO_TEMPLATES | NEVER \nUpdate requires: No interruption" }, "RequestParameters": { "patternProperties": { @@ -145,18 +145,18 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of ``method.request.{location}.{name}``, where ``location`` is ``querystring``, ``path``, or ``header`` and ``name`` must be a valid and unique method request parameter name.", + "description": "", "additionalProperties": false, "type": "object", - "markdownDescription": "A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of ``method.request.{location}.{name}``, where ``location`` is ``querystring``, ``path``, or ``header`` and ``name`` must be a valid and unique method request parameter name.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ConnectionId": { - "description": "The ID of the VpcLink used for the integration when ``connectionType=VPC_LINK`` and undefined, otherwise.", + "description": "", "type": "string", - "markdownDescription": "The ID of the VpcLink used for the integration when ``connectionType=VPC_LINK`` and undefined, otherwise.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Type": { - "description": "Specifies an API method integration type. The valid value is one of the following:\n For the HTTP and HTTP proxy integrations, each integration can specify a protocol (``http/https``), port and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy integration with a ``connectionType`` of ``VPC_LINK`` is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.", + "description": "", "type": "string", "enum": [ "AWS", @@ -165,26 +165,26 @@ "HTTP_PROXY", "MOCK" ], - "markdownDescription": "Specifies an API method integration type. The valid value is one of the following:\n For the HTTP and HTTP proxy integrations, each integration can specify a protocol (``http/https``), port and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy integration with a ``connectionType`` of ``VPC_LINK`` is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: AWS | AWS_PROXY | HTTP | HTTP_PROXY | MOCK \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: AWS | AWS_PROXY | HTTP | HTTP_PROXY | MOCK \nUpdate requires: No interruption" }, "CacheKeyParameters": { "uniqueItems": true, - "description": "A list of request parameters whose values API Gateway caches. To be valid values for ``cacheKeyParameters``, these parameters must also be specified for Method ``requestParameters``.", + "description": "", "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "A list of request parameters whose values API Gateway caches. To be valid values for ``cacheKeyParameters``, these parameters must also be specified for Method ``requestParameters``.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "ContentHandling": { - "description": "Specifies how to handle request payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT``, with the following behaviors:\n If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the ``passthroughBehavior`` is configured to support payload pass-through.", + "description": "", "type": "string", "enum": [ "CONVERT_TO_BINARY", "CONVERT_TO_TEXT" ], - "markdownDescription": "Specifies how to handle request payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT``, with the following behaviors:\n If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the ``passthroughBehavior`` is configured to support payload pass-through.\n\n---\n\nRequired: No \nType: String \nAllowed Values: CONVERT_TO_BINARY | CONVERT_TO_TEXT \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CONVERT_TO_BINARY | CONVERT_TO_TEXT \nUpdate requires: No interruption" }, "RequestTemplates": { "patternProperties": { @@ -193,21 +193,21 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value.", + "description": "", "additionalProperties": false, "type": "object", - "markdownDescription": "Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "TimeoutInMillis": { - "description": "Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.", + "description": "", "type": "integer", "minimum": 50, - "markdownDescription": "Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Credentials": { - "description": "Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string ``arn:aws:iam::\\*:user/\\*``. To use resource-based permissions on supported AWS services, specify null.", + "description": "", "type": "string", - "markdownDescription": "Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string ``arn:aws:iam::\\*:user/\\*``. To use resource-based permissions on supported AWS services, specify null.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -227,24 +227,24 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.", + "description": "", "additionalProperties": false, "type": "object", - "markdownDescription": "Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SelectionPattern": { - "description": "Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the back end. For example, if the success response returns nothing and the error response returns some string, you could use the ``.+`` regex to match error response. However, make sure that the error response does not contain any newline (``\\n``) character in such cases. If the back end is an LAMlong function, the LAMlong function error header is matched. For all other HTTP and AWS back ends, the HTTP status code is matched.", + "description": "", "type": "string", - "markdownDescription": "Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the back end. For example, if the success response returns nothing and the error response returns some string, you could use the ``.+`` regex to match error response. However, make sure that the error response does not contain any newline (``\\n``) character in such cases. If the back end is an LAMlong function, the LAMlong function error header is matched. For all other HTTP and AWS back ends, the HTTP status code is matched.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "ContentHandling": { - "description": "Specifies how to handle response payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT``, with the following behaviors:\n If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.", + "description": "", "type": "string", "enum": [ "CONVERT_TO_BINARY", "CONVERT_TO_TEXT" ], - "markdownDescription": "Specifies how to handle response payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT``, with the following behaviors:\n If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.\n\n---\n\nRequired: No \nType: String \nAllowed Values: CONVERT_TO_BINARY | CONVERT_TO_TEXT \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CONVERT_TO_BINARY | CONVERT_TO_TEXT \nUpdate requires: No interruption" }, "ResponseParameters": { "patternProperties": { @@ -253,15 +253,15 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "A key-value map specifying response parameters that are passed to the method response from the back end. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of ``method.response.header.{name}``, where ``name`` is a valid and unique header name. The mapped non-static value must match the pattern of ``integration.response.header.{name}`` or ``integration.response.body.{JSON-expression}``, where ``name`` is a valid and unique response header name and ``JSON-expression`` is a valid JSON expression without the ``$`` prefix.", + "description": "", "additionalProperties": false, "type": "object", - "markdownDescription": "A key-value map specifying response parameters that are passed to the method response from the back end. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of ``method.response.header.{name}``, where ``name`` is a valid and unique header name. The mapped non-static value must match the pattern of ``integration.response.header.{name}`` or ``integration.response.body.{JSON-expression}``, where ``name`` is a valid and unique response header name and ``JSON-expression`` is a valid JSON expression without the ``$`` prefix.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "StatusCode": { - "description": "Specifies the status code that is used to map the integration response to an existing MethodResponse.", + "description": "", "type": "string", - "markdownDescription": "Specifies the status code that is used to map the integration response to an existing MethodResponse.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -272,14 +272,14 @@ }, "properties": { "Integration": { - "description": "Represents an ``HTTP``, ``HTTP_PROXY``, ``AWS``, ``AWS_PROXY``, or Mock integration.", + "description": "", "$ref": "#/definitions/Integration", - "markdownDescription": "Represents an ``HTTP``, ``HTTP_PROXY``, ``AWS``, ``AWS_PROXY``, or Mock integration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "OperationName": { - "description": "A human-friendly operation identifier for the method. For example, you can assign the ``operationName`` of ``ListPets`` for the ``GET /pets`` method in the ``PetStore`` example.", + "description": "", "type": "string", - "markdownDescription": "A human-friendly operation identifier for the method. For example, you can assign the ``operationName`` of ``ListPets`` for the ``GET /pets`` method in the ``PetStore`` example.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RequestModels": { "patternProperties": { @@ -288,29 +288,29 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key).", + "description": "", "additionalProperties": false, "type": "object", - "markdownDescription": "A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "RestApiId": { - "description": "The string identifier of the associated RestApi.", + "description": "", "type": "string", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "AuthorizationScopes": { - "description": "A list of authorization scopes configured on the method. The scopes are used with a ``COGNITO_USER_POOLS`` authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.", + "description": "", "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "A list of authorization scopes configured on the method. The scopes are used with a ``COGNITO_USER_POOLS`` authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "RequestValidatorId": { - "description": "The identifier of a RequestValidator for request validation.", + "description": "", "type": "string", - "markdownDescription": "The identifier of a RequestValidator for request validation.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RequestParameters": { "patternProperties": { @@ -322,34 +322,34 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: ['boolean', 'string'] \nUpdate requires: No interruption" } }, - "description": "A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of ``method.request.{location}.{name}``, where ``location`` is ``querystring``, ``path``, or ``header`` and ``name`` is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (``true``) or optional (``false``). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates.", + "description": "", "additionalProperties": false, "type": "object", - "markdownDescription": "A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of ``method.request.{location}.{name}``, where ``location`` is ``querystring``, ``path``, or ``header`` and ``name`` is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (``true``) or optional (``false``). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "MethodResponses": { "uniqueItems": true, - "description": "Gets a method response associated with a given HTTP status code.", + "description": "", "type": "array", "items": { "$ref": "#/definitions/MethodResponse" }, - "markdownDescription": "Gets a method response associated with a given HTTP status code.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "AuthorizerId": { - "description": "The identifier of an authorizer to use on this method. The method's authorization type must be ``CUSTOM`` or ``COGNITO_USER_POOLS``.", + "description": "", "type": "string", - "markdownDescription": "The identifier of an authorizer to use on this method. The method's authorization type must be ``CUSTOM`` or ``COGNITO_USER_POOLS``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "ResourceId": { - "description": "The Resource identifier for the MethodResponse resource.", + "description": "", "type": "string", - "markdownDescription": "The Resource identifier for the MethodResponse resource.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "ApiKeyRequired": { - "description": "A boolean flag specifying whether a valid ApiKey is required to invoke this method.", + "description": "", "type": "boolean", - "markdownDescription": "A boolean flag specifying whether a valid ApiKey is required to invoke this method.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "AuthorizationType": { "description": "The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) in the *API Gateway API Reference*.\n If you specify the ``AuthorizerId`` property, specify ``CUSTOM`` or ``COGNITO_USER_POOLS`` for this property.", @@ -357,9 +357,9 @@ "markdownDescription": "The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) in the *API Gateway API Reference*.\n If you specify the ``AuthorizerId`` property, specify ``CUSTOM`` or ``COGNITO_USER_POOLS`` for this property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "HttpMethod": { - "description": "The method's HTTP verb.", + "description": "", "type": "string", - "markdownDescription": "The method's HTTP verb.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" } }, "required": [ diff --git a/server/schema/resources/aws-apigateway-model.json b/server/schema/resources/aws-apigateway-model.json index 967d07ee..3b2ca86a 100644 --- a/server/schema/resources/aws-apigateway-model.json +++ b/server/schema/resources/aws-apigateway-model.json @@ -6,13 +6,13 @@ "properties": { "ContentType": { "type": "string", - "description": "The content-type for the model.", - "markdownDescription": "The content-type for the model.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "Description": { "type": "string", - "description": "The description of the model.", - "markdownDescription": "The description of the model.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Name": { "type": "string", @@ -21,16 +21,16 @@ }, "RestApiId": { "type": "string", - "description": "The string identifier of the associated RestApi.", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "Schema": { - "description": "The schema for the model. For ``application/json`` models, this should be JSON schema draft 4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail.", + "description": "", "type": [ "object", "string" ], - "markdownDescription": "The schema for the model. For ``application/json`` models, this should be JSON schema draft 4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail.\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-apigateway-requestvalidator.json b/server/schema/resources/aws-apigateway-requestvalidator.json index e14673f4..01891983 100644 --- a/server/schema/resources/aws-apigateway-requestvalidator.json +++ b/server/schema/resources/aws-apigateway-requestvalidator.json @@ -5,24 +5,24 @@ "additionalProperties": false, "properties": { "Name": { - "description": "The name of this RequestValidator", + "description": "", "type": "string", - "markdownDescription": "The name of this RequestValidator\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "RestApiId": { - "description": "The string identifier of the associated RestApi.", + "description": "", "type": "string", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "ValidateRequestBody": { - "description": "A Boolean flag to indicate whether to validate a request body according to the configured Model schema.", + "description": "", "type": "boolean", - "markdownDescription": "A Boolean flag to indicate whether to validate a request body according to the configured Model schema.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "ValidateRequestParameters": { - "description": "A Boolean flag to indicate whether to validate request parameters (``true``) or not (``false``).", + "description": "", "type": "boolean", - "markdownDescription": "A Boolean flag to indicate whether to validate request parameters (``true``) or not (``false``).\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-apigateway-resource.json b/server/schema/resources/aws-apigateway-resource.json index 9c96f87f..e1f73d41 100644 --- a/server/schema/resources/aws-apigateway-resource.json +++ b/server/schema/resources/aws-apigateway-resource.json @@ -58,19 +58,19 @@ ], "properties": { "ParentId": { - "description": "The parent resource's identifier.", + "description": "", "type": "string", - "markdownDescription": "The parent resource's identifier.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "PathPart": { - "description": "The last path segment for this resource.", + "description": "", "type": "string", - "markdownDescription": "The last path segment for this resource.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "RestApiId": { - "description": "The string identifier of the associated RestApi.", + "description": "", "type": "string", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" } }, "required": [ diff --git a/server/schema/resources/aws-apigateway-restapi.json b/server/schema/resources/aws-apigateway-restapi.json index 5e0bf2c7..942ae7ee 100644 --- a/server/schema/resources/aws-apigateway-restapi.json +++ b/server/schema/resources/aws-apigateway-restapi.json @@ -77,17 +77,17 @@ "properties": { "Types": { "uniqueItems": true, - "description": "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is ``\"EDGE\"``. For a regional API and its custom domain name, the endpoint type is ``REGIONAL``. For a private API, the endpoint type is ``PRIVATE``.", + "description": "", "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is ``\"EDGE\"``. For a regional API and its custom domain name, the endpoint type is ``REGIONAL``. For a private API, the endpoint type is ``PRIVATE``.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "VpcEndpointIds": { "uniqueItems": true, - "description": "A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for ``PRIVATE`` endpoint type.", + "description": "", "type": "array", "items": { "relationshipRef": { @@ -97,7 +97,7 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for ``PRIVATE`` endpoint type.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "markdownDescription": "The ``EndpointConfiguration`` property type specifies the endpoint types of a REST API.\n ``EndpointConfiguration`` is a property of the [AWS::ApiGateway::RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -170,14 +170,14 @@ "markdownDescription": "The Amazon Simple Storage Service (Amazon S3) location that points to an OpenAPI file, which defines a set of RESTful APIs in JSON or YAML format.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Description": { - "description": "The description of the RestApi.", + "description": "", "type": "string", - "markdownDescription": "The description of the RestApi.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "MinimumCompressionSize": { - "description": "A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.", + "description": "", "type": "integer", - "markdownDescription": "A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Parameters": { "patternProperties": { @@ -186,18 +186,18 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ``ignore=documentation`` as a ``parameters`` value, as in the AWS CLI command of ``aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'``.", + "description": "", "additionalProperties": false, "type": [ "object", "string" ], - "markdownDescription": "Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ``ignore=documentation`` as a ``parameters`` value, as in the AWS CLI command of ``aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'``.\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" }, "CloneFrom": { - "description": "The ID of the RestApi that you want to clone from.", + "description": "", "type": "string", - "markdownDescription": "The ID of the RestApi that you want to clone from.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Mode": { "description": "This property applies only when you use OpenAPI to define your REST API. The ``Mode`` determines how API Gateway handles resource updates.\n Valid values are ``overwrite`` or ``merge``. \n For ``overwrite``, the new API definition replaces the existing one. The existing API identifier remains unchanged.\n For ``merge``, the new API definition is merged with the existing API.\n If you don't specify this property, a default value is chosen. For REST APIs created before March 29, 2021, the default is ``overwrite``. For REST APIs created after March 29, 2021, the new API definition takes precedence, but any container types such as endpoint configurations and binary media types are merged with the existing API. \n Use the default mode to define top-level ``RestApi`` properties in addition to using OpenAPI. Generally, it's preferred to use API Gateway's OpenAPI extensions to model these properties.", @@ -205,24 +205,24 @@ "markdownDescription": "This property applies only when you use OpenAPI to define your REST API. The ``Mode`` determines how API Gateway handles resource updates.\n Valid values are ``overwrite`` or ``merge``. \n For ``overwrite``, the new API definition replaces the existing one. The existing API identifier remains unchanged.\n For ``merge``, the new API definition is merged with the existing API.\n If you don't specify this property, a default value is chosen. For REST APIs created before March 29, 2021, the default is ``overwrite``. For REST APIs created after March 29, 2021, the new API definition takes precedence, but any container types such as endpoint configurations and binary media types are merged with the existing API. \n Use the default mode to define top-level ``RestApi`` properties in addition to using OpenAPI. Generally, it's preferred to use API Gateway's OpenAPI extensions to model these properties.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DisableExecuteApiEndpoint": { - "description": "Specifies whether clients can invoke your API by using the default ``execute-api`` endpoint. By default, clients can invoke your API with the default ``https://{api_id}.execute-api.{region}.amazonaws.com`` endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether clients can invoke your API by using the default ``execute-api`` endpoint. By default, clients can invoke your API with the default ``https://{api_id}.execute-api.{region}.amazonaws.com`` endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "FailOnWarnings": { - "description": "A query parameter to indicate whether to rollback the API update (``true``) or not (``false``) when a warning is encountered. The default value is ``false``.", + "description": "", "type": "boolean", - "markdownDescription": "A query parameter to indicate whether to rollback the API update (``true``) or not (``false``) when a warning is encountered. The default value is ``false``.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "BinaryMediaTypes": { "uniqueItems": true, - "description": "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.", + "description": "", "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Name": { "description": "The name of the RestApi. A name is required if the REST API is not based on an OpenAPI specification.", @@ -230,9 +230,9 @@ "markdownDescription": "The name of the RestApi. A name is required if the REST API is not based on an OpenAPI specification.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "ApiKeySourceType": { - "description": "The source of the API key for metering requests according to a usage plan. Valid values are: ``HEADER`` to read the API key from the ``X-API-Key`` header of a request. ``AUTHORIZER`` to read the API key from the ``UsageIdentifierKey`` from a custom authorizer.", + "description": "", "type": "string", - "markdownDescription": "The source of the API key for metering requests according to a usage plan. Valid values are: ``HEADER`` to read the API key from the ``X-API-Key`` header of a request. ``AUTHORIZER`` to read the API key from the ``UsageIdentifierKey`` from a custom authorizer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "EndpointConfiguration": { "description": "A list of the endpoint types of the API. Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the ``Parameters`` property.", @@ -249,12 +249,12 @@ }, "Tags": { "uniqueItems": false, - "description": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with ``aws:``. The tag value can be up to 256 characters.", + "description": "", "type": "array", "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with ``aws:``. The tag value can be up to 256 characters.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "attributes": { diff --git a/server/schema/resources/aws-apigateway-stage.json b/server/schema/resources/aws-apigateway-stage.json index 1f6e71db..cc5908f7 100644 --- a/server/schema/resources/aws-apigateway-stage.json +++ b/server/schema/resources/aws-apigateway-stage.json @@ -5,79 +5,79 @@ "additionalProperties": false, "properties": { "AccessLogSetting": { - "description": "Access log settings, including the access log format and access log destination ARN.", + "description": "", "$ref": "#/definitions/AccessLogSetting", - "markdownDescription": "Access log settings, including the access log format and access log destination ARN.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "CacheClusterEnabled": { - "description": "Specifies whether a cache cluster is enabled for the stage.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether a cache cluster is enabled for the stage.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "CacheClusterSize": { - "description": "The stage's cache capacity in GB. For more information about choosing a cache size, see [Enabling API caching to enhance responsiveness](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html).", + "description": "", "type": "string", - "markdownDescription": "The stage's cache capacity in GB. For more information about choosing a cache size, see [Enabling API caching to enhance responsiveness](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "CanarySetting": { - "description": "Settings for the canary deployment in this stage.", + "description": "", "$ref": "#/definitions/CanarySetting", - "markdownDescription": "Settings for the canary deployment in this stage.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "ClientCertificateId": { - "description": "The identifier of a client certificate for an API stage.", + "description": "", "type": "string", - "markdownDescription": "The identifier of a client certificate for an API stage.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DeploymentId": { - "description": "The identifier of the Deployment that the stage points to.", + "description": "", "type": "string", - "markdownDescription": "The identifier of the Deployment that the stage points to.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Description": { - "description": "The stage's description.", + "description": "", "type": "string", - "markdownDescription": "The stage's description.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DocumentationVersion": { - "description": "The version of the associated API documentation.", + "description": "", "type": "string", - "markdownDescription": "The version of the associated API documentation.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "MethodSettings": { - "description": "A map that defines the method settings for a Stage resource. Keys (designated as ``/{method_setting_key`` below) are method paths defined as ``{resource_path}/{http_method}`` for an individual method override, or ``/\\*/\\*`` for overriding all methods in the stage.", + "description": "", "type": "array", "uniqueItems": true, "insertionOrder": false, "items": { "$ref": "#/definitions/MethodSetting" }, - "markdownDescription": "A map that defines the method settings for a Stage resource. Keys (designated as ``/{method_setting_key`` below) are method paths defined as ``{resource_path}/{http_method}`` for an individual method override, or ``/\\*/\\*`` for overriding all methods in the stage.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "RestApiId": { - "description": "The string identifier of the associated RestApi.", + "description": "", "type": "string", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "StageName": { - "description": "The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.", + "description": "", "type": "string", - "markdownDescription": "The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "Tags": { - "description": "The collection of tags. Each tag element is associated with a given resource.", + "description": "", "type": "array", "uniqueItems": false, "insertionOrder": false, "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "TracingEnabled": { - "description": "Specifies whether active tracing with X-ray is enabled for the Stage.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether active tracing with X-ray is enabled for the Stage.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "Variables": { "description": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters. Values must match the following regular expression: ``[A-Za-z0-9-._~:/?#&=,]+``.", @@ -94,24 +94,24 @@ }, "definitions": { "CanarySetting": { - "description": "Configuration settings of a canary deployment.", + "description": "", "type": "object", "additionalProperties": false, "properties": { "DeploymentId": { - "description": "The ID of the canary deployment.", + "description": "", "type": "string", - "markdownDescription": "The ID of the canary deployment.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "PercentTraffic": { - "description": "The percent (0-100) of traffic diverted to a canary deployment.", + "description": "", "type": "number", "minimum": 0, "maximum": 100, - "markdownDescription": "The percent (0-100) of traffic diverted to a canary deployment.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, "StageVariableOverrides": { - "description": "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.", + "description": "", "type": "object", "additionalProperties": false, "patternProperties": { @@ -120,15 +120,15 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "UseStageCache": { - "description": "A Boolean flag to indicate whether the canary deployment uses the stage cache or not.", + "description": "", "type": "boolean", - "markdownDescription": "A Boolean flag to indicate whether the canary deployment uses the stage cache or not.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, - "markdownDescription": "Configuration settings of a canary deployment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AccessLogSetting": { "description": "The ``AccessLogSetting`` property type specifies settings for logging access in this stage.\n ``AccessLogSetting`` is a property of the [AWS::ApiGateway::Stage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html) resource.", @@ -154,24 +154,24 @@ "additionalProperties": false, "properties": { "CacheDataEncrypted": { - "description": "Specifies whether the cached responses are encrypted.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether the cached responses are encrypted.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "CacheTtlInSeconds": { - "description": "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached.", + "description": "", "type": "integer", - "markdownDescription": "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "CachingEnabled": { - "description": "Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "DataTraceEnabled": { - "description": "Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "HttpMethod": { "description": "The HTTP method. To apply settings to multiple resources and methods, specify an asterisk (``*``) for the ``HttpMethod`` and ``/*`` for the ``ResourcePath``. This parameter is required when you specify a ``MethodSetting``.", @@ -179,14 +179,14 @@ "markdownDescription": "The HTTP method. To apply settings to multiple resources and methods, specify an asterisk (``*``) for the ``HttpMethod`` and ``/*`` for the ``ResourcePath``. This parameter is required when you specify a ``MethodSetting``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "LoggingLevel": { - "description": "Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. Valid values are ``OFF``, ``ERROR``, and ``INFO``. Choose ``ERROR`` to write only error-level entries to CloudWatch Logs, or choose ``INFO`` to include all ``ERROR`` events as well as extra informational events.", + "description": "", "type": "string", - "markdownDescription": "Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. Valid values are ``OFF``, ``ERROR``, and ``INFO``. Choose ``ERROR`` to write only error-level entries to CloudWatch Logs, or choose ``INFO`` to include all ``ERROR`` events as well as extra informational events.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "MetricsEnabled": { - "description": "Specifies whether Amazon CloudWatch metrics are enabled for this method.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether Amazon CloudWatch metrics are enabled for this method.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "ResourcePath": { "description": "The resource path for this method. Forward slashes (``/``) are encoded as ``~1`` and the initial slash must include a forward slash. For example, the path value ``/resource/subresource`` must be encoded as ``/~1resource~1subresource``. To specify the root path, use only a slash (``/``). To apply settings to multiple resources and methods, specify an asterisk (``*``) for the ``HttpMethod`` and ``/*`` for the ``ResourcePath``. This parameter is required when you specify a ``MethodSetting``.", @@ -194,16 +194,16 @@ "markdownDescription": "The resource path for this method. Forward slashes (``/``) are encoded as ``~1`` and the initial slash must include a forward slash. For example, the path value ``/resource/subresource`` must be encoded as ``/~1resource~1subresource``. To specify the root path, use only a slash (``/``). To apply settings to multiple resources and methods, specify an asterisk (``*``) for the ``HttpMethod`` and ``/*`` for the ``ResourcePath``. This parameter is required when you specify a ``MethodSetting``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "ThrottlingBurstLimit": { - "description": "Specifies the throttling burst limit.", + "description": "", "type": "integer", "minimum": 0, - "markdownDescription": "Specifies the throttling burst limit.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "ThrottlingRateLimit": { - "description": "Specifies the throttling rate limit.", + "description": "", "type": "number", "minimum": 0, - "markdownDescription": "Specifies the throttling rate limit.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" } }, "markdownDescription": "The ``MethodSetting`` property type configures settings for all methods in a stage.\n The ``MethodSettings`` property of the ``AWS::ApiGateway::Stage`` resource contains a list of ``MethodSetting`` property types.\n\n---\n\nRequired: No \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-apigateway-usageplan.json b/server/schema/resources/aws-apigateway-usageplan.json index 991e7a67..efd05d8c 100644 --- a/server/schema/resources/aws-apigateway-usageplan.json +++ b/server/schema/resources/aws-apigateway-usageplan.json @@ -6,42 +6,42 @@ "properties": { "ApiStages": { "type": "array", - "description": "The associated API stages of a usage plan.", + "description": "", "uniqueItems": true, "items": { "$ref": "#/definitions/ApiStage" }, - "markdownDescription": "The associated API stages of a usage plan.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Description": { "type": "string", - "description": "The description of a usage plan.", - "markdownDescription": "The description of a usage plan.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Quota": { "$ref": "#/definitions/QuotaSettings", - "description": "The target maximum number of permitted requests per a given unit time interval.", - "markdownDescription": "The target maximum number of permitted requests per a given unit time interval.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Tags": { "type": "array", - "description": "The collection of tags. Each tag element is associated with a given resource.", + "description": "", "insertionOrder": false, "uniqueItems": false, "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Throttle": { "$ref": "#/definitions/ThrottleSettings", - "description": "A map containing method level throttling information for API stage in a usage plan.", - "markdownDescription": "A map containing method level throttling information for API stage in a usage plan.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "UsagePlanName": { "type": "string", - "description": "The name of a usage plan.", - "markdownDescription": "The name of a usage plan.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "definitions": { @@ -51,28 +51,28 @@ "properties": { "ApiId": { "type": "string", - "description": "API Id of the associated API stage in a usage plan.", - "markdownDescription": "API Id of the associated API stage in a usage plan.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Stage": { "type": "string", - "description": "API stage name of the associated API stage in a usage plan.", - "markdownDescription": "API stage name of the associated API stage in a usage plan.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Throttle": { "type": "object", - "description": "Map containing method level throttling information for API stage in a usage plan.", + "description": "", "additionalProperties": false, "patternProperties": { ".*": { "$ref": "#/definitions/ThrottleSettings" } }, - "markdownDescription": "Map containing method level throttling information for API stage in a usage plan.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "description": "API stage name of the associated API stage in a usage plan.", - "markdownDescription": "API stage name of the associated API stage in a usage plan.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ThrottleSettings": { "type": "object", @@ -81,14 +81,14 @@ "BurstLimit": { "type": "integer", "minimum": 0, - "description": "The API target request burst rate limit. This allows more requests through for a period of time than the target rate limit.", - "markdownDescription": "The API target request burst rate limit. This allows more requests through for a period of time than the target rate limit.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "RateLimit": { "type": "number", "minimum": 0, - "description": "The API target request rate limit.", - "markdownDescription": "The API target request rate limit.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" } }, "description": "``ThrottleSettings`` is a property of the [AWS::ApiGateway::UsagePlan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html) resource that specifies the overall request rate (average requests per second) and burst capacity when users call your REST APIs.", @@ -127,19 +127,19 @@ "Limit": { "type": "integer", "minimum": 0, - "description": "The target maximum number of requests that can be made in a given time period.", - "markdownDescription": "The target maximum number of requests that can be made in a given time period.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Offset": { "type": "integer", "minimum": 0, - "description": "The number of requests subtracted from the given limit in the initial time period.", - "markdownDescription": "The number of requests subtracted from the given limit in the initial time period.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Period": { "type": "string", - "description": "The time period in which the limit applies. Valid values are \"DAY\", \"WEEK\" or \"MONTH\".", - "markdownDescription": "The time period in which the limit applies. Valid values are \"DAY\", \"WEEK\" or \"MONTH\".\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "description": "``QuotaSettings`` is a property of the [AWS::ApiGateway::UsagePlan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html) resource that specifies a target for the maximum number of requests users can make to your REST APIs.\n In some cases clients can exceed the targets that you set. Don\u2019t rely on usage plans to control costs. Consider using [](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html) to monitor costs and [](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) to manage API requests.", diff --git a/server/schema/resources/aws-apigateway-usageplankey.json b/server/schema/resources/aws-apigateway-usageplankey.json index 00f6cc64..fb1b214c 100644 --- a/server/schema/resources/aws-apigateway-usageplankey.json +++ b/server/schema/resources/aws-apigateway-usageplankey.json @@ -10,12 +10,12 @@ "markdownDescription": "The Id of the UsagePlanKey resource.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "KeyType": { - "description": "The type of a UsagePlanKey resource for a plan customer.", + "description": "", "type": "string", "enum": [ "API_KEY" ], - "markdownDescription": "The type of a UsagePlanKey resource for a plan customer.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: API_KEY \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: API_KEY \nUpdate requires: Replacement" }, "UsagePlanId": { "description": "The Id of the UsagePlan resource representing the usage plan containing the UsagePlanKey resource representing a plan customer.", diff --git a/server/schema/resources/aws-apigateway-vpclink.json b/server/schema/resources/aws-apigateway-vpclink.json index e042ed00..9eb1c115 100644 --- a/server/schema/resources/aws-apigateway-vpclink.json +++ b/server/schema/resources/aws-apigateway-vpclink.json @@ -4,14 +4,14 @@ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "properties": { "Name": { - "description": "The name used to label and identify the VPC link.", + "description": "", "type": "string", - "markdownDescription": "The name used to label and identify the VPC link.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Description": { - "description": "The description of the VPC link.", + "description": "", "type": "string", - "markdownDescription": "The description of the VPC link.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Tags": { "description": "An array of arbitrary tags (key-value pairs) to associate with the VPC link.", @@ -24,7 +24,7 @@ "markdownDescription": "An array of arbitrary tags (key-value pairs) to associate with the VPC link.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "TargetArns": { - "description": "The ARN of the network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS-account of the API owner.", + "description": "", "type": "array", "uniqueItems": false, "insertionOrder": false, @@ -32,7 +32,7 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "The ARN of the network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS-account of the API owner.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: Replacement" } }, "definitions": { diff --git a/server/schema/resources/aws-apigatewayv2-domainname.json b/server/schema/resources/aws-apigatewayv2-domainname.json index 891c4d6a..dbc0b007 100644 --- a/server/schema/resources/aws-apigatewayv2-domainname.json +++ b/server/schema/resources/aws-apigatewayv2-domainname.json @@ -10,9 +10,9 @@ "markdownDescription": "The mutual TLS authentication configuration for a custom domain name.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "DomainName": { - "description": "The custom domain name for your API in Amazon API Gateway. Uppercase letters are not supported.", + "description": "The custom domain name for your API in Amazon API Gateway. Uppercase letters and the underscore (``_``) character are not supported.", "type": "string", - "markdownDescription": "The custom domain name for your API in Amazon API Gateway. Uppercase letters are not supported.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The custom domain name for your API in Amazon API Gateway. Uppercase letters and the underscore (``_``) character are not supported.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "DomainNameConfigurations": { "description": "The domain name configurations.", @@ -85,8 +85,8 @@ "markdownDescription": "An AWS-managed certificate that will be used by the edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "The ``DomainNameConfiguration`` property type specifies the configuration for an API's domain name.\n ``DomainNameConfiguration`` is a property of the [AWS::ApiGatewayV2::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html) resource.", - "markdownDescription": "The ``DomainNameConfiguration`` property type specifies the configuration for an API's domain name.\n ``DomainNameConfiguration`` is a property of the [AWS::ApiGatewayV2::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html) resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "The ``DomainNameConfiguration`` property type specifies the configuration for an API's domain name.\n ``DomainNameConfiguration`` is a property of the [AWS::ApiGatewayV2::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html) resource.", + "markdownDescription": "The ``DomainNameConfiguration`` property type specifies the configuration for an API's domain name.\n ``DomainNameConfiguration`` is a property of the [AWS::ApiGatewayV2::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html) resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-appconfig-application.json b/server/schema/resources/aws-appconfig-application.json index 6d790bfa..618a64e0 100644 --- a/server/schema/resources/aws-appconfig-application.json +++ b/server/schema/resources/aws-appconfig-application.json @@ -13,7 +13,7 @@ "description": "The key-value string map. The valid character set is [a-zA-Z1-9 +-=._:/-]. The tag key can be up to 128 characters and must not start with aws:.", "minLength": 1, "maxLength": 128, - "markdownDescription": "The key-value string map. The valid character set is [a-zA-Z1-9 +-=._:/-]. The tag key can be up to 128 characters and must not start with aws:.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:.)[a-zA-Z1-9+=._:/-]*$ \nUpdate requires: No interruption" + "markdownDescription": "The key-value string map. The valid character set is [a-zA-Z1-9 +-=._:/-]. The tag key can be up to 128 characters and must not start with aws:.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, "Value": { "type": "string", @@ -101,7 +101,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "appconfig:TagResource", + "appconfig:UntagResource", + "appconfig:ListTagsForResource" + ] }, "attributes": { "ApplicationId": { diff --git a/server/schema/resources/aws-appconfig-configurationprofile.json b/server/schema/resources/aws-appconfig-configurationprofile.json index d7286fef..642adbdb 100644 --- a/server/schema/resources/aws-appconfig-configurationprofile.json +++ b/server/schema/resources/aws-appconfig-configurationprofile.json @@ -1,12 +1,37 @@ { - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig", "tagging": { + "permissions": [ + "appconfig:TagResource", + "appconfig:UntagResource", + "appconfig:ListTagsForResource" + ], "taggable": true, "tagOnCreate": true, "tagUpdatable": true, "tagProperty": "/properties/Tags", "cloudFormationSystemTags": true }, + "typeName": "AWS::AppConfig::ConfigurationProfile", + "readOnlyProperties": [ + "/properties/ConfigurationProfileId", + "/properties/KmsKeyArn" + ], + "description": "An example resource schema demonstrating some basic constructs and validation rules.", + "createOnlyProperties": [ + "/properties/LocationUri", + "/properties/Type", + "/properties/ApplicationId" + ], + "primaryIdentifier": [ + "/properties/ApplicationId", + "/properties/ConfigurationProfileId" + ], + "required": [ + "LocationUri", + "ApplicationId", + "Name" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig", "handlers": { "read": { "permissions": [ @@ -52,22 +77,10 @@ ] } }, - "typeName": "AWS::AppConfig::ConfigurationProfile", - "readOnlyProperties": [ - "/properties/ConfigurationProfileId", - "/properties/KmsKeyArn" - ], - "description": "An example resource schema demonstrating some basic constructs and validation rules.", - "createOnlyProperties": [ - "/properties/LocationUri", - "/properties/Type", - "/properties/ApplicationId" + "writeOnlyProperties": [ + "/properties/DeletionProtectionCheck" ], "additionalProperties": false, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/ConfigurationProfileId" - ], "definitions": { "Validators": { "description": "A list of methods for validating the configuration.", @@ -106,7 +119,7 @@ "description": "The key-value string map. The tag key can be up to 128 characters and must not start with aws:.", "type": "string", "maxLength": 128, - "markdownDescription": "The key-value string map. The tag key can be up to 128 characters and must not start with aws:.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:.)[a-zA-Z0-9 +=._:/-]*$ \nUpdate requires: No interruption" + "markdownDescription": "The key-value string map. The tag key can be up to 128 characters and must not start with aws:.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "markdownDescription": "Metadata to assign to the configuration profile. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -155,6 +168,16 @@ "maxLength": 2048, "markdownDescription": "The ARN of an IAM role with permission to access the configuration at the specified LocationUri.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^((arn):(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):(iam)::\\d{12}:role[/].*)$ \nUpdate requires: No interruption" }, + "DeletionProtectionCheck": { + "description": "On resource deletion this controls whether the Deletion Protection check should be applied, bypassed, or (the default) whether the behavior should be controlled by the account-level Deletion Protection setting. See https://docs.aws.amazon.com/appconfig/latest/userguide/deletion-protection.html", + "type": "string", + "enum": [ + "ACCOUNT_DEFAULT", + "APPLY", + "BYPASS" + ], + "markdownDescription": "On resource deletion this controls whether the Deletion Protection check should be applied, bypassed, or (the default) whether the behavior should be controlled by the account-level Deletion Protection setting. See https://docs.aws.amazon.com/appconfig/latest/userguide/deletion-protection.html\n\n---\n\nRequired: No \nType: String \nAllowed Values: ACCOUNT_DEFAULT | APPLY | BYPASS \nUpdate requires: No interruption" + }, "ApplicationId": { "description": "The application ID.", "type": "string", @@ -178,11 +201,6 @@ "markdownDescription": "A name for the configuration profile.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, - "required": [ - "LocationUri", - "ApplicationId", - "Name" - ], "attributes": { "ConfigurationProfileId": { "description": "The configuration profile ID", diff --git a/server/schema/resources/aws-appconfig-deployment.json b/server/schema/resources/aws-appconfig-deployment.json index 790285a9..82f58983 100644 --- a/server/schema/resources/aws-appconfig-deployment.json +++ b/server/schema/resources/aws-appconfig-deployment.json @@ -1,117 +1,190 @@ { + "tagging": { + "permissions": [ + "appconfig:TagResource", + "appconfig:UntagResource", + "appconfig:ListTagsForResource" + ], + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": true + }, "typeName": "AWS::AppConfig::Deployment", + "readOnlyProperties": [ + "/properties/DeploymentNumber" + ], "description": "Resource Type definition for AWS::AppConfig::Deployment", + "createOnlyProperties": [ + "/properties/ApplicationId", + "/properties/ConfigurationProfileId", + "/properties/DeploymentStrategyId", + "/properties/EnvironmentId", + "/properties/Description", + "/properties/ConfigurationVersion", + "/properties/KmsKeyIdentifier", + "/properties/DynamicExtensionParameters", + "/properties/Tags" + ], + "primaryIdentifier": [ + "/properties/ApplicationId", + "/properties/EnvironmentId", + "/properties/DeploymentNumber" + ], + "required": [ + "ApplicationId", + "ConfigurationProfileId", + "DeploymentStrategyId", + "EnvironmentId", + "ConfigurationVersion" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "handlers": { + "read": { + "permissions": [ + "appconfig:GetDeployment", + "appconfig:ListTagsForResource" + ] + }, + "create": { + "permissions": [ + "appconfig:StartDeployment", + "appconfig:GetDeployment", + "appconfig:TagResource", + "appconfig:ListTagsForResource", + "kms:GenerateDataKey" + ], + "timeoutInMinutes": 1445 + }, + "list": { + "permissions": [ + "appconfig:ListDeployments" + ], + "handlerSchema": { + "properties": { + "EnvironmentId": { + "$ref": "resource-schema.json#/properties/EnvironmentId" + }, + "ApplicationId": { + "$ref": "resource-schema.json#/properties/ApplicationId" + } + }, + "required": [ + "ApplicationId", + "EnvironmentId" + ] + } + }, + "delete": { + "permissions": [ + "appconfig:StopDeployment" + ] + } + }, + "writeOnlyProperties": [ + "/properties/DynamicExtensionParameters" + ], "additionalProperties": false, + "definitions": { + "Tag": { + "description": "Metadata to assign to the deployment. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "description": "The tag value can be up to 256 characters.", + "type": "string", + "markdownDescription": "The tag value can be up to 256 characters.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Key": { + "description": "The key-value string map. The valid character set is [a-zA-Z1-9+-=._:/]. The tag key can be up to 128 characters and must not start with aws:.", + "type": "string", + "markdownDescription": "The key-value string map. The valid character set is [a-zA-Z1-9+-=._:/]. The tag key can be up to 128 characters and must not start with aws:.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Metadata to assign to the deployment. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DynamicExtensionParameters": { + "additionalProperties": false, + "type": "object", + "properties": { + "ParameterValue": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ExtensionReference": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ParameterName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, "properties": { "DeploymentStrategyId": { + "description": "The deployment strategy ID.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The deployment strategy ID.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "ConfigurationProfileId": { + "description": "The configuration profile ID.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The configuration profile ID.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "EnvironmentId": { + "description": "The environment ID.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The environment ID.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "KmsKeyIdentifier": { + "description": "The AWS Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The AWS Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated.\n\n---\n\nRequired: No \nType: String \nPattern: ^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|alias/[a-zA-Z0-9/_-]{1,250}|arn:aws[a-zA-Z-]*:kms:[a-z]{2}(-gov|-iso(b?))?-[a-z]+-\\d{1}:\\d{12}:(key/[0-9a-f-]{36}|alias/[a-zA-Z0-9/_-]{1,250})$ \nUpdate requires: Replacement" }, "Description": { + "description": "A description of the deployment.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "A description of the deployment.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "ConfigurationVersion": { + "description": "The configuration version to deploy. If deploying an AWS AppConfig hosted configuration version, you can specify either the version number or version label. For all other configurations, you must specify the version number.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The configuration version to deploy. If deploying an AWS AppConfig hosted configuration version, you can specify either the version number or version label. For all other configurations, you must specify the version number.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "ApplicationId": { + "description": "The application ID.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The application ID.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "DynamicExtensionParameters": { - "type": "array", "uniqueItems": false, + "type": "array", "items": { "$ref": "#/definitions/DynamicExtensionParameters" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" }, "Tags": { + "uniqueItems": true, + "description": "An array of key-value pairs to apply to this resource.", + "insertionOrder": false, "type": "array", - "uniqueItems": false, "items": { - "$ref": "#/definitions/Tags" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" - } - }, - "definitions": { - "DynamicExtensionParameters": { - "type": "object", - "additionalProperties": false, - "properties": { - "ExtensionReference": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "ParameterName": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "ParameterValue": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Tags": { - "type": "object", - "additionalProperties": false, - "properties": { - "Value": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Key": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } + "$ref": "#/definitions/Tag" }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" } }, - "required": [ - "DeploymentStrategyId", - "ConfigurationProfileId", - "EnvironmentId", - "ConfigurationVersion", - "ApplicationId" - ], - "createOnlyProperties": [ - "/properties/KmsKeyIdentifier", - "/properties/DeploymentStrategyId", - "/properties/ConfigurationVersion", - "/properties/ApplicationId", - "/properties/ConfigurationProfileId", - "/properties/Tags", - "/properties/EnvironmentId", - "/properties/Description", - "/properties/DynamicExtensionParameters" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "readOnlyProperties": [ - "/properties/Id" - ], "attributes": { - "Id": { + "DeploymentNumber": { + "description": "The sequence number of the deployment.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The sequence number of the deployment.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-appconfig-deploymentstrategy.json b/server/schema/resources/aws-appconfig-deploymentstrategy.json index ec699ed0..2ecdb1d4 100644 --- a/server/schema/resources/aws-appconfig-deploymentstrategy.json +++ b/server/schema/resources/aws-appconfig-deploymentstrategy.json @@ -1,67 +1,91 @@ { "typeName": "AWS::AppConfig::DeploymentStrategy", "description": "Resource Type definition for AWS::AppConfig::DeploymentStrategy", - "additionalProperties": false, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", "properties": { - "ReplicateTo": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "GrowthType": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "DeploymentDurationInMinutes": { + "type": "number", + "description": "Total amount of time for a deployment to last.", + "markdownDescription": "Total amount of time for a deployment to last.\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, "Description": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A description of the deployment strategy.", + "markdownDescription": "A description of the deployment strategy.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "DeploymentDurationInMinutes": { + "FinalBakeTimeInMinutes": { "type": "number", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "description": "Specifies the amount of time AWS AppConfig monitors for Amazon CloudWatch alarms after the configuration has been deployed to 100% of its targets, before considering the deployment to be complete. If an alarm is triggered during this time, AWS AppConfig rolls back the deployment. You must configure permissions for AWS AppConfig to roll back based on CloudWatch alarms. For more information, see Configuring permissions for rollback based on Amazon CloudWatch alarms in the AWS AppConfig User Guide.", + "markdownDescription": "Specifies the amount of time AWS AppConfig monitors for Amazon CloudWatch alarms after the configuration has been deployed to 100% of its targets, before considering the deployment to be complete. If an alarm is triggered during this time, AWS AppConfig rolls back the deployment. You must configure permissions for AWS AppConfig to roll back based on CloudWatch alarms. For more information, see Configuring permissions for rollback based on Amazon CloudWatch alarms in the AWS AppConfig User Guide.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, "GrowthFactor": { "type": "number", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "description": "The percentage of targets to receive a deployed configuration during each interval.", + "markdownDescription": "The percentage of targets to receive a deployed configuration during each interval.\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, - "FinalBakeTimeInMinutes": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "GrowthType": { + "type": "string", + "description": "The algorithm used to define how percentage grows over time. AWS AppConfig supports the following growth types:\n\nLinear: For this type, AWS AppConfig processes the deployment by dividing the total number of targets by the value specified for Step percentage. For example, a linear deployment that uses a Step percentage of 10 deploys the configuration to 10 percent of the hosts. After those deployments are complete, the system deploys the configuration to the next 10 percent. This continues until 100% of the targets have successfully received the configuration.\n\nExponential: For this type, AWS AppConfig processes the deployment exponentially using the following formula: G*(2^N). In this formula, G is the growth factor specified by the user and N is the number of steps until the configuration is deployed to all targets. For example, if you specify a growth factor of 2, then the system rolls out the configuration as follows:\n\n2*(2^0)\n\n2*(2^1)\n\n2*(2^2)\n\nExpressed numerically, the deployment rolls out as follows: 2% of the targets, 4% of the targets, 8% of the targets, and continues until the configuration has been deployed to all targets.", + "enum": [ + "EXPONENTIAL", + "LINEAR" + ], + "markdownDescription": "The algorithm used to define how percentage grows over time. AWS AppConfig supports the following growth types:\n\nLinear: For this type, AWS AppConfig processes the deployment by dividing the total number of targets by the value specified for Step percentage. For example, a linear deployment that uses a Step percentage of 10 deploys the configuration to 10 percent of the hosts. After those deployments are complete, the system deploys the configuration to the next 10 percent. This continues until 100% of the targets have successfully received the configuration.\n\nExponential: For this type, AWS AppConfig processes the deployment exponentially using the following formula: G*(2^N). In this formula, G is the growth factor specified by the user and N is the number of steps until the configuration is deployed to all targets. For example, if you specify a growth factor of 2, then the system rolls out the configuration as follows:\n\n2*(2^0)\n\n2*(2^1)\n\n2*(2^2)\n\nExpressed numerically, the deployment rolls out as follows: 2% of the targets, 4% of the targets, 8% of the targets, and continues until the configuration has been deployed to all targets.\n\n---\n\nRequired: No \nType: String \nAllowed Values: EXPONENTIAL | LINEAR \nUpdate requires: No interruption" + }, + "Name": { + "type": "string", + "description": "A name for the deployment strategy.", + "markdownDescription": "A name for the deployment strategy.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "ReplicateTo": { + "type": "string", + "description": "Save the deployment strategy to a Systems Manager (SSM) document.", + "enum": [ + "NONE", + "SSM_DOCUMENT" + ], + "markdownDescription": "Save the deployment strategy to a Systems Manager (SSM) document.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: NONE | SSM_DOCUMENT \nUpdate requires: Replacement" }, "Tags": { "type": "array", - "uniqueItems": false, + "description": "Assigns metadata to an AWS AppConfig resource. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define. You can specify a maximum of 50 tags for a resource.", + "uniqueItems": true, + "insertionOrder": false, "items": { - "$ref": "#/definitions/Tags" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Name": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "Assigns metadata to an AWS AppConfig resource. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define. You can specify a maximum of 50 tags for a resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "definitions": { - "Tags": { + "Tag": { + "description": "Metadata to assign to the deployment strategy. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", "type": "object", - "additionalProperties": false, "properties": { - "Value": { + "Key": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Key": { + "Value": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "Metadata to assign to the deployment strategy. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "additionalProperties": false, "required": [ - "ReplicateTo", "DeploymentDurationInMinutes", "GrowthFactor", - "Name" + "Name", + "ReplicateTo" + ], + "readOnlyProperties": [ + "/properties/Id" ], "createOnlyProperties": [ "/properties/Name", @@ -70,13 +94,54 @@ "primaryIdentifier": [ "/properties/Id" ], - "readOnlyProperties": [ - "/properties/Id" - ], + "handlers": { + "create": { + "permissions": [ + "appconfig:CreateDeploymentStrategy", + "appconfig:TagResource" + ] + }, + "read": { + "permissions": [ + "appconfig:GetDeploymentStrategy", + "appconfig:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "appconfig:UpdateDeploymentStrategy", + "appconfig:TagResource", + "appconfig:UntagResource" + ] + }, + "delete": { + "permissions": [ + "appconfig:DeleteDeploymentStrategy" + ] + }, + "list": { + "permissions": [ + "appconfig:ListDeploymentStrategies" + ] + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "appconfig:TagResource", + "appconfig:UntagResource", + "appconfig:ListTagsForResource" + ] + }, "attributes": { "Id": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The deployment strategy ID.", + "markdownDescription": "The deployment strategy ID.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-appconfig-environment.json b/server/schema/resources/aws-appconfig-environment.json index bb68a8fd..2ba63e50 100644 --- a/server/schema/resources/aws-appconfig-environment.json +++ b/server/schema/resources/aws-appconfig-environment.json @@ -1,12 +1,33 @@ { - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", "tagging": { + "permissions": [ + "appconfig:TagResource", + "appconfig:UntagResource", + "appconfig:ListTagsForResource" + ], "taggable": true, "tagOnCreate": true, "tagUpdatable": true, "tagProperty": "/properties/Tags", "cloudFormationSystemTags": true }, + "typeName": "AWS::AppConfig::Environment", + "readOnlyProperties": [ + "/properties/EnvironmentId" + ], + "description": "Resource Type definition for AWS::AppConfig::Environment", + "createOnlyProperties": [ + "/properties/ApplicationId" + ], + "primaryIdentifier": [ + "/properties/ApplicationId", + "/properties/EnvironmentId" + ], + "required": [ + "Name", + "ApplicationId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", "handlers": { "read": { "permissions": [ @@ -53,19 +74,10 @@ ] } }, - "typeName": "AWS::AppConfig::Environment", - "readOnlyProperties": [ - "/properties/EnvironmentId" - ], - "description": "Resource Type definition for AWS::AppConfig::Environment", - "createOnlyProperties": [ - "/properties/ApplicationId" + "writeOnlyProperties": [ + "/properties/DeletionProtectionCheck" ], "additionalProperties": false, - "primaryIdentifier": [ - "/properties/ApplicationId", - "/properties/EnvironmentId" - ], "definitions": { "Monitor": { "description": "Amazon CloudWatch alarm to monitor during the deployment process.", @@ -117,7 +129,7 @@ "description": "The key-value string map. The valid character set is [a-zA-Z1-9+-=._:/]. The tag key can be up to 128 characters and must not start with aws:.", "type": "string", "maxLength": 128, - "markdownDescription": "The key-value string map. The valid character set is [a-zA-Z1-9+-=._:/]. The tag key can be up to 128 characters and must not start with aws:.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:.)[a-zA-Z1-9+=._:/-]*$ \nUpdate requires: No interruption" + "markdownDescription": "The key-value string map. The valid character set is [a-zA-Z1-9+-=._:/]. The tag key can be up to 128 characters and must not start with aws:.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ @@ -146,6 +158,16 @@ }, "markdownDescription": "Amazon CloudWatch alarms to monitor during the deployment process.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "DeletionProtectionCheck": { + "description": "On resource deletion this controls whether the Deletion Protection check should be applied, bypassed, or (the default) whether the behavior should be controlled by the account-level Deletion Protection setting. See https://docs.aws.amazon.com/appconfig/latest/userguide/deletion-protection.html", + "type": "string", + "enum": [ + "ACCOUNT_DEFAULT", + "APPLY", + "BYPASS" + ], + "markdownDescription": "On resource deletion this controls whether the Deletion Protection check should be applied, bypassed, or (the default) whether the behavior should be controlled by the account-level Deletion Protection setting. See https://docs.aws.amazon.com/appconfig/latest/userguide/deletion-protection.html\n\n---\n\nRequired: No \nType: String \nAllowed Values: ACCOUNT_DEFAULT | APPLY | BYPASS \nUpdate requires: No interruption" + }, "ApplicationId": { "description": "The application ID.", "type": "string", @@ -169,10 +191,6 @@ "markdownDescription": "A name for the environment.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" } }, - "required": [ - "Name", - "ApplicationId" - ], "attributes": { "EnvironmentId": { "description": "The environment ID.", diff --git a/server/schema/resources/aws-appconfig-extension.json b/server/schema/resources/aws-appconfig-extension.json index 8cf92dc6..bc9eb176 100644 --- a/server/schema/resources/aws-appconfig-extension.json +++ b/server/schema/resources/aws-appconfig-extension.json @@ -177,13 +177,6 @@ "primaryIdentifier": [ "/properties/Id" ], - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" - }, "handlers": { "create": { "permissions": [ @@ -216,6 +209,18 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "appconfig:TagResource", + "appconfig:UntagResource", + "appconfig:ListTagsForResource" + ] + }, "attributes": { "Id": { "type": "string", diff --git a/server/schema/resources/aws-appconfig-extensionassociation.json b/server/schema/resources/aws-appconfig-extensionassociation.json index 7928a350..4d369fea 100644 --- a/server/schema/resources/aws-appconfig-extensionassociation.json +++ b/server/schema/resources/aws-appconfig-extensionassociation.json @@ -90,13 +90,6 @@ "primaryIdentifier": [ "/properties/Id" ], - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" - }, "handlers": { "create": { "permissions": [ @@ -128,6 +121,18 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "appconfig:TagResource", + "appconfig:UntagResource", + "appconfig:ListTagsForResource" + ] + }, "attributes": { "Id": { "type": "string", diff --git a/server/schema/resources/aws-applicationautoscaling-scalingpolicy.json b/server/schema/resources/aws-applicationautoscaling-scalingpolicy.json index b938c568..d790da56 100644 --- a/server/schema/resources/aws-applicationautoscaling-scalingpolicy.json +++ b/server/schema/resources/aws-applicationautoscaling-scalingpolicy.json @@ -35,13 +35,15 @@ "create": { "permissions": [ "application-autoscaling:DescribeScalingPolicies", - "application-autoscaling:PutScalingPolicy" + "application-autoscaling:PutScalingPolicy", + "cloudwatch:GetMetricData" ] }, "update": { "permissions": [ "application-autoscaling:DescribeScalingPolicies", - "application-autoscaling:PutScalingPolicy" + "application-autoscaling:PutScalingPolicy", + "cloudwatch:GetMetricData" ] }, "list": { @@ -74,6 +76,39 @@ ], "additionalProperties": false, "definitions": { + "PredictiveScalingMetricDataQuery": { + "description": "The metric data to return. Also defines whether this call is returning data for one metric only, or whether it is performing a math expression on the values of returned metric statistics to create a new time series. A time series is a series of data points, each of which is associated with a timestamp.", + "additionalProperties": false, + "type": "object", + "properties": { + "ReturnData": { + "description": "Indicates whether to return the timestamps and raw data values of this metric. \n If you use any math expressions, specify ``true`` for this value for only the final math expression that the metric specification is based on. You must specify ``false`` for ``ReturnData`` for all the other metrics and expressions used in the metric specification.\n If you are only retrieving metrics and not performing any math expressions, do not specify anything for ``ReturnData``. This sets it to its default (``true``).", + "type": "boolean", + "markdownDescription": "Indicates whether to return the timestamps and raw data values of this metric. \n If you use any math expressions, specify ``true`` for this value for only the final math expression that the metric specification is based on. You must specify ``false`` for ``ReturnData`` for all the other metrics and expressions used in the metric specification.\n If you are only retrieving metrics and not performing any math expressions, do not specify anything for ``ReturnData``. This sets it to its default (``true``).\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "Expression": { + "description": "The math expression to perform on the returned data, if this object is performing a math expression. This expression can use the ``Id`` of the other metrics to refer to those metrics, and can also use the ``Id`` of other expressions to use the result of those expressions. \n Conditional: Within each ``MetricDataQuery`` object, you must specify either ``Expression`` or ``MetricStat``, but not both.", + "type": "string", + "markdownDescription": "The math expression to perform on the returned data, if this object is performing a math expression. This expression can use the ``Id`` of the other metrics to refer to those metrics, and can also use the ``Id`` of other expressions to use the result of those expressions. \n Conditional: Within each ``MetricDataQuery`` object, you must specify either ``Expression`` or ``MetricStat``, but not both.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Label": { + "description": "A human-readable label for this metric or expression. This is especially useful if this is a math expression, so that you know what the value represents.", + "type": "string", + "markdownDescription": "A human-readable label for this metric or expression. This is especially useful if this is a math expression, so that you know what the value represents.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "MetricStat": { + "description": "Information about the metric data to return. \n Conditional: Within each ``MetricDataQuery`` object, you must specify either ``Expression`` or ``MetricStat``, but not both.", + "$ref": "#/definitions/PredictiveScalingMetricStat", + "markdownDescription": "Information about the metric data to return. \n Conditional: Within each ``MetricDataQuery`` object, you must specify either ``Expression`` or ``MetricStat``, but not both.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Id": { + "description": "A short name that identifies the object's results in the response. This name must be unique among all ``MetricDataQuery`` objects specified for a single scaling policy. If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscores. The first character must be a lowercase letter.", + "type": "string", + "markdownDescription": "A short name that identifies the object's results in the response. This name must be unique among all ``MetricDataQuery`` objects specified for a single scaling policy. If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscores. The first character must be a lowercase letter.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The metric data to return. Also defines whether this call is returning data for one metric only, or whether it is performing a math expression on the values of returned metric statistics to create a new time series. A time series is a series of data points, each of which is associated with a timestamp.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TargetTrackingMetricStat": { "description": "This structure defines the CloudWatch metric to return, along with the statistic and unit.\n ``TargetTrackingMetricStat`` is a property of the [AWS::ApplicationAutoScaling::ScalingPolicy TargetTrackingMetricDataQuery](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery.html) property type.\n For more information about the CloudWatch terminology below, see [Amazon CloudWatch concepts](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html) in the *Amazon CloudWatch User Guide*.", "additionalProperties": false, @@ -97,6 +132,24 @@ }, "markdownDescription": "This structure defines the CloudWatch metric to return, along with the statistic and unit.\n ``TargetTrackingMetricStat`` is a property of the [AWS::ApplicationAutoScaling::ScalingPolicy TargetTrackingMetricDataQuery](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery.html) property type.\n For more information about the CloudWatch terminology below, see [Amazon CloudWatch concepts](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html) in the *Amazon CloudWatch User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PredictiveScalingMetricDimension": { + "description": "Describes the dimension of a metric.", + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "description": "The value of the dimension.", + "type": "string", + "markdownDescription": "The value of the dimension.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Name": { + "description": "The name of the dimension.", + "type": "string", + "markdownDescription": "The name of the dimension.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Describes the dimension of a metric.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TargetTrackingMetricDimension": { "description": "``TargetTrackingMetricDimension`` specifies a name/value pair that is part of the identity of a CloudWatch metric for the ``Dimensions`` property of the [AWS::ApplicationAutoScaling::ScalingPolicy TargetTrackingMetric](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetric.html) property type. Duplicate dimensions are not allowed.", "additionalProperties": false, @@ -115,6 +168,27 @@ }, "markdownDescription": "``TargetTrackingMetricDimension`` specifies a name/value pair that is part of the identity of a CloudWatch metric for the ``Dimensions`` property of the [AWS::ApplicationAutoScaling::ScalingPolicy TargetTrackingMetric](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetric.html) property type. Duplicate dimensions are not allowed.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PredictiveScalingCustomizedCapacityMetric": { + "description": "Represents a CloudWatch metric of your choosing for a predictive scaling policy.", + "additionalProperties": false, + "type": "object", + "properties": { + "MetricDataQueries": { + "uniqueItems": true, + "description": "One or more metric data queries to provide data points for a metric specification.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/PredictiveScalingMetricDataQuery" + }, + "markdownDescription": "One or more metric data queries to provide data points for a metric specification.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "MetricDataQueries" + ], + "markdownDescription": "Represents a CloudWatch metric of your choosing for a predictive scaling policy.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TargetTrackingMetricDataQuery": { "description": "The metric data to return. Also defines whether this call is returning data for one metric only, or whether it is performing a math expression on the values of returned metric statistics to create a new time series. A time series is a series of data points, each of which is associated with a timestamp.\n You can call for a single metric or perform math expressions on multiple metrics. Any expressions used in a metric specification must eventually return a single time series.\n For more information and examples, see [Create a target tracking scaling policy for Application Auto Scaling using metric math](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking-metric-math.html) in the *Application Auto Scaling User Guide*.\n ``TargetTrackingMetricDataQuery`` is a property of the [AWS::ApplicationAutoScaling::ScalingPolicy CustomizedMetricSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html) property type.", "additionalProperties": false, @@ -148,6 +222,27 @@ }, "markdownDescription": "The metric data to return. Also defines whether this call is returning data for one metric only, or whether it is performing a math expression on the values of returned metric statistics to create a new time series. A time series is a series of data points, each of which is associated with a timestamp.\n You can call for a single metric or perform math expressions on multiple metrics. Any expressions used in a metric specification must eventually return a single time series.\n For more information and examples, see [Create a target tracking scaling policy for Application Auto Scaling using metric math](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking-metric-math.html) in the *Application Auto Scaling User Guide*.\n ``TargetTrackingMetricDataQuery`` is a property of the [AWS::ApplicationAutoScaling::ScalingPolicy CustomizedMetricSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html) property type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PredictiveScalingCustomizedScalingMetric": { + "description": "One or more metric data queries to provide data points for a metric specification.", + "additionalProperties": false, + "type": "object", + "properties": { + "MetricDataQueries": { + "uniqueItems": true, + "description": "One or more metric data queries to provide data points for a metric specification.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/PredictiveScalingMetricDataQuery" + }, + "markdownDescription": "One or more metric data queries to provide data points for a metric specification.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "MetricDataQueries" + ], + "markdownDescription": "One or more metric data queries to provide data points for a metric specification.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "CustomizedMetricSpecification": { "description": "Contains customized metric specification information for a target tracking scaling policy for Application Auto Scaling. \n For information about the available metrics for a service, see [services that publish CloudWatch metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) in the *Amazon CloudWatch User Guide*.\n To create your customized metric specification:\n + Add values for each required parameter from CloudWatch. You can use an existing metric, or a new metric that you create. To use your own metric, you must first publish the metric to CloudWatch. For more information, see [Publish custom metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) in the *Amazon CloudWatch User Guide*.\n + Choose a metric that changes proportionally with capacity. The value of the metric should increase or decrease in inverse proportion to the number of capacity units. That is, the value of the metric should decrease when capacity increases, and increase when capacity decreases. \n \n For an example of how creating new metrics can be useful, see [Scaling based on Amazon SQS](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-using-sqs-queue.html) in the *Amazon EC2 Auto Scaling User Guide*. This topic mentions Auto Scaling groups, but the same scenario for Amazon SQS can apply to the target tracking scaling policies that you create for a Spot Fleet by using Application Auto Scaling.\n For more information about the CloudWatch terminology below, see [Amazon CloudWatch concepts](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html). \n ``CustomizedMetricSpecification`` is a property of the [AWS::ApplicationAutoScaling::ScalingPolicy TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html) property type.", "additionalProperties": false, @@ -196,33 +291,26 @@ }, "markdownDescription": "Contains customized metric specification information for a target tracking scaling policy for Application Auto Scaling. \n For information about the available metrics for a service, see [services that publish CloudWatch metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) in the *Amazon CloudWatch User Guide*.\n To create your customized metric specification:\n + Add values for each required parameter from CloudWatch. You can use an existing metric, or a new metric that you create. To use your own metric, you must first publish the metric to CloudWatch. For more information, see [Publish custom metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) in the *Amazon CloudWatch User Guide*.\n + Choose a metric that changes proportionally with capacity. The value of the metric should increase or decrease in inverse proportion to the number of capacity units. That is, the value of the metric should decrease when capacity increases, and increase when capacity decreases. \n \n For an example of how creating new metrics can be useful, see [Scaling based on Amazon SQS](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-using-sqs-queue.html) in the *Amazon EC2 Auto Scaling User Guide*. This topic mentions Auto Scaling groups, but the same scenario for Amazon SQS can apply to the target tracking scaling policies that you create for a Spot Fleet by using Application Auto Scaling.\n For more information about the CloudWatch terminology below, see [Amazon CloudWatch concepts](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html). \n ``CustomizedMetricSpecification`` is a property of the [AWS::ApplicationAutoScaling::ScalingPolicy TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html) property type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TargetTrackingMetric": { - "description": "Represents a specific metric for a target tracking scaling policy for Application Auto Scaling.\n Metric is a property of the [AWS::ApplicationAutoScaling::ScalingPolicy TargetTrackingMetricStat](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricstat.html) property type.", + "PredictiveScalingPredefinedLoadMetric": { + "description": "Describes a load metric for a predictive scaling policy. \n When returned in the output of ``DescribePolicies``, it indicates that a predictive scaling policy uses individually specified load and scaling metrics instead of a metric pair.", "additionalProperties": false, "type": "object", "properties": { - "MetricName": { - "description": "The name of the metric.", + "PredefinedMetricType": { + "description": "The metric type.", "type": "string", - "markdownDescription": "The name of the metric.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The metric type.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "Dimensions": { - "uniqueItems": false, - "description": "The dimensions for the metric. For the list of available dimensions, see the AWS documentation available from the table in [services that publish CloudWatch metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) in the *Amazon CloudWatch User Guide*. \n Conditional: If you published your metric with dimensions, you must specify the same dimensions in your scaling policy.", - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/TargetTrackingMetricDimension" - }, - "markdownDescription": "The dimensions for the metric. For the list of available dimensions, see the AWS documentation available from the table in [services that publish CloudWatch metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) in the *Amazon CloudWatch User Guide*. \n Conditional: If you published your metric with dimensions, you must specify the same dimensions in your scaling policy.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Namespace": { - "description": "The namespace of the metric. For more information, see the table in [services that publish CloudWatch metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) in the *Amazon CloudWatch User Guide*.", + "ResourceLabel": { + "description": "A label that uniquely identifies a target group.", "type": "string", - "markdownDescription": "The namespace of the metric. For more information, see the table in [services that publish CloudWatch metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) in the *Amazon CloudWatch User Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "A label that uniquely identifies a target group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "Represents a specific metric for a target tracking scaling policy for Application Auto Scaling.\n Metric is a property of the [AWS::ApplicationAutoScaling::ScalingPolicy TargetTrackingMetricStat](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricstat.html) property type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "required": [ + "PredefinedMetricType" + ], + "markdownDescription": "Describes a load metric for a predictive scaling policy. \n When returned in the output of ``DescribePolicies``, it indicates that a predictive scaling policy uses individually specified load and scaling metrics instead of a metric pair.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "TargetTrackingScalingPolicyConfiguration": { "description": "``TargetTrackingScalingPolicyConfiguration`` is a property of the [AWS::ApplicationAutoScaling::ScalingPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html) resource that specifies a target tracking scaling policy configuration for Application Auto Scaling. Use a target tracking scaling policy to adjust the capacity of the specified scalable target in response to actual workloads, so that resource utilization remains at or near the target utilization value. \n For more information, see [Target tracking scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) in the *Application Auto Scaling User Guide*.", @@ -265,6 +353,27 @@ ], "markdownDescription": "``TargetTrackingScalingPolicyConfiguration`` is a property of the [AWS::ApplicationAutoScaling::ScalingPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html) resource that specifies a target tracking scaling policy configuration for Application Auto Scaling. Use a target tracking scaling policy to adjust the capacity of the specified scalable target in response to actual workloads, so that resource utilization remains at or near the target utilization value. \n For more information, see [Target tracking scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) in the *Application Auto Scaling User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PredictiveScalingPredefinedMetricPair": { + "description": "Represents a metric pair for a predictive scaling policy.", + "additionalProperties": false, + "type": "object", + "properties": { + "PredefinedMetricType": { + "description": "Indicates which metrics to use. There are two different types of metrics for each metric type: one is a load metric and one is a scaling metric.", + "type": "string", + "markdownDescription": "Indicates which metrics to use. There are two different types of metrics for each metric type: one is a load metric and one is a scaling metric.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "ResourceLabel": { + "description": "A label that uniquely identifies a specific target group from which to determine the total and average request count.", + "type": "string", + "markdownDescription": "A label that uniquely identifies a specific target group from which to determine the total and average request count.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "PredefinedMetricType" + ], + "markdownDescription": "Represents a metric pair for a predictive scaling policy.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "StepAdjustment": { "description": "``StepAdjustment`` specifies a step adjustment for the ``StepAdjustments`` property of the [AWS::ApplicationAutoScaling::ScalingPolicy StepScalingPolicyConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html) property type. \n For the following examples, suppose that you have an alarm with a breach threshold of 50: \n + To trigger a step adjustment when the metric is greater than or equal to 50 and less than 60, specify a lower bound of 0 and an upper bound of 10. \n + To trigger a step adjustment when the metric is greater than 40 and less than or equal to 50, specify a lower bound of -10 and an upper bound of 0. \n \n For more information, see [Step adjustments](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html#as-scaling-steps) in the *Application Auto Scaling User Guide*.\n You can find a sample template snippet in the [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#aws-resource-applicationautoscaling-scalingpolicy--examples) section of the ``AWS::ApplicationAutoScaling::ScalingPolicy`` documentation.", "additionalProperties": false, @@ -291,44 +400,6 @@ ], "markdownDescription": "``StepAdjustment`` specifies a step adjustment for the ``StepAdjustments`` property of the [AWS::ApplicationAutoScaling::ScalingPolicy StepScalingPolicyConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html) property type. \n For the following examples, suppose that you have an alarm with a breach threshold of 50: \n + To trigger a step adjustment when the metric is greater than or equal to 50 and less than 60, specify a lower bound of 0 and an upper bound of 10. \n + To trigger a step adjustment when the metric is greater than 40 and less than or equal to 50, specify a lower bound of -10 and an upper bound of 0. \n \n For more information, see [Step adjustments](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html#as-scaling-steps) in the *Application Auto Scaling User Guide*.\n You can find a sample template snippet in the [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#aws-resource-applicationautoscaling-scalingpolicy--examples) section of the ``AWS::ApplicationAutoScaling::ScalingPolicy`` documentation.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "StepScalingPolicyConfiguration": { - "description": "``StepScalingPolicyConfiguration`` is a property of the [AWS::ApplicationAutoScaling::ScalingPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html) resource that specifies a step scaling policy configuration for Application Auto Scaling. \n For more information, see [Step scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) in the *Application Auto Scaling User Guide*.", - "additionalProperties": false, - "type": "object", - "properties": { - "MetricAggregationType": { - "description": "The aggregation type for the CloudWatch metrics. Valid values are ``Minimum``, ``Maximum``, and ``Average``. If the aggregation type is null, the value is treated as ``Average``.", - "type": "string", - "markdownDescription": "The aggregation type for the CloudWatch metrics. Valid values are ``Minimum``, ``Maximum``, and ``Average``. If the aggregation type is null, the value is treated as ``Average``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Cooldown": { - "description": "The amount of time, in seconds, to wait for a previous scaling activity to take effect. If not specified, the default value is 300. For more information, see [Cooldown period](https://docs.aws.amazon.com/autoscaling/application/userguide/step-scaling-policy-overview.html#step-scaling-cooldown) in the *Application Auto Scaling User Guide*.", - "type": "integer", - "markdownDescription": "The amount of time, in seconds, to wait for a previous scaling activity to take effect. If not specified, the default value is 300. For more information, see [Cooldown period](https://docs.aws.amazon.com/autoscaling/application/userguide/step-scaling-policy-overview.html#step-scaling-cooldown) in the *Application Auto Scaling User Guide*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "StepAdjustments": { - "uniqueItems": true, - "description": "A set of adjustments that enable you to scale based on the size of the alarm breach.\n At least one step adjustment is required if you are adding a new step scaling policy configuration.", - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/StepAdjustment" - }, - "markdownDescription": "A set of adjustments that enable you to scale based on the size of the alarm breach.\n At least one step adjustment is required if you are adding a new step scaling policy configuration.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "MinAdjustmentMagnitude": { - "description": "The minimum value to scale by when the adjustment type is ``PercentChangeInCapacity``. For example, suppose that you create a step scaling policy to scale out an Amazon ECS service by 25 percent and you specify a ``MinAdjustmentMagnitude`` of 2. If the service has 4 tasks and the scaling policy is performed, 25 percent of 4 is 1. However, because you specified a ``MinAdjustmentMagnitude`` of 2, Application Auto Scaling scales out the service by 2 tasks.", - "type": "integer", - "markdownDescription": "The minimum value to scale by when the adjustment type is ``PercentChangeInCapacity``. For example, suppose that you create a step scaling policy to scale out an Amazon ECS service by 25 percent and you specify a ``MinAdjustmentMagnitude`` of 2. If the service has 4 tasks and the scaling policy is performed, 25 percent of 4 is 1. However, because you specified a ``MinAdjustmentMagnitude`` of 2, Application Auto Scaling scales out the service by 2 tasks.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "AdjustmentType": { - "description": "Specifies whether the ``ScalingAdjustment`` value in the ``StepAdjustment`` property is an absolute number or a percentage of the current capacity.", - "type": "string", - "markdownDescription": "Specifies whether the ``ScalingAdjustment`` value in the ``StepAdjustment`` property is an absolute number or a percentage of the current capacity.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "markdownDescription": "``StepScalingPolicyConfiguration`` is a property of the [AWS::ApplicationAutoScaling::ScalingPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html) resource that specifies a step scaling policy configuration for Application Auto Scaling. \n For more information, see [Step scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) in the *Application Auto Scaling User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "PredefinedMetricSpecification": { "description": "Contains predefined metric specification information for a target tracking scaling policy for Application Auto Scaling.\n ``PredefinedMetricSpecification`` is a property of the [AWS::ApplicationAutoScaling::ScalingPolicy TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html) property type.", "additionalProperties": false, @@ -371,6 +442,252 @@ "Name" ], "markdownDescription": "``MetricDimension`` specifies a name/value pair that is part of the identity of a CloudWatch metric for the ``Dimensions`` property of the [AWS::ApplicationAutoScaling::ScalingPolicy CustomizedMetricSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html) property type. Duplicate dimensions are not allowed.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PredictiveScalingPolicyConfiguration": { + "description": "Represents a predictive scaling policy configuration.", + "additionalProperties": false, + "type": "object", + "properties": { + "MaxCapacityBreachBehavior": { + "description": "Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity. Defaults to ``HonorMaxCapacity`` if not specified.", + "type": "string", + "markdownDescription": "Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity. Defaults to ``HonorMaxCapacity`` if not specified.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "MaxCapacityBuffer": { + "description": "The size of the capacity buffer to use when the forecast capacity is close to or exceeds the maximum capacity. The value is specified as a percentage relative to the forecast capacity. For example, if the buffer is 10, this means a 10 percent buffer, such that if the forecast capacity is 50, and the maximum capacity is 40, then the effective maximum capacity is 55. \n Required if the ``MaxCapacityBreachBehavior`` property is set to ``IncreaseMaxCapacity``, and cannot be used otherwise.", + "type": "integer", + "markdownDescription": "The size of the capacity buffer to use when the forecast capacity is close to or exceeds the maximum capacity. The value is specified as a percentage relative to the forecast capacity. For example, if the buffer is 10, this means a 10 percent buffer, such that if the forecast capacity is 50, and the maximum capacity is 40, then the effective maximum capacity is 55. \n Required if the ``MaxCapacityBreachBehavior`` property is set to ``IncreaseMaxCapacity``, and cannot be used otherwise.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Mode": { + "description": "The predictive scaling mode. Defaults to ``ForecastOnly`` if not specified.", + "type": "string", + "markdownDescription": "The predictive scaling mode. Defaults to ``ForecastOnly`` if not specified.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "MetricSpecifications": { + "uniqueItems": true, + "description": "This structure includes the metrics and target utilization to use for predictive scaling. \n This is an array, but we currently only support a single metric specification. That is, you can specify a target value and a single metric pair, or a target value and one scaling metric and one load metric.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/PredictiveScalingMetricSpecification" + }, + "markdownDescription": "This structure includes the metrics and target utilization to use for predictive scaling. \n This is an array, but we currently only support a single metric specification. That is, you can specify a target value and a single metric pair, or a target value and one scaling metric and one load metric.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "SchedulingBufferTime": { + "description": "The amount of time, in seconds, that the start time can be advanced. \n The value must be less than the forecast interval duration of 3600 seconds (60 minutes). Defaults to 300 seconds if not specified.", + "type": "integer", + "markdownDescription": "The amount of time, in seconds, that the start time can be advanced. \n The value must be less than the forecast interval duration of 3600 seconds (60 minutes). Defaults to 300 seconds if not specified.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "required": [ + "MetricSpecifications" + ], + "markdownDescription": "Represents a predictive scaling policy configuration.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PredictiveScalingPredefinedScalingMetric": { + "description": "Describes a scaling metric for a predictive scaling policy. \n When returned in the output of ``DescribePolicies``, it indicates that a predictive scaling policy uses individually specified load and scaling metrics instead of a metric pair.", + "additionalProperties": false, + "type": "object", + "properties": { + "PredefinedMetricType": { + "description": "The metric type.", + "type": "string", + "markdownDescription": "The metric type.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "ResourceLabel": { + "description": "A label that uniquely identifies a specific target group from which to determine the average request count.", + "type": "string", + "markdownDescription": "A label that uniquely identifies a specific target group from which to determine the average request count.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "PredefinedMetricType" + ], + "markdownDescription": "Describes a scaling metric for a predictive scaling policy. \n When returned in the output of ``DescribePolicies``, it indicates that a predictive scaling policy uses individually specified load and scaling metrics instead of a metric pair.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PredictiveScalingMetricSpecification": { + "description": "This structure specifies the metrics and target utilization settings for a predictive scaling policy. \n You must specify either a metric pair, or a load metric and a scaling metric individually. Specifying a metric pair instead of individual metrics provides a simpler way to configure metrics for a scaling policy. You choose the metric pair, and the policy automatically knows the correct sum and average statistics to use for the load metric and the scaling metric.", + "additionalProperties": false, + "type": "object", + "properties": { + "CustomizedLoadMetricSpecification": { + "description": "The customized load metric specification.", + "$ref": "#/definitions/PredictiveScalingCustomizedLoadMetric", + "markdownDescription": "The customized load metric specification.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "PredefinedLoadMetricSpecification": { + "description": "The predefined load metric specification.", + "$ref": "#/definitions/PredictiveScalingPredefinedLoadMetric", + "markdownDescription": "The predefined load metric specification.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "TargetValue": { + "description": "Specifies the target utilization.", + "type": "number", + "markdownDescription": "Specifies the target utilization.\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "PredefinedScalingMetricSpecification": { + "description": "The predefined scaling metric specification.", + "$ref": "#/definitions/PredictiveScalingPredefinedScalingMetric", + "markdownDescription": "The predefined scaling metric specification.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "CustomizedCapacityMetricSpecification": { + "description": "The customized capacity metric specification.", + "$ref": "#/definitions/PredictiveScalingCustomizedCapacityMetric", + "markdownDescription": "The customized capacity metric specification.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "CustomizedScalingMetricSpecification": { + "description": "The customized scaling metric specification.", + "$ref": "#/definitions/PredictiveScalingCustomizedScalingMetric", + "markdownDescription": "The customized scaling metric specification.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "PredefinedMetricPairSpecification": { + "description": "The predefined metric pair specification that determines the appropriate scaling metric and load metric to use.", + "$ref": "#/definitions/PredictiveScalingPredefinedMetricPair", + "markdownDescription": "The predefined metric pair specification that determines the appropriate scaling metric and load metric to use.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "required": [ + "TargetValue" + ], + "markdownDescription": "This structure specifies the metrics and target utilization settings for a predictive scaling policy. \n You must specify either a metric pair, or a load metric and a scaling metric individually. Specifying a metric pair instead of individual metrics provides a simpler way to configure metrics for a scaling policy. You choose the metric pair, and the policy automatically knows the correct sum and average statistics to use for the load metric and the scaling metric.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PredictiveScalingMetric": { + "description": "Describes the scaling metric.", + "additionalProperties": false, + "type": "object", + "properties": { + "MetricName": { + "description": "The name of the metric.", + "type": "string", + "markdownDescription": "The name of the metric.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Dimensions": { + "uniqueItems": false, + "description": "Describes the dimensions of the metric.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/PredictiveScalingMetricDimension" + }, + "markdownDescription": "Describes the dimensions of the metric.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Namespace": { + "description": "The namespace of the metric.", + "type": "string", + "markdownDescription": "The namespace of the metric.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Describes the scaling metric.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PredictiveScalingCustomizedLoadMetric": { + "description": "The customized load metric specification.", + "additionalProperties": false, + "type": "object", + "properties": { + "MetricDataQueries": { + "uniqueItems": true, + "description": "", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/PredictiveScalingMetricDataQuery" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "MetricDataQueries" + ], + "markdownDescription": "The customized load metric specification.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TargetTrackingMetric": { + "description": "Represents a specific metric for a target tracking scaling policy for Application Auto Scaling.\n Metric is a property of the [AWS::ApplicationAutoScaling::ScalingPolicy TargetTrackingMetricStat](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricstat.html) property type.", + "additionalProperties": false, + "type": "object", + "properties": { + "MetricName": { + "description": "The name of the metric.", + "type": "string", + "markdownDescription": "The name of the metric.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Dimensions": { + "uniqueItems": false, + "description": "The dimensions for the metric. For the list of available dimensions, see the AWS documentation available from the table in [services that publish CloudWatch metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) in the *Amazon CloudWatch User Guide*. \n Conditional: If you published your metric with dimensions, you must specify the same dimensions in your scaling policy.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/TargetTrackingMetricDimension" + }, + "markdownDescription": "The dimensions for the metric. For the list of available dimensions, see the AWS documentation available from the table in [services that publish CloudWatch metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) in the *Amazon CloudWatch User Guide*. \n Conditional: If you published your metric with dimensions, you must specify the same dimensions in your scaling policy.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Namespace": { + "description": "The namespace of the metric. For more information, see the table in [services that publish CloudWatch metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) in the *Amazon CloudWatch User Guide*.", + "type": "string", + "markdownDescription": "The namespace of the metric. For more information, see the table in [services that publish CloudWatch metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) in the *Amazon CloudWatch User Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Represents a specific metric for a target tracking scaling policy for Application Auto Scaling.\n Metric is a property of the [AWS::ApplicationAutoScaling::ScalingPolicy TargetTrackingMetricStat](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricstat.html) property type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PredictiveScalingMetricStat": { + "description": "This structure defines the CloudWatch metric to return, along with the statistic and unit.", + "additionalProperties": false, + "type": "object", + "properties": { + "Stat": { + "description": "The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in [Statistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic) in the *Amazon CloudWatch User Guide*. \n The most commonly used metrics for predictive scaling are ``Average`` and ``Sum``.", + "type": "string", + "markdownDescription": "The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in [Statistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic) in the *Amazon CloudWatch User Guide*. \n The most commonly used metrics for predictive scaling are ``Average`` and ``Sum``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Metric": { + "description": "The CloudWatch metric to return, including the metric name, namespace, and dimensions. To get the exact metric name, namespace, and dimensions, inspect the [Metric](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_Metric.html) object that is returned by a call to [ListMetrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html).", + "$ref": "#/definitions/PredictiveScalingMetric", + "markdownDescription": "The CloudWatch metric to return, including the metric name, namespace, and dimensions. To get the exact metric name, namespace, and dimensions, inspect the [Metric](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_Metric.html) object that is returned by a call to [ListMetrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Unit": { + "description": "The unit to use for the returned data points. For a complete list of the units that CloudWatch supports, see the [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html) data type in the *Amazon CloudWatch API Reference*.", + "type": "string", + "markdownDescription": "The unit to use for the returned data points. For a complete list of the units that CloudWatch supports, see the [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html) data type in the *Amazon CloudWatch API Reference*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "This structure defines the CloudWatch metric to return, along with the statistic and unit.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StepScalingPolicyConfiguration": { + "description": "``StepScalingPolicyConfiguration`` is a property of the [AWS::ApplicationAutoScaling::ScalingPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html) resource that specifies a step scaling policy configuration for Application Auto Scaling. \n For more information, see [Step scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) in the *Application Auto Scaling User Guide*.", + "additionalProperties": false, + "type": "object", + "properties": { + "MetricAggregationType": { + "description": "The aggregation type for the CloudWatch metrics. Valid values are ``Minimum``, ``Maximum``, and ``Average``. If the aggregation type is null, the value is treated as ``Average``.", + "type": "string", + "markdownDescription": "The aggregation type for the CloudWatch metrics. Valid values are ``Minimum``, ``Maximum``, and ``Average``. If the aggregation type is null, the value is treated as ``Average``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Cooldown": { + "description": "The amount of time, in seconds, to wait for a previous scaling activity to take effect. If not specified, the default value is 300. For more information, see [Cooldown period](https://docs.aws.amazon.com/autoscaling/application/userguide/step-scaling-policy-overview.html#step-scaling-cooldown) in the *Application Auto Scaling User Guide*.", + "type": "integer", + "markdownDescription": "The amount of time, in seconds, to wait for a previous scaling activity to take effect. If not specified, the default value is 300. For more information, see [Cooldown period](https://docs.aws.amazon.com/autoscaling/application/userguide/step-scaling-policy-overview.html#step-scaling-cooldown) in the *Application Auto Scaling User Guide*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "StepAdjustments": { + "uniqueItems": true, + "description": "A set of adjustments that enable you to scale based on the size of the alarm breach.\n At least one step adjustment is required if you are adding a new step scaling policy configuration.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/StepAdjustment" + }, + "markdownDescription": "A set of adjustments that enable you to scale based on the size of the alarm breach.\n At least one step adjustment is required if you are adding a new step scaling policy configuration.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "MinAdjustmentMagnitude": { + "description": "The minimum value to scale by when the adjustment type is ``PercentChangeInCapacity``. For example, suppose that you create a step scaling policy to scale out an Amazon ECS service by 25 percent and you specify a ``MinAdjustmentMagnitude`` of 2. If the service has 4 tasks and the scaling policy is performed, 25 percent of 4 is 1. However, because you specified a ``MinAdjustmentMagnitude`` of 2, Application Auto Scaling scales out the service by 2 tasks.", + "type": "integer", + "markdownDescription": "The minimum value to scale by when the adjustment type is ``PercentChangeInCapacity``. For example, suppose that you create a step scaling policy to scale out an Amazon ECS service by 25 percent and you specify a ``MinAdjustmentMagnitude`` of 2. If the service has 4 tasks and the scaling policy is performed, 25 percent of 4 is 1. However, because you specified a ``MinAdjustmentMagnitude`` of 2, Application Auto Scaling scales out the service by 2 tasks.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "AdjustmentType": { + "description": "Specifies whether the ``ScalingAdjustment`` value in the ``StepAdjustment`` property is an absolute number or a percentage of the current capacity.", + "type": "string", + "markdownDescription": "Specifies whether the ``ScalingAdjustment`` value in the ``StepAdjustment`` property is an absolute number or a percentage of the current capacity.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "``StepScalingPolicyConfiguration`` is a property of the [AWS::ApplicationAutoScaling::ScalingPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html) resource that specifies a step scaling policy configuration for Application Auto Scaling. \n For more information, see [Step scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) in the *Application Auto Scaling User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -413,6 +730,11 @@ "description": "A step scaling policy.", "$ref": "#/definitions/StepScalingPolicyConfiguration", "markdownDescription": "A step scaling policy.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "PredictiveScalingPolicyConfiguration": { + "description": "The predictive scaling policy configuration.", + "$ref": "#/definitions/PredictiveScalingPolicyConfiguration", + "markdownDescription": "The predictive scaling policy configuration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "attributes": { diff --git a/server/schema/resources/aws-applicationinsights-application.json b/server/schema/resources/aws-applicationinsights-application.json index 6f75ba04..8940cadf 100644 --- a/server/schema/resources/aws-applicationinsights-application.json +++ b/server/schema/resources/aws-applicationinsights-application.json @@ -27,6 +27,13 @@ "maxLength": 300, "markdownDescription": "The SNS topic provided to Application Insights that is associated to the created opsItem.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 300 \nPattern: ^arn:aws(-[\\w]+)*:[\\w\\d-]+:([\\w\\d-]*)?:[\\w\\d_-]*([:/].+)*$ \nUpdate requires: No interruption" }, + "SNSNotificationArn": { + "description": "Application Insights sends notifications to this SNS topic whenever there is a problem update in the associated application.", + "type": "string", + "minLength": 20, + "maxLength": 300, + "markdownDescription": "Application Insights sends notifications to this SNS topic whenever there is a problem update in the associated application.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 300 \nPattern: ^arn:aws(-[\\w]+)*:[\\w\\d-]+:([\\w\\d-]*)?:[\\w\\d_-]*([:/].+)*$ \nUpdate requires: No interruption" + }, "Tags": { "description": "The tags of Application Insights application.", "type": "array", @@ -762,6 +769,7 @@ "/properties/CustomComponents", "/properties/GroupingType", "/properties/OpsItemSNSTopicArn", + "/properties/SNSNotificationArn", "/properties/AttachMissingPermission" ], "createOnlyProperties": [ diff --git a/server/schema/resources/aws-applicationsignals-servicelevelobjective.json b/server/schema/resources/aws-applicationsignals-servicelevelobjective.json index bdeae8df..75e5042c 100644 --- a/server/schema/resources/aws-applicationsignals-servicelevelobjective.json +++ b/server/schema/resources/aws-applicationsignals-servicelevelobjective.json @@ -28,6 +28,9 @@ }, "Tags": { "$ref": "#/definitions/Tags" + }, + "BurnRateConfigurations": { + "$ref": "#/definitions/BurnRateConfigurations" } }, "required": [ @@ -472,6 +475,36 @@ "Value" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "BurnRateConfigurations": { + "description": "Each object in this array defines the length of the look-back window used to calculate one burn rate metric for this SLO. The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/BurnRateConfiguration" + }, + "minItems": 0, + "maxItems": 10, + "markdownDescription": "Each object in this array defines the length of the look-back window used to calculate one burn rate metric for this SLO. The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "BurnRateConfiguration": { + "type": "object", + "description": "This object defines the length of the look-back window used to calculate one burn rate metric for this SLO. The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO. A burn rate of exactly 1 indicates that the SLO goal will be met exactly.\nFor example, if you specify 60 as the number of minutes in the look-back window, the burn rate is calculated as the following:\nburn rate = error rate over the look-back window / (1 - attainment goal percentage)", + "additionalProperties": false, + "properties": { + "LookBackWindowMinutes": { + "description": "The number of minutes to use as the look-back window.", + "type": "integer", + "minimum": 1, + "maximum": 10080, + "markdownDescription": "The number of minutes to use as the look-back window.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + } + }, + "required": [ + "LookBackWindowMinutes" + ], + "markdownDescription": "This object defines the length of the look-back window used to calculate one burn rate metric for this SLO. The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO. A burn rate of exactly 1 indicates that the SLO goal will be met exactly.\nFor example, if you specify 60 as the number of minutes in the look-back window, the burn rate is calculated as the following:\nburn rate = error rate over the look-back window / (1 - attainment goal percentage)\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "handlers": { diff --git a/server/schema/resources/aws-appsync-api.json b/server/schema/resources/aws-appsync-api.json new file mode 100644 index 00000000..3d083aa9 --- /dev/null +++ b/server/schema/resources/aws-appsync-api.json @@ -0,0 +1,363 @@ +{ + "typeName": "AWS::AppSync::Api", + "description": "Resource schema for AppSync Api", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": { + "EventConfig": { + "description": "The configuration for an Event Api", + "type": "object", + "additionalProperties": false, + "properties": { + "AuthProviders": { + "$ref": "#/definitions/AuthProviders" + }, + "ConnectionAuthModes": { + "$ref": "#/definitions/AuthModes" + }, + "DefaultPublishAuthModes": { + "$ref": "#/definitions/AuthModes" + }, + "DefaultSubscribeAuthModes": { + "$ref": "#/definitions/AuthModes" + }, + "LogConfig": { + "$ref": "#/definitions/EventLogConfig" + } + }, + "required": [ + "AuthProviders", + "ConnectionAuthModes", + "DefaultPublishAuthModes", + "DefaultSubscribeAuthModes" + ], + "markdownDescription": "The configuration for an Event Api\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AuthMode": { + "description": "An auth mode.", + "type": "object", + "additionalProperties": false, + "properties": { + "AuthType": { + "$ref": "#/definitions/AuthenticationType" + } + }, + "markdownDescription": "An auth mode.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AuthModes": { + "description": "A list of auth modes for the AppSync API.", + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AuthMode" + }, + "markdownDescription": "A list of auth modes for the AppSync API.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AuthenticationType": { + "description": "Security configuration for your AppSync API.", + "type": "string", + "enum": [ + "AMAZON_COGNITO_USER_POOLS", + "AWS_IAM", + "API_KEY", + "OPENID_CONNECT", + "AWS_LAMBDA" + ], + "markdownDescription": "Security configuration for your AppSync API.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AMAZON_COGNITO_USER_POOLS | AWS_IAM | API_KEY | OPENID_CONNECT | AWS_LAMBDA \nUpdate requires: No interruption" + }, + "OpenIDConnectConfig": { + "description": "The OpenID Connect configuration.", + "type": "object", + "additionalProperties": false, + "properties": { + "ClientId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AuthTTL": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "Issuer": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "IatTTL": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "required": [ + "Issuer" + ], + "markdownDescription": "The OpenID Connect configuration.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CognitoConfig": { + "description": "Optional authorization configuration for using Amazon Cognito user pools with your API endpoint.", + "type": "object", + "additionalProperties": false, + "properties": { + "AppIdClientRegex": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "UserPoolId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "AwsRegion": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "UserPoolId", + "AwsRegion" + ], + "markdownDescription": "Optional authorization configuration for using Amazon Cognito user pools with your API endpoint.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LambdaAuthorizerConfig": { + "description": "A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time.", + "type": "object", + "additionalProperties": false, + "properties": { + "AuthorizerResultTtlInSeconds": { + "type": "integer", + "minimum": 0, + "maximum": 3600, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "AuthorizerUri": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "IdentityValidationExpression": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "AuthorizerUri" + ], + "markdownDescription": "A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AuthProviders": { + "description": "A list of auth providers for the AppSync API.", + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AuthProvider" + }, + "markdownDescription": "A list of auth providers for the AppSync API.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AuthProvider": { + "description": "An auth provider for the AppSync API.", + "type": "object", + "additionalProperties": false, + "properties": { + "AuthType": { + "$ref": "#/definitions/AuthenticationType" + }, + "OpenIDConnectConfig": { + "$ref": "#/definitions/OpenIDConnectConfig" + }, + "CognitoConfig": { + "$ref": "#/definitions/CognitoConfig" + }, + "LambdaAuthorizerConfig": { + "$ref": "#/definitions/LambdaAuthorizerConfig" + } + }, + "required": [ + "AuthType" + ], + "markdownDescription": "An auth provider for the AppSync API.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tag": { + "description": "An arbitrary set of tags (key-value pairs) for this AppSync API.", + "type": "object", + "properties": { + "Key": { + "description": "A string used to identify this tag. You can specify a maximum of 128 characters for a tag key.", + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "A string used to identify this tag. You can specify a maximum of 128 characters for a tag key.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:)[ a-zA-Z+-=._:/]+$ \nUpdate requires: No interruption" + }, + "Value": { + "description": "A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value.", + "type": "string", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^[\\s\\w+-=\\.:/@]*$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "An arbitrary set of tags (key-value pairs) for this AppSync API.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tags": { + "description": "An arbitrary set of tags (key-value pairs) for this AppSync API.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An arbitrary set of tags (key-value pairs) for this AppSync API.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ApiName": { + "description": "The name of the AppSync API.", + "type": "string", + "minLength": 1, + "maxLength": 50, + "markdownDescription": "The name of the AppSync API.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nPattern: [A-Za-z0-9_\\-\\ ]+ \nUpdate requires: No interruption" + }, + "OwnerContact": { + "description": "The owner contact information for an API resource.", + "type": "string", + "minLength": 1, + "maxLength": 250, + "markdownDescription": "The owner contact information for an API resource.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 250 \nPattern: [A-Za-z0-9_\\-\\ \\.]+ \nUpdate requires: No interruption" + }, + "DnsMap": { + "description": "A map of DNS names for the AppSync API.", + "type": "object", + "additionalProperties": false, + "properties": { + "Realtime": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Http": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "A map of DNS names for the AppSync API.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EventLogLevel": { + "description": "Logging level for the AppSync API.", + "type": "string", + "enum": [ + "NONE", + "ERROR", + "ALL", + "INFO", + "DEBUG" + ], + "markdownDescription": "Logging level for the AppSync API.\n\n---\n\nRequired: No \nType: String \nAllowed Values: NONE | ERROR | ALL | INFO | DEBUG \nUpdate requires: No interruption" + }, + "EventLogConfig": { + "description": "The log config for the AppSync API.", + "type": "object", + "additionalProperties": false, + "properties": { + "LogLevel": { + "$ref": "#/definitions/EventLogLevel" + }, + "CloudWatchLogsRoleArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "LogLevel", + "CloudWatchLogsRoleArn" + ], + "markdownDescription": "The log config for the AppSync API.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "Name": { + "$ref": "#/definitions/ApiName" + }, + "OwnerContact": { + "$ref": "#/definitions/OwnerContact" + }, + "EventConfig": { + "$ref": "#/definitions/EventConfig" + }, + "Tags": { + "$ref": "#/definitions/Tags" + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "appsync:TagResource", + "appsync:UntagResource" + ] + }, + "additionalProperties": false, + "required": [ + "Name" + ], + "readOnlyProperties": [ + "/properties/ApiId", + "/properties/Dns", + "/properties/Dns/Realtime", + "/properties/Dns/Http", + "/properties/ApiArn" + ], + "primaryIdentifier": [ + "/properties/ApiArn" + ], + "handlers": { + "create": { + "permissions": [ + "appsync:CreateApi", + "appsync:TagResource", + "appsync:GetApi", + "iam:PassRole" + ] + }, + "read": { + "permissions": [ + "appsync:GetApi", + "appsync:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "appsync:UpdateApi", + "appsync:TagResource", + "appsync:UntagResource", + "appsync:GetApi", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "appsync:DeleteApi", + "appsync:UntagResource" + ] + }, + "list": { + "permissions": [ + "appsync:ListApis" + ] + } + }, + "attributes": { + "ApiId": { + "description": "The unique identifier for the AppSync Api generated by the service", + "type": "string", + "markdownDescription": "The unique identifier for the AppSync Api generated by the service\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ApiArn": { + "description": "The Amazon Resource Name (ARN) of the AppSync Api", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the AppSync Api\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Dns": { + "$ref": "#/definitions/DnsMap" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-appsync-channelnamespace.json b/server/schema/resources/aws-appsync-channelnamespace.json new file mode 100644 index 00000000..fc3c4653 --- /dev/null +++ b/server/schema/resources/aws-appsync-channelnamespace.json @@ -0,0 +1,204 @@ +{ + "typeName": "AWS::AppSync::ChannelNamespace", + "description": "Resource schema for AppSync ChannelNamespace", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": { + "Namespace": { + "description": "Namespace indentifier.", + "type": "string", + "minLength": 1, + "maxLength": 50, + "markdownDescription": "Namespace indentifier.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nPattern: ([A-Za-z0-9](?:[A-Za-z0-9\\-]{0,48}[A-Za-z0-9])?) \nUpdate requires: No interruption" + }, + "AuthMode": { + "description": "An auth mode.", + "type": "object", + "additionalProperties": false, + "properties": { + "AuthType": { + "$ref": "#/definitions/AuthenticationType" + } + }, + "markdownDescription": "An auth mode.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AuthModes": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AuthMode" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AuthenticationType": { + "description": "Security configuration for your AppSync API.", + "type": "string", + "enum": [ + "AMAZON_COGNITO_USER_POOLS", + "AWS_IAM", + "API_KEY", + "OPENID_CONNECT", + "AWS_LAMBDA" + ], + "markdownDescription": "Security configuration for your AppSync API.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AMAZON_COGNITO_USER_POOLS | AWS_IAM | API_KEY | OPENID_CONNECT | AWS_LAMBDA \nUpdate requires: No interruption" + }, + "Code": { + "description": "String of APPSYNC_JS code to be used by the handlers.", + "type": "string", + "minLength": 1, + "maxLength": 32768, + "markdownDescription": "String of APPSYNC_JS code to be used by the handlers.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32768 \nUpdate requires: No interruption" + }, + "ChannelNamespaceArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) for the Channel Namespace.", + "markdownDescription": "The Amazon Resource Name (ARN) for the Channel Namespace.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Tag": { + "description": "An arbitrary set of tags (key-value pairs) for this AppSync API.", + "type": "object", + "properties": { + "Key": { + "description": "A string used to identify this tag. You can specify a maximum of 128 characters for a tag key.", + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "A string used to identify this tag. You can specify a maximum of 128 characters for a tag key.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:)[ a-zA-Z+-=._:/]+$ \nUpdate requires: No interruption" + }, + "Value": { + "description": "A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value.", + "type": "string", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^[\\s\\w+-=\\.:/@]*$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "An arbitrary set of tags (key-value pairs) for this AppSync API.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tags": { + "description": "An arbitrary set of tags (key-value pairs) for this AppSync API.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An arbitrary set of tags (key-value pairs) for this AppSync API.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "properties": { + "ApiId": { + "description": "AppSync Api Id that this Channel Namespace belongs to.", + "type": "string", + "markdownDescription": "AppSync Api Id that this Channel Namespace belongs to.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "Name": { + "$ref": "#/definitions/Namespace" + }, + "SubscribeAuthModes": { + "description": "List of AuthModes supported for Subscribe operations.", + "$ref": "#/definitions/AuthModes", + "markdownDescription": "List of AuthModes supported for Subscribe operations.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "PublishAuthModes": { + "description": "List of AuthModes supported for Publish operations.", + "$ref": "#/definitions/AuthModes", + "markdownDescription": "List of AuthModes supported for Publish operations.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "CodeHandlers": { + "$ref": "#/definitions/Code" + }, + "CodeS3Location": { + "description": "The Amazon S3 endpoint where the code is located.", + "type": "string", + "markdownDescription": "The Amazon S3 endpoint where the code is located.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Tags": { + "$ref": "#/definitions/Tags" + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "appsync:TagResource", + "appsync:UntagResource" + ] + }, + "additionalProperties": false, + "required": [ + "ApiId", + "Name" + ], + "readOnlyProperties": [ + "/properties/ChannelNamespaceArn" + ], + "createOnlyProperties": [ + "/properties/ApiId", + "/properties/Name" + ], + "primaryIdentifier": [ + "/properties/ChannelNamespaceArn" + ], + "writeOnlyProperties": [ + "/properties/CodeS3Location" + ], + "handlers": { + "create": { + "permissions": [ + "appsync:CreateChannelNamespace", + "appsync:TagResource", + "appsync:GetChannelNamespace", + "s3:GetObject" + ] + }, + "read": { + "permissions": [ + "appsync:GetChannelNamespace", + "appsync:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "appsync:UpdateChannelNamespace", + "appsync:TagResource", + "appsync:UntagResource", + "appsync:GetChannelNamespace", + "s3:GetObject" + ] + }, + "delete": { + "permissions": [ + "appsync:DeleteChannelNamespace", + "appsync:UntagResource" + ] + }, + "list": { + "permissions": [ + "appsync:ListChannelNamespaces" + ], + "handlerSchema": { + "properties": { + "ApiId": { + "$ref": "resource-schema.json#/properties/ApiId" + } + }, + "required": [ + "ApiId" + ] + } + } + }, + "attributes": { + "ChannelNamespaceArn": { + "$ref": "#/definitions/ChannelNamespaceArn" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-appsync-datasource.json b/server/schema/resources/aws-appsync-datasource.json index 12487792..50e7e6f5 100644 --- a/server/schema/resources/aws-appsync-datasource.json +++ b/server/schema/resources/aws-appsync-datasource.json @@ -1,52 +1,80 @@ { "typeName": "AWS::AppSync::DataSource", "description": "Resource Type definition for AWS::AppSync::DataSource", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appsync", "additionalProperties": false, + "tagging": { + "taggable": false + }, "properties": { - "OpenSearchServiceConfig": { - "$ref": "#/definitions/OpenSearchServiceConfig" - }, - "Description": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "ServiceRoleArn": { + "ApiId": { + "description": "Unique AWS AppSync GraphQL API identifier where this data source will be created.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Unique AWS AppSync GraphQL API identifier where this data source will be created.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, - "MetricsConfig": { + "Description": { + "description": "The description of the data source.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The description of the data source.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Name": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "DynamoDBConfig": { + "description": "AWS Region and TableName for an Amazon DynamoDB table in your account.", + "$ref": "#/definitions/DynamoDBConfig", + "markdownDescription": "AWS Region and TableName for an Amazon DynamoDB table in your account.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "Type": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "ElasticsearchConfig": { + "description": "AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account.\nAs of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source.", + "$ref": "#/definitions/ElasticsearchConfig", + "markdownDescription": "AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account.\nAs of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "EventBridgeConfig": { - "$ref": "#/definitions/EventBridgeConfig" + "description": "ARN for the EventBridge bus.", + "$ref": "#/definitions/EventBridgeConfig", + "markdownDescription": "ARN for the EventBridge bus.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "HttpConfig": { - "$ref": "#/definitions/HttpConfig" - }, - "RelationalDatabaseConfig": { - "$ref": "#/definitions/RelationalDatabaseConfig" + "description": "Endpoints for an HTTP data source.", + "$ref": "#/definitions/HttpConfig", + "markdownDescription": "Endpoints for an HTTP data source.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "LambdaConfig": { - "$ref": "#/definitions/LambdaConfig" + "description": "An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account.", + "$ref": "#/definitions/LambdaConfig", + "markdownDescription": "An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "ApiId": { + "Name": { + "description": "Friendly name for you to identify your AppSync data source after creation.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "Friendly name for you to identify your AppSync data source after creation.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, - "DynamoDBConfig": { - "$ref": "#/definitions/DynamoDBConfig" + "OpenSearchServiceConfig": { + "description": "AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account.", + "$ref": "#/definitions/OpenSearchServiceConfig", + "markdownDescription": "AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "ElasticsearchConfig": { - "$ref": "#/definitions/ElasticsearchConfig" + "RelationalDatabaseConfig": { + "description": "Relational Database configuration of the relational database data source.", + "$ref": "#/definitions/RelationalDatabaseConfig", + "markdownDescription": "Relational Database configuration of the relational database data source.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ServiceRoleArn": { + "description": "The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source.", + "type": "string", + "markdownDescription": "The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Type": { + "description": "The type of the data source.", + "type": "string", + "markdownDescription": "The type of the data source.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "MetricsConfig": { + "description": "", + "type": "string", + "enum": [ + "DISABLED", + "ENABLED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISABLED | ENABLED \nUpdate requires: No interruption" } }, "definitions": { @@ -55,24 +83,29 @@ "additionalProperties": false, "properties": { "DatabaseName": { + "description": "Logical database name.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Logical database name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AwsRegion": { + "description": "AWS Region for RDS HTTP endpoint.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "AWS Region for RDS HTTP endpoint.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "DbClusterIdentifier": { + "description": "Amazon RDS cluster Amazon Resource Name (ARN).", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Amazon RDS cluster Amazon Resource Name (ARN).\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "AwsSecretStoreArn": { + "description": "The ARN for database credentials stored in AWS Secrets Manager.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN for database credentials stored in AWS Secrets Manager.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Schema": { + "description": "Logical schema name.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Logical schema name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -87,12 +120,14 @@ "additionalProperties": false, "properties": { "AwsRegion": { + "description": "The AWS Region.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The AWS Region.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Endpoint": { + "description": "The endpoint.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The endpoint.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -106,12 +141,14 @@ "additionalProperties": false, "properties": { "SigningRegion": { + "description": "The signing Region for AWS Identity and Access Management authorization.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The signing Region for AWS Identity and Access Management authorization.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "SigningServiceName": { + "description": "The signing service name for AWS Identity and Access Management authorization.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The signing service name for AWS Identity and Access Management authorization.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -121,8 +158,9 @@ "additionalProperties": false, "properties": { "EventBusArn": { + "description": "ARN for the EventBridge bus.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "ARN for the EventBridge bus.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -135,11 +173,14 @@ "additionalProperties": false, "properties": { "AuthorizationType": { + "description": "The authorization type that the HTTP endpoint requires.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The authorization type that the HTTP endpoint requires.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "AwsIamConfig": { - "$ref": "#/definitions/AwsIamConfig" + "description": "The AWS Identity and Access Management settings.", + "$ref": "#/definitions/AwsIamConfig", + "markdownDescription": "The AWS Identity and Access Management settings.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ @@ -152,16 +193,19 @@ "additionalProperties": false, "properties": { "BaseTableTTL": { + "description": "The number of minutes that an Item is stored in the data source.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The number of minutes that an Item is stored in the data source.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "DeltaSyncTableTTL": { + "description": "The number of minutes that a Delta Sync log entry is stored in the Delta Sync table.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The number of minutes that a Delta Sync log entry is stored in the Delta Sync table.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "DeltaSyncTableName": { + "description": "The Delta Sync table name.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Delta Sync table name.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -176,11 +220,14 @@ "additionalProperties": false, "properties": { "RdsHttpEndpointConfig": { - "$ref": "#/definitions/RdsHttpEndpointConfig" + "description": "Information about the Amazon RDS resource.", + "$ref": "#/definitions/RdsHttpEndpointConfig", + "markdownDescription": "Information about the Amazon RDS resource.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "RelationalDatabaseSourceType": { + "description": "The type of relational data source.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The type of relational data source.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -193,11 +240,14 @@ "additionalProperties": false, "properties": { "Endpoint": { + "description": "The endpoint.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The endpoint.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" + "description": "The authorization configuration.", + "$ref": "#/definitions/AuthorizationConfig", + "markdownDescription": "The authorization configuration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ @@ -210,8 +260,9 @@ "additionalProperties": false, "properties": { "LambdaFunctionArn": { + "description": "The ARN for the Lambda function.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN for the Lambda function.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -224,12 +275,14 @@ "additionalProperties": false, "properties": { "AwsRegion": { + "description": "The AWS Region.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The AWS Region.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Endpoint": { + "description": "The endpoint.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The endpoint.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -243,23 +296,29 @@ "additionalProperties": false, "properties": { "TableName": { + "description": "The table name.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The table name.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "DeltaSyncConfig": { - "$ref": "#/definitions/DeltaSyncConfig" + "description": "The DeltaSyncConfig for a versioned datasource.", + "$ref": "#/definitions/DeltaSyncConfig", + "markdownDescription": "The DeltaSyncConfig for a versioned datasource.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "UseCallerCredentials": { + "description": "Set to TRUE to use AWS Identity and Access Management with this data source.", "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "Set to TRUE to use AWS Identity and Access Management with this data source.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "AwsRegion": { + "description": "The AWS Region.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The AWS Region.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Versioned": { + "description": "Set to TRUE to use Conflict Detection and Resolution with this data source.", "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "Set to TRUE to use Conflict Detection and Resolution with this data source.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ @@ -279,20 +338,60 @@ "/properties/Name" ], "primaryIdentifier": [ - "/properties/Id" + "/properties/DataSourceArn" ], "readOnlyProperties": [ - "/properties/Id", "/properties/DataSourceArn" ], + "deprecatedProperties": [ + "/properties/ElasticsearchConfig" + ], + "handlers": { + "create": { + "permissions": [ + "appsync:CreateDataSource", + "appsync:GetDataSource", + "iam:PassRole" + ] + }, + "read": { + "permissions": [ + "appsync:GetDataSource" + ] + }, + "update": { + "permissions": [ + "appsync:UpdateDataSource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "appsync:DeleteDataSource", + "appsync:GetDataSource" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "ApiId": { + "$ref": "resource-schema.json#/properties/ApiId" + } + }, + "required": [ + "ApiId" + ] + }, + "permissions": [ + "appsync:ListDataSources" + ] + } + }, "attributes": { "DataSourceArn": { + "description": "The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Id": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-appsync-graphqlapi.json b/server/schema/resources/aws-appsync-graphqlapi.json index 7c0fe919..57b57ad1 100644 --- a/server/schema/resources/aws-appsync-graphqlapi.json +++ b/server/schema/resources/aws-appsync-graphqlapi.json @@ -3,80 +3,110 @@ "description": "Resource Type definition for AWS::AppSync::GraphQLApi", "additionalProperties": false, "properties": { - "OpenIDConnectConfig": { - "$ref": "#/definitions/OpenIDConnectConfig" + "AdditionalAuthenticationProviders": { + "type": "array", + "description": "A list of additional authentication providers for the GraphqlApi API.", + "uniqueItems": true, + "items": { + "$ref": "#/definitions/AdditionalAuthenticationProvider" + }, + "markdownDescription": "A list of additional authentication providers for the GraphqlApi API.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "MergedApiExecutionRoleArn": { + "ApiType": { + "description": "The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED).", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "EnhancedMetricsConfig": { - "$ref": "#/definitions/EnhancedMetricsConfig" + "markdownDescription": "The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Name": { + "AuthenticationType": { + "description": "Security configuration for your GraphQL API", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Security configuration for your GraphQL API\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "EnhancedMetricsConfig": { + "description": "Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent.", + "$ref": "#/definitions/EnhancedMetricsConfig", + "markdownDescription": "Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "EnvironmentVariables": { + "description": "A map containing the list of resources with their properties and environment variables.", "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "patternProperties": { + "^[A-Za-z]+\\w*$": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "A map containing the list of resources with their properties and environment variables.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ApiType": { + "IntrospectionConfig": { + "description": "Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "LambdaAuthorizerConfig": { - "$ref": "#/definitions/LambdaAuthorizerConfig" + "description": "A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time.", + "$ref": "#/definitions/LambdaAuthorizerConfig", + "markdownDescription": "A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "Tags": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "LogConfig": { + "description": "The Amazon CloudWatch Logs configuration.", + "$ref": "#/definitions/LogConfig", + "markdownDescription": "The Amazon CloudWatch Logs configuration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "AuthenticationType": { + "MergedApiExecutionRoleArn": { + "description": "The AWS Identity and Access Management service role ARN for a merged API. ", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The AWS Identity and Access Management service role ARN for a merged API. \n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "QueryDepthLimit": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "IntrospectionConfig": { + "Name": { + "description": "The API name", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The API name\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "OpenIDConnectConfig": { + "description": "The OpenID Connect configuration.", + "$ref": "#/definitions/OpenIDConnectConfig", + "markdownDescription": "The OpenID Connect configuration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "OwnerContact": { + "description": "The owner contact information for an API resource.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The owner contact information for an API resource.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "QueryDepthLimit": { + "description": "The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query.", + "type": "integer", + "markdownDescription": "The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "ResolverCountLimit": { + "description": "The maximum number of resolvers that can be invoked in a single request.", "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The maximum number of resolvers that can be invoked in a single request.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "AdditionalAuthenticationProviders": { + "Tags": { + "description": "An arbitrary set of tags (key-value pairs) for this GraphQL API.\n\n", "type": "array", - "uniqueItems": false, + "uniqueItems": true, "items": { - "$ref": "#/definitions/AdditionalAuthenticationProvider" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "An arbitrary set of tags (key-value pairs) for this GraphQL API.\n\n\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "XrayEnabled": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "UserPoolConfig": { + "description": "Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint.\n\n", + "$ref": "#/definitions/UserPoolConfig", + "markdownDescription": "Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint.\n\n\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Visibility": { + "description": "Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "UserPoolConfig": { - "$ref": "#/definitions/UserPoolConfig" + "markdownDescription": "Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "LogConfig": { - "$ref": "#/definitions/LogConfig" + "XrayEnabled": { + "description": "A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi.\n\n", + "type": "boolean", + "markdownDescription": "A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi.\n\n\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "definitions": { @@ -85,20 +115,24 @@ "additionalProperties": false, "properties": { "ClientId": { + "description": "The client identifier of the Relying party at the OpenID identity provider.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The client identifier of the Relying party at the OpenID identity provider.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AuthTTL": { + "description": "The number of milliseconds that a token is valid after being authenticated.", "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "The number of milliseconds that a token is valid after being authenticated.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, "Issuer": { + "description": "The issuer for the OIDC configuration. ", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The issuer for the OIDC configuration. \n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "IatTTL": { + "description": "The number of milliseconds that a token is valid after it's issued to a user.\n\n", "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "The number of milliseconds that a token is valid after it's issued to a user.\n\n\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -108,16 +142,19 @@ "additionalProperties": false, "properties": { "OperationLevelMetricsConfig": { + "description": "Controls how operation metrics will be emitted to CloudWatch. Operation metrics include:\n\n", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Controls how operation metrics will be emitted to CloudWatch. Operation metrics include:\n\n\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "ResolverLevelMetricsBehavior": { + "description": "Controls how resolver metrics will be emitted to CloudWatch. Resolver metrics include:\n\n", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Controls how resolver metrics will be emitted to CloudWatch. Resolver metrics include:\n\n\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "DataSourceLevelMetricsBehavior": { + "description": "Controls how data source metrics will be emitted to CloudWatch. Data source metrics include:\n\n", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Controls how data source metrics will be emitted to CloudWatch. Data source metrics include:\n\n\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -132,16 +169,19 @@ "additionalProperties": false, "properties": { "AppIdClientRegex": { + "description": "A regular expression for validating the incoming Amazon Cognito user pool app client ID. ", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "A regular expression for validating the incoming Amazon Cognito user pool app client ID. \n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "UserPoolId": { + "description": "The user pool ID", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The user pool ID\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AwsRegion": { + "description": "The AWS Region in which the user pool was created.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The AWS Region in which the user pool was created.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -151,16 +191,19 @@ "additionalProperties": false, "properties": { "IdentityValidationExpression": { + "description": "A regular expression for validation of tokens before the Lambda function is called.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "A regular expression for validation of tokens before the Lambda function is called.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AuthorizerUri": { + "description": "The ARN of the Lambda function to be called for authorization.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the Lambda function to be called for authorization.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AuthorizerResultTtlInSeconds": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "description": "The number of seconds a response should be cached for.", + "type": "integer", + "markdownDescription": "The number of seconds a response should be cached for.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -189,20 +232,24 @@ "additionalProperties": false, "properties": { "AppIdClientRegex": { + "description": "A regular expression for validating the incoming Amazon Cognito user pool app client ID.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "A regular expression for validating the incoming Amazon Cognito user pool app client ID.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "UserPoolId": { + "description": "The user pool ID.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The user pool ID.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AwsRegion": { + "description": "The AWS Region in which the user pool was created.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The AWS Region in which the user pool was created.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DefaultAction": { + "description": "The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool configuration.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool configuration.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -221,8 +268,9 @@ "$ref": "#/definitions/CognitoUserPoolConfig" }, "AuthenticationType": { + "description": "The authentication type for API key, AWS Identity and Access Management, OIDC, Amazon Cognito user pools, or AWS Lambda.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The authentication type for API key, AWS Identity and Access Management, OIDC, Amazon Cognito user pools, or AWS Lambda.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -235,70 +283,120 @@ "additionalProperties": false, "properties": { "ExcludeVerboseContent": { + "description": "Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level.", "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "FieldLogLevel": { + "description": "The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "CloudWatchLogsRoleArn": { + "description": "The service role that AWS AppSync will assume to publish to Amazon CloudWatch Logs in your account.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The service role that AWS AppSync will assume to publish to Amazon CloudWatch Logs in your account.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "appsync:TagResource", + "appsync:UntagResource", + "appsync:ListTagsForResource" + ] + }, "required": [ "Name", "AuthenticationType" ], "primaryIdentifier": [ - "/properties/Id" + "/properties/ApiId" ], "readOnlyProperties": [ "/properties/ApiId", + "/properties/Arn", "/properties/GraphQLEndpointArn", - "/properties/Id", "/properties/GraphQLDns", "/properties/GraphQLUrl", "/properties/RealtimeDns", - "/properties/RealtimeUrl", - "/properties/Arn" + "/properties/RealtimeUrl" ], + "handlers": { + "create": { + "permissions": [ + "appsync:CreateGraphqlApi", + "appsync:TagResource" + ] + }, + "read": { + "permissions": [ + "appsync:GetGraphqlApi", + "appsync:GetGraphqlApiEnvironmentVariables", + "appsync:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "appsync:GetGraphqlApi", + "appsync:UpdateGraphqlApi", + "appsync:TagResource", + "appsync:UntagResource" + ] + }, + "delete": { + "permissions": [ + "appsync:DeleteGraphqlApi" + ] + }, + "list": { + "permissions": [ + "appsync:ListGraphqlApis" + ] + } + }, "attributes": { - "RealtimeDns": { + "ApiId": { + "description": "Unique AWS AppSync GraphQL API identifier.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Unique AWS AppSync GraphQL API identifier.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "GraphQLUrl": { + "Arn": { + "description": "The Amazon Resource Name (ARN) of the API key", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the API key\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "GraphQLDns": { + "description": "The fully qualified domain name (FQDN) of the endpoint URL of your GraphQL API.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The fully qualified domain name (FQDN) of the endpoint URL of your GraphQL API.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "GraphQLEndpointArn": { + "description": "The GraphQL endpoint ARN.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "RealtimeUrl": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The GraphQL endpoint ARN.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Id": { + "GraphQLUrl": { + "description": "The Endpoint URL of your GraphQL API.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Endpoint URL of your GraphQL API.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Arn": { + "RealtimeDns": { + "description": "The fully qualified domain name (FQDN) of the real-time endpoint URL of your GraphQL API.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The fully qualified domain name (FQDN) of the real-time endpoint URL of your GraphQL API.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ApiId": { + "RealtimeUrl": { + "description": "The GraphQL API real-time endpoint URL.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The GraphQL API real-time endpoint URL.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-aps-scraper.json b/server/schema/resources/aws-aps-scraper.json index b9fee846..f6b7124e 100644 --- a/server/schema/resources/aws-aps-scraper.json +++ b/server/schema/resources/aws-aps-scraper.json @@ -147,7 +147,7 @@ "type": "string", "minLength": 1, "maxLength": 100, - "markdownDescription": "Scraper alias.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nPattern: ^[0-9A-Za-z][-.0-9A-Z_a-z]*$ \nUpdate requires: Replacement" + "markdownDescription": "Scraper alias.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nPattern: ^[0-9A-Za-z][-.0-9A-Z_a-z]*$ \nUpdate requires: No interruption" }, "ScrapeConfiguration": { "$ref": "#/definitions/ScrapeConfiguration" @@ -181,10 +181,7 @@ "/properties/RoleArn" ], "createOnlyProperties": [ - "/properties/ScrapeConfiguration", - "/properties/Source", - "/properties/Destination", - "/properties/Alias" + "/properties/Source" ], "tagging": { "taggable": true, @@ -219,7 +216,10 @@ }, "update": { "permissions": [ + "aps:CreateScraper", "aps:DescribeScraper", + "aps:UpdateScraper", + "aps:DescribeWorkspace", "aps:TagResource", "aps:UntagResource", "aps:ListTagsForResource" diff --git a/server/schema/resources/aws-autoscaling-autoscalinggroup.json b/server/schema/resources/aws-autoscaling-autoscalinggroup.json index 242ba6b3..49f5c9ab 100644 --- a/server/schema/resources/aws-autoscaling-autoscalinggroup.json +++ b/server/schema/resources/aws-autoscaling-autoscalinggroup.json @@ -25,7 +25,6 @@ "conditionalCreateOnlyProperties": [ "/properties/LaunchConfigurationName", "/properties/VPCZoneIdentifier", - "/properties/PlacementGroup", "/properties/LaunchTemplate", "/properties/MixedInstancesPolicy" ], @@ -57,7 +56,11 @@ "managed-fleets:Get*", "managed-fleets:CreateAutoScalingGroup", "managed-fleets:UpdateAutoScalingGroup", - "ssm:Get*" + "ssm:Get*", + "vpc-lattice:DeregisterTargets", + "vpc-lattice:GetTargetGroup", + "vpc-lattice:ListTargets", + "vpc-lattice:RegisterTargets" ], "timeoutInMinutes": 360 }, @@ -90,7 +93,11 @@ "managed-fleets:RegisterAutoScalingGroup", "managed-fleets:DeregisterAutoScalingGroup", "managed-fleets:UpdateAutoScalingGroup", - "ssm:Get*" + "ssm:Get*", + "vpc-lattice:DeregisterTargets", + "vpc-lattice:GetTargetGroup", + "vpc-lattice:ListTargets", + "vpc-lattice:RegisterTargets" ], "timeoutInMinutes": 660 }, @@ -111,10 +118,313 @@ } }, "writeOnlyProperties": [ + "/properties/SkipZonalShiftValidation", "/properties/InstanceId" ], "additionalProperties": false, "definitions": { + "AvailabilityZoneImpairmentPolicy": { + "description": "Describes an Availability Zone impairment policy.", + "additionalProperties": false, + "type": "object", + "properties": { + "ZonalShiftEnabled": { + "description": "If ``true``, enable zonal shift for your Auto Scaling group.", + "type": "boolean", + "markdownDescription": "If ``true``, enable zonal shift for your Auto Scaling group.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + }, + "ImpairedZoneHealthCheckBehavior": { + "description": "Specifies the health check behavior for the impaired Availability Zone in an active zonal shift. If you select ``Replace unhealthy``, instances that appear unhealthy will be replaced in all Availability Zones. If you select ``Ignore unhealthy``, instances will not be replaced in the Availability Zone with the active zonal shift. For more information, see [Auto Scaling group zonal shift](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-zonal-shift.html) in the *Amazon EC2 Auto Scaling User Guide*.", + "type": "string", + "enum": [ + "IgnoreUnhealthy", + "ReplaceUnhealthy" + ], + "markdownDescription": "Specifies the health check behavior for the impaired Availability Zone in an active zonal shift. If you select ``Replace unhealthy``, instances that appear unhealthy will be replaced in all Availability Zones. If you select ``Ignore unhealthy``, instances will not be replaced in the Availability Zone with the active zonal shift. For more information, see [Auto Scaling group zonal shift](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-zonal-shift.html) in the *Amazon EC2 Auto Scaling User Guide*.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: IgnoreUnhealthy | ReplaceUnhealthy \nUpdate requires: No interruption" + } + }, + "required": [ + "ImpairedZoneHealthCheckBehavior", + "ZonalShiftEnabled" + ], + "markdownDescription": "Describes an Availability Zone impairment policy.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LifecycleHookSpecification": { + "description": "``LifecycleHookSpecification`` specifies a lifecycle hook for the ``LifecycleHookSpecificationList`` property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource. A lifecycle hook specifies actions to perform when Amazon EC2 Auto Scaling launches or terminates instances. \n For more information, see [Amazon EC2 Auto Scaling lifecycle hooks](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) in the *Amazon EC2 Auto Scaling User Guide*. You can find a sample template snippet in the [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#aws-resource-as-lifecyclehook--examples) section of the ``AWS::AutoScaling::LifecycleHook`` resource.", + "additionalProperties": false, + "type": "object", + "properties": { + "LifecycleHookName": { + "description": "The name of the lifecycle hook.", + "type": "string", + "markdownDescription": "The name of the lifecycle hook.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "LifecycleTransition": { + "description": "The lifecycle transition. For Auto Scaling groups, there are two major lifecycle transitions.\n + To create a lifecycle hook for scale-out events, specify ``autoscaling:EC2_INSTANCE_LAUNCHING``.\n + To create a lifecycle hook for scale-in events, specify ``autoscaling:EC2_INSTANCE_TERMINATING``.", + "type": "string", + "markdownDescription": "The lifecycle transition. For Auto Scaling groups, there are two major lifecycle transitions.\n + To create a lifecycle hook for scale-out events, specify ``autoscaling:EC2_INSTANCE_LAUNCHING``.\n + To create a lifecycle hook for scale-in events, specify ``autoscaling:EC2_INSTANCE_TERMINATING``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "HeartbeatTimeout": { + "description": "The maximum time, in seconds, that can elapse before the lifecycle hook times out. The range is from ``30`` to ``7200`` seconds. The default value is ``3600`` seconds (1 hour).", + "type": "integer", + "markdownDescription": "The maximum time, in seconds, that can elapse before the lifecycle hook times out. The range is from ``30`` to ``7200`` seconds. The default value is ``3600`` seconds (1 hour).\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "NotificationMetadata": { + "description": "Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.", + "type": "string", + "markdownDescription": "Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "DefaultResult": { + "description": "The action the Auto Scaling group takes when the lifecycle hook timeout elapses or if an unexpected failure occurs. The default value is ``ABANDON``.\n Valid values: ``CONTINUE`` | ``ABANDON``", + "type": "string", + "markdownDescription": "The action the Auto Scaling group takes when the lifecycle hook timeout elapses or if an unexpected failure occurs. The default value is ``ABANDON``.\n Valid values: ``CONTINUE`` | ``ABANDON``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "NotificationTargetARN": { + "description": "The Amazon Resource Name (ARN) of the notification target that Amazon EC2 Auto Scaling sends notifications to when an instance is in a wait state for the lifecycle hook. You can specify an Amazon SNS topic or an Amazon SQS queue.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the notification target that Amazon EC2 Auto Scaling sends notifications to when an instance is in a wait state for the lifecycle hook. You can specify an Amazon SNS topic or an Amazon SQS queue.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "RoleARN": { + "description": "The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target. For information about creating this role, see [Prepare to add a lifecycle hook to your Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/prepare-for-lifecycle-notifications.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Valid only if the notification target is an Amazon SNS topic or an Amazon SQS queue.", + "type": "string", + "markdownDescription": "The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target. For information about creating this role, see [Prepare to add a lifecycle hook to your Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/prepare-for-lifecycle-notifications.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Valid only if the notification target is an Amazon SNS topic or an Amazon SQS queue.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "LifecycleHookName", + "LifecycleTransition" + ], + "markdownDescription": "``LifecycleHookSpecification`` specifies a lifecycle hook for the ``LifecycleHookSpecificationList`` property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource. A lifecycle hook specifies actions to perform when Amazon EC2 Auto Scaling launches or terminates instances. \n For more information, see [Amazon EC2 Auto Scaling lifecycle hooks](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) in the *Amazon EC2 Auto Scaling User Guide*. You can find a sample template snippet in the [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#aws-resource-as-lifecyclehook--examples) section of the ``AWS::AutoScaling::LifecycleHook`` resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MemoryGiBPerVCpuRequest": { + "description": "``MemoryGiBPerVCpuRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum amount of memory per vCPU for an instance type, in GiB.", + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "description": "The memory minimum in GiB.", + "type": "number", + "markdownDescription": "The memory minimum in GiB.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "Max": { + "description": "The memory maximum in GiB.", + "type": "number", + "markdownDescription": "The memory maximum in GiB.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "``MemoryGiBPerVCpuRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum amount of memory per vCPU for an instance type, in GiB.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TotalLocalStorageGBRequest": { + "description": "``TotalLocalStorageGBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum total local storage size for an instance type, in GB.", + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "description": "The storage minimum in GB.", + "type": "number", + "markdownDescription": "The storage minimum in GB.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "Max": { + "description": "The storage maximum in GB.", + "type": "number", + "markdownDescription": "The storage maximum in GB.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "``TotalLocalStorageGBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum total local storage size for an instance type, in GB.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "NetworkBandwidthGbpsRequest": { + "description": "``NetworkBandwidthGbpsRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum network bandwidth for an instance type, in Gbps.\n Setting the minimum bandwidth does not guarantee that your instance will achieve the minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum bandwidth, but the actual bandwidth of your instance might go below the specified minimum at times. For more information, see [Available instance bandwidth](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html#available-instance-bandwidth) in the *Amazon EC2 User Guide for Linux Instances*.", + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "description": "The minimum amount of network bandwidth, in gigabits per second (Gbps).", + "type": "number", + "markdownDescription": "The minimum amount of network bandwidth, in gigabits per second (Gbps).\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "Max": { + "description": "The maximum amount of network bandwidth, in gigabits per second (Gbps).", + "type": "number", + "markdownDescription": "The maximum amount of network bandwidth, in gigabits per second (Gbps).\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "``NetworkBandwidthGbpsRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum network bandwidth for an instance type, in Gbps.\n Setting the minimum bandwidth does not guarantee that your instance will achieve the minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum bandwidth, but the actual bandwidth of your instance might go below the specified minimum at times. For more information, see [Available instance bandwidth](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html#available-instance-bandwidth) in the *Amazon EC2 User Guide for Linux Instances*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "BaselineEbsBandwidthMbpsRequest": { + "description": "``BaselineEbsBandwidthMbpsRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum baseline bandwidth performance for an instance type, in Mbps.", + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "description": "The minimum value in Mbps.", + "type": "integer", + "markdownDescription": "The minimum value in Mbps.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Max": { + "description": "The maximum value in Mbps.", + "type": "integer", + "markdownDescription": "The maximum value in Mbps.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "``BaselineEbsBandwidthMbpsRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum baseline bandwidth performance for an instance type, in Mbps.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "NetworkInterfaceCountRequest": { + "description": "``NetworkInterfaceCountRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum number of network interfaces for an instance type.", + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "description": "The minimum number of network interfaces.", + "type": "integer", + "markdownDescription": "The minimum number of network interfaces.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Max": { + "description": "The maximum number of network interfaces.", + "type": "integer", + "markdownDescription": "The maximum number of network interfaces.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "``NetworkInterfaceCountRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum number of network interfaces for an instance type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "VCpuCountRequest": { + "description": "``VCpuCountRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum number of vCPUs for an instance type.", + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "description": "The minimum number of vCPUs.", + "type": "integer", + "markdownDescription": "The minimum number of vCPUs.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Max": { + "description": "The maximum number of vCPUs.", + "type": "integer", + "markdownDescription": "The maximum number of vCPUs.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "``VCpuCountRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum number of vCPUs for an instance type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PerformanceFactorReferenceRequest": { + "description": "", + "additionalProperties": false, + "type": "object", + "properties": { + "InstanceFamily": { + "description": "", + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LaunchTemplate": { + "description": "Use this structure to specify the launch templates and instance types (overrides) for a mixed instances policy.\n ``LaunchTemplate`` is a property of the [AWS::AutoScaling::AutoScalingGroup MixedInstancesPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-mixedinstancespolicy.html) property type.", + "additionalProperties": false, + "type": "object", + "properties": { + "LaunchTemplateSpecification": { + "description": "The launch template.", + "$ref": "#/definitions/LaunchTemplateSpecification", + "markdownDescription": "The launch template.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, + "Overrides": { + "uniqueItems": false, + "description": "Any properties that you specify override the same properties in the launch template.", + "insertionOrder": true, + "type": "array", + "items": { + "$ref": "#/definitions/LaunchTemplateOverrides" + }, + "markdownDescription": "Any properties that you specify override the same properties in the launch template.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "LaunchTemplateSpecification" + ], + "markdownDescription": "Use this structure to specify the launch templates and instance types (overrides) for a mixed instances policy.\n ``LaunchTemplate`` is a property of the [AWS::AutoScaling::AutoScalingGroup MixedInstancesPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-mixedinstancespolicy.html) property type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LaunchTemplateOverrides": { + "description": "Use this structure to let Amazon EC2 Auto Scaling do the following when the Auto Scaling group has a mixed instances policy:\n + Override the instance type that is specified in the launch template.\n + Use multiple instance types.\n \n Specify the instance types that you want, or define your instance requirements instead and let Amazon EC2 Auto Scaling provision the available instance types that meet your requirements. This can provide Amazon EC2 Auto Scaling with a larger selection of instance types to choose from when fulfilling Spot and On-Demand capacities. You can view which instance types are matched before you apply the instance requirements to your Auto Scaling group.\n After you define your instance requirements, you don't have to keep updating these settings to get new EC2 instance types automatically. Amazon EC2 Auto Scaling uses the instance requirements of the Auto Scaling group to determine whether a new EC2 instance type can be used.\n ``LaunchTemplateOverrides`` is a property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplate.html) property type.", + "additionalProperties": false, + "type": "object", + "properties": { + "LaunchTemplateSpecification": { + "description": "Provides a launch template for the specified instance type or set of instance requirements. For example, some instance types might require a launch template with a different AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's specified in the ``LaunchTemplate`` definition. For more information, see [Specifying a different launch template for an instance type](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.html) in the *Amazon EC2 Auto Scaling User Guide*. \n You can specify up to 20 launch templates per Auto Scaling group. The launch templates specified in the overrides and in the ``LaunchTemplate`` definition count towards this limit.", + "$ref": "#/definitions/LaunchTemplateSpecification", + "markdownDescription": "Provides a launch template for the specified instance type or set of instance requirements. For example, some instance types might require a launch template with a different AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's specified in the ``LaunchTemplate`` definition. For more information, see [Specifying a different launch template for an instance type](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.html) in the *Amazon EC2 Auto Scaling User Guide*. \n You can specify up to 20 launch templates per Auto Scaling group. The launch templates specified in the overrides and in the ``LaunchTemplate`` definition count towards this limit.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "WeightedCapacity": { + "description": "If you provide a list of instance types to use, you can specify the number of capacity units provided by each instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic. When a Spot or On-Demand Instance is launched, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling launches instances until the desired capacity is totally fulfilled, even if this results in an overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only launch an instance with a ``WeightedCapacity`` of five units, the instance is launched, and the desired capacity is exceeded by three units. For more information, see [Configure instance weighting for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-instance-weighting.html) in the *Amazon EC2 Auto Scaling User Guide*. Value must be in the range of 1-999. \n If you specify a value for ``WeightedCapacity`` for one instance type, you must specify a value for ``WeightedCapacity`` for all of them.\n Every Auto Scaling group has three size parameters (``DesiredCapacity``, ``MaxSize``, and ``MinSize``). Usually, you set these sizes based on a specific number of instances. However, if you configure a mixed instances policy that defines weights for the instance types, you must specify these sizes with the same units that you use for weighting instances.", + "type": "string", + "markdownDescription": "If you provide a list of instance types to use, you can specify the number of capacity units provided by each instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic. When a Spot or On-Demand Instance is launched, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling launches instances until the desired capacity is totally fulfilled, even if this results in an overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only launch an instance with a ``WeightedCapacity`` of five units, the instance is launched, and the desired capacity is exceeded by three units. For more information, see [Configure instance weighting for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-instance-weighting.html) in the *Amazon EC2 Auto Scaling User Guide*. Value must be in the range of 1-999. \n If you specify a value for ``WeightedCapacity`` for one instance type, you must specify a value for ``WeightedCapacity`` for all of them.\n Every Auto Scaling group has three size parameters (``DesiredCapacity``, ``MaxSize``, and ``MinSize``). Usually, you set these sizes based on a specific number of instances. However, if you configure a mixed instances policy that defines weights for the instance types, you must specify these sizes with the same units that you use for weighting instances.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "InstanceRequirements": { + "description": "The instance requirements. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.\n You can specify up to four separate sets of instance requirements per Auto Scaling group. This is useful for provisioning instances from different Amazon Machine Images (AMIs) in the same Auto Scaling group. To do this, create the AMIs and create a new launch template for each AMI. Then, create a compatible set of instance requirements for each launch template. \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.", + "$ref": "#/definitions/InstanceRequirements", + "markdownDescription": "The instance requirements. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.\n You can specify up to four separate sets of instance requirements per Auto Scaling group. This is useful for provisioning instances from different Amazon Machine Images (AMIs) in the same Auto Scaling group. To do this, create the AMIs and create a new launch template for each AMI. Then, create a compatible set of instance requirements for each launch template. \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "InstanceType": { + "description": "The instance type, such as ``m3.xlarge``. You must specify an instance type that is supported in your requested Region and Availability Zones. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide for Linux Instances*.\n You can specify up to 40 instance types per Auto Scaling group.", + "type": "string", + "markdownDescription": "The instance type, such as ``m3.xlarge``. You must specify an instance type that is supported in your requested Region and Availability Zones. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide for Linux Instances*.\n You can specify up to 40 instance types per Auto Scaling group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Use this structure to let Amazon EC2 Auto Scaling do the following when the Auto Scaling group has a mixed instances policy:\n + Override the instance type that is specified in the launch template.\n + Use multiple instance types.\n \n Specify the instance types that you want, or define your instance requirements instead and let Amazon EC2 Auto Scaling provision the available instance types that meet your requirements. This can provide Amazon EC2 Auto Scaling with a larger selection of instance types to choose from when fulfilling Spot and On-Demand capacities. You can view which instance types are matched before you apply the instance requirements to your Auto Scaling group.\n After you define your instance requirements, you don't have to keep updating these settings to get new EC2 instance types automatically. Amazon EC2 Auto Scaling uses the instance requirements of the Auto Scaling group to determine whether a new EC2 instance type can be used.\n ``LaunchTemplateOverrides`` is a property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplate.html) property type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CpuPerformanceFactorRequest": { + "description": "", + "additionalProperties": false, + "type": "object", + "properties": { + "References": { + "description": "", + "$ref": "#/definitions/PerformanceFactorReferenceSetRequest", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MixedInstancesPolicy": { + "description": "Use this structure to launch multiple instance types and On-Demand Instances and Spot Instances within a single Auto Scaling group.\n A mixed instances policy contains information that Amazon EC2 Auto Scaling can use to launch instances and help optimize your costs. For more information, see [Auto Scaling groups with multiple instance types and purchase options](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html) in the *Amazon EC2 Auto Scaling User Guide*.\n You can create a mixed instances policy for new and existing Auto Scaling groups. You must use a launch template to configure the policy. You cannot use a launch configuration.\n There are key differences between Spot Instances and On-Demand Instances:\n + The price for Spot Instances varies based on demand\n + Amazon EC2 can terminate an individual Spot Instance as the availability of, or price for, Spot Instances changes\n \n When a Spot Instance is terminated, Amazon EC2 Auto Scaling group attempts to launch a replacement instance to maintain the desired capacity for the group. \n ``MixedInstancesPolicy`` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.", + "additionalProperties": false, + "type": "object", + "properties": { + "InstancesDistribution": { + "description": "The instances distribution.", + "$ref": "#/definitions/InstancesDistribution", + "markdownDescription": "The instances distribution.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "LaunchTemplate": { + "description": "One or more launch templates and the instance types (overrides) that are used to launch EC2 instances to fulfill On-Demand and Spot capacities.", + "$ref": "#/definitions/LaunchTemplate", + "markdownDescription": "One or more launch templates and the instance types (overrides) that are used to launch EC2 instances to fulfill On-Demand and Spot capacities.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + } + }, + "required": [ + "LaunchTemplate" + ], + "markdownDescription": "Use this structure to launch multiple instance types and On-Demand Instances and Spot Instances within a single Auto Scaling group.\n A mixed instances policy contains information that Amazon EC2 Auto Scaling can use to launch instances and help optimize your costs. For more information, see [Auto Scaling groups with multiple instance types and purchase options](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html) in the *Amazon EC2 Auto Scaling User Guide*.\n You can create a mixed instances policy for new and existing Auto Scaling groups. You must use a launch template to configure the policy. You cannot use a launch configuration.\n There are key differences between Spot Instances and On-Demand Instances:\n + The price for Spot Instances varies based on demand\n + Amazon EC2 can terminate an individual Spot Instance as the availability of, or price for, Spot Instances changes\n \n When a Spot Instance is terminated, Amazon EC2 Auto Scaling group attempts to launch a replacement instance to maintain the desired capacity for the group. \n ``MixedInstancesPolicy`` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CapacityReservationIds": { + "uniqueItems": true, + "insertionOrder": true, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "CapacityReservationResourceGroupArns": { + "uniqueItems": true, + "insertionOrder": true, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "TagProperty": { "description": "A structure that specifies a tag for the ``Tags`` property of [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.\n For more information, see [Tag Auto Scaling groups and instances](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html) in the *Amazon EC2 Auto Scaling User Guide*. You can find a sample template snippet in the [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#aws-resource-autoscaling-autoscalinggroup--examples) section of the ``AWS::AutoScaling::AutoScalingGroup`` resource.\n CloudFormation adds the following tags to all Auto Scaling groups and associated instances: \n + aws:cloudformation:stack-name\n + aws:cloudformation:stack-id\n + aws:cloudformation:logical-id", "additionalProperties": false, @@ -225,70 +535,22 @@ }, "markdownDescription": "``AcceleratorCountRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum number of accelerators for an instance type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "LifecycleHookSpecification": { - "description": "``LifecycleHookSpecification`` specifies a lifecycle hook for the ``LifecycleHookSpecificationList`` property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource. A lifecycle hook specifies actions to perform when Amazon EC2 Auto Scaling launches or terminates instances. \n For more information, see [Amazon EC2 Auto Scaling lifecycle hooks](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) in the *Amazon EC2 Auto Scaling User Guide*. You can find a sample template snippet in the [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#aws-resource-as-lifecyclehook--examples) section of the ``AWS::AutoScaling::LifecycleHook`` resource.", + "AvailabilityZoneDistribution": { + "description": "``AvailabilityZoneDistribution`` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.", "additionalProperties": false, "type": "object", "properties": { - "LifecycleHookName": { - "description": "The name of the lifecycle hook.", - "type": "string", - "markdownDescription": "The name of the lifecycle hook.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "LifecycleTransition": { - "description": "The lifecycle transition. For Auto Scaling groups, there are two major lifecycle transitions.\n + To create a lifecycle hook for scale-out events, specify ``autoscaling:EC2_INSTANCE_LAUNCHING``.\n + To create a lifecycle hook for scale-in events, specify ``autoscaling:EC2_INSTANCE_TERMINATING``.", - "type": "string", - "markdownDescription": "The lifecycle transition. For Auto Scaling groups, there are two major lifecycle transitions.\n + To create a lifecycle hook for scale-out events, specify ``autoscaling:EC2_INSTANCE_LAUNCHING``.\n + To create a lifecycle hook for scale-in events, specify ``autoscaling:EC2_INSTANCE_TERMINATING``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "HeartbeatTimeout": { - "description": "The maximum time, in seconds, that can elapse before the lifecycle hook times out. The range is from ``30`` to ``7200`` seconds. The default value is ``3600`` seconds (1 hour).", - "type": "integer", - "markdownDescription": "The maximum time, in seconds, that can elapse before the lifecycle hook times out. The range is from ``30`` to ``7200`` seconds. The default value is ``3600`` seconds (1 hour).\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "NotificationMetadata": { - "description": "Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.", - "type": "string", - "markdownDescription": "Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "DefaultResult": { - "description": "The action the Auto Scaling group takes when the lifecycle hook timeout elapses or if an unexpected failure occurs. The default value is ``ABANDON``.\n Valid values: ``CONTINUE`` | ``ABANDON``", - "type": "string", - "markdownDescription": "The action the Auto Scaling group takes when the lifecycle hook timeout elapses or if an unexpected failure occurs. The default value is ``ABANDON``.\n Valid values: ``CONTINUE`` | ``ABANDON``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "NotificationTargetARN": { - "description": "The Amazon Resource Name (ARN) of the notification target that Amazon EC2 Auto Scaling sends notifications to when an instance is in a wait state for the lifecycle hook. You can specify an Amazon SNS topic or an Amazon SQS queue.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the notification target that Amazon EC2 Auto Scaling sends notifications to when an instance is in a wait state for the lifecycle hook. You can specify an Amazon SNS topic or an Amazon SQS queue.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "RoleARN": { - "description": "The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target. For information about creating this role, see [Prepare to add a lifecycle hook to your Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/prepare-for-lifecycle-notifications.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Valid only if the notification target is an Amazon SNS topic or an Amazon SQS queue.", + "CapacityDistributionStrategy": { + "description": "If launches fail in an Availability Zone, the following strategies are available. The default is ``balanced-best-effort``. \n + ``balanced-only`` - If launches fail in an Availability Zone, Auto Scaling will continue to attempt to launch in the unhealthy zone to preserve a balanced distribution.\n + ``balanced-best-effort`` - If launches fail in an Availability Zone, Auto Scaling will attempt to launch in another healthy Availability Zone instead.", "type": "string", - "markdownDescription": "The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target. For information about creating this role, see [Prepare to add a lifecycle hook to your Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/prepare-for-lifecycle-notifications.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Valid only if the notification target is an Amazon SNS topic or an Amazon SQS queue.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "required": [ - "LifecycleHookName", - "LifecycleTransition" - ], - "markdownDescription": "``LifecycleHookSpecification`` specifies a lifecycle hook for the ``LifecycleHookSpecificationList`` property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource. A lifecycle hook specifies actions to perform when Amazon EC2 Auto Scaling launches or terminates instances. \n For more information, see [Amazon EC2 Auto Scaling lifecycle hooks](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) in the *Amazon EC2 Auto Scaling User Guide*. You can find a sample template snippet in the [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#aws-resource-as-lifecyclehook--examples) section of the ``AWS::AutoScaling::LifecycleHook`` resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "MemoryGiBPerVCpuRequest": { - "description": "``MemoryGiBPerVCpuRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum amount of memory per vCPU for an instance type, in GiB.", - "additionalProperties": false, - "type": "object", - "properties": { - "Min": { - "description": "The memory minimum in GiB.", - "type": "number", - "markdownDescription": "The memory minimum in GiB.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "Max": { - "description": "The memory maximum in GiB.", - "type": "number", - "markdownDescription": "The memory maximum in GiB.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "enum": [ + "balanced-best-effort", + "balanced-only" + ], + "markdownDescription": "If launches fail in an Availability Zone, the following strategies are available. The default is ``balanced-best-effort``. \n + ``balanced-only`` - If launches fail in an Availability Zone, Auto Scaling will continue to attempt to launch in the unhealthy zone to preserve a balanced distribution.\n + ``balanced-best-effort`` - If launches fail in an Availability Zone, Auto Scaling will attempt to launch in another healthy Availability Zone instead.\n\n---\n\nRequired: No \nType: String \nAllowed Values: balanced-best-effort | balanced-only \nUpdate requires: No interruption" } }, - "markdownDescription": "``MemoryGiBPerVCpuRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum amount of memory per vCPU for an instance type, in GiB.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "``AvailabilityZoneDistribution`` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "NotificationConfiguration": { "description": "A structure that specifies an Amazon SNS notification configuration for the ``NotificationConfigurations`` property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.\n For an example template snippet, see [Configure Amazon EC2 Auto Scaling resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-ec2-auto-scaling.html).\n For more information, see [Get Amazon SNS notifications when your Auto Scaling group scales](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ASGettingNotifications.html) in the *Amazon EC2 Auto Scaling User Guide*.", @@ -347,197 +609,75 @@ } }, "required": [ - "Granularity" - ], - "markdownDescription": "``MetricsCollection`` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource that describes the group metrics that an Amazon EC2 Auto Scaling group sends to Amazon CloudWatch. These metrics describe the group rather than any of its instances. \n For more information, see [Monitor CloudWatch metrics for your Auto Scaling groups and instances](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-monitoring.html) in the *Amazon EC2 Auto Scaling User Guide*. You can find a sample template snippet in the [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#aws-resource-autoscaling-autoscalinggroup--examples) section of the ``AWS::AutoScaling::AutoScalingGroup`` resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "TotalLocalStorageGBRequest": { - "description": "``TotalLocalStorageGBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum total local storage size for an instance type, in GB.", - "additionalProperties": false, - "type": "object", - "properties": { - "Min": { - "description": "The storage minimum in GB.", - "type": "number", - "markdownDescription": "The storage minimum in GB.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "Max": { - "description": "The storage maximum in GB.", - "type": "number", - "markdownDescription": "The storage maximum in GB.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - } - }, - "markdownDescription": "``TotalLocalStorageGBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum total local storage size for an instance type, in GB.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "MemoryMiBRequest": { - "description": "``MemoryMiBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum instance memory size for an instance type, in MiB.", - "additionalProperties": false, - "type": "object", - "properties": { - "Min": { - "description": "The memory minimum in MiB.", - "type": "integer", - "markdownDescription": "The memory minimum in MiB.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Max": { - "description": "The memory maximum in MiB.", - "type": "integer", - "markdownDescription": "The memory maximum in MiB.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "markdownDescription": "``MemoryMiBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum instance memory size for an instance type, in MiB.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "InstanceMaintenancePolicy": { - "description": "``InstanceMaintenancePolicy`` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.\n For more information, see [Instance maintenance policies](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-maintenance-policy.html) in the *Amazon EC2 Auto Scaling User Guide*.", - "additionalProperties": false, - "type": "object", - "properties": { - "MaxHealthyPercentage": { - "description": "Specifies the upper threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the maximum percentage of the group that can be in service and healthy, or pending, to support your workload when replacing instances. Value range is 100 to 200. To clear a previously set value, specify a value of ``-1``.\n Both ``MinHealthyPercentage`` and ``MaxHealthyPercentage`` must be specified, and the difference between them cannot be greater than 100. A large range increases the number of instances that can be replaced at the same time.", - "type": "integer", - "markdownDescription": "Specifies the upper threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the maximum percentage of the group that can be in service and healthy, or pending, to support your workload when replacing instances. Value range is 100 to 200. To clear a previously set value, specify a value of ``-1``.\n Both ``MinHealthyPercentage`` and ``MaxHealthyPercentage`` must be specified, and the difference between them cannot be greater than 100. A large range increases the number of instances that can be replaced at the same time.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "MinHealthyPercentage": { - "description": "Specifies the lower threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the minimum percentage of the group to keep in service, healthy, and ready to use to support your workload when replacing instances. Value range is 0 to 100. To clear a previously set value, specify a value of ``-1``.", - "type": "integer", - "markdownDescription": "Specifies the lower threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the minimum percentage of the group to keep in service, healthy, and ready to use to support your workload when replacing instances. Value range is 0 to 100. To clear a previously set value, specify a value of ``-1``.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "dependencies": { - "MaxHealthyPercentage": [ - "MinHealthyPercentage" - ], - "MinHealthyPercentage": [ - "MaxHealthyPercentage" - ] - }, - "markdownDescription": "``InstanceMaintenancePolicy`` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.\n For more information, see [Instance maintenance policies](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-maintenance-policy.html) in the *Amazon EC2 Auto Scaling User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "NetworkBandwidthGbpsRequest": { - "description": "``NetworkBandwidthGbpsRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum network bandwidth for an instance type, in Gbps.\n Setting the minimum bandwidth does not guarantee that your instance will achieve the minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum bandwidth, but the actual bandwidth of your instance might go below the specified minimum at times. For more information, see [Available instance bandwidth](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html#available-instance-bandwidth) in the *Amazon EC2 User Guide for Linux Instances*.", - "additionalProperties": false, - "type": "object", - "properties": { - "Min": { - "description": "The minimum amount of network bandwidth, in gigabits per second (Gbps).", - "type": "number", - "markdownDescription": "The minimum amount of network bandwidth, in gigabits per second (Gbps).\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "Max": { - "description": "The maximum amount of network bandwidth, in gigabits per second (Gbps).", - "type": "number", - "markdownDescription": "The maximum amount of network bandwidth, in gigabits per second (Gbps).\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - } - }, - "markdownDescription": "``NetworkBandwidthGbpsRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum network bandwidth for an instance type, in Gbps.\n Setting the minimum bandwidth does not guarantee that your instance will achieve the minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum bandwidth, but the actual bandwidth of your instance might go below the specified minimum at times. For more information, see [Available instance bandwidth](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html#available-instance-bandwidth) in the *Amazon EC2 User Guide for Linux Instances*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "BaselineEbsBandwidthMbpsRequest": { - "description": "``BaselineEbsBandwidthMbpsRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum baseline bandwidth performance for an instance type, in Mbps.", - "additionalProperties": false, - "type": "object", - "properties": { - "Min": { - "description": "The minimum value in Mbps.", - "type": "integer", - "markdownDescription": "The minimum value in Mbps.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Max": { - "description": "The maximum value in Mbps.", - "type": "integer", - "markdownDescription": "The maximum value in Mbps.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "markdownDescription": "``BaselineEbsBandwidthMbpsRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum baseline bandwidth performance for an instance type, in Mbps.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "Granularity" + ], + "markdownDescription": "``MetricsCollection`` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource that describes the group metrics that an Amazon EC2 Auto Scaling group sends to Amazon CloudWatch. These metrics describe the group rather than any of its instances. \n For more information, see [Monitor CloudWatch metrics for your Auto Scaling groups and instances](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-monitoring.html) in the *Amazon EC2 Auto Scaling User Guide*. You can find a sample template snippet in the [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#aws-resource-autoscaling-autoscalinggroup--examples) section of the ``AWS::AutoScaling::AutoScalingGroup`` resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "NetworkInterfaceCountRequest": { - "description": "``NetworkInterfaceCountRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum number of network interfaces for an instance type.", + "MemoryMiBRequest": { + "description": "``MemoryMiBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum instance memory size for an instance type, in MiB.", "additionalProperties": false, "type": "object", "properties": { "Min": { - "description": "The minimum number of network interfaces.", + "description": "The memory minimum in MiB.", "type": "integer", - "markdownDescription": "The minimum number of network interfaces.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The memory minimum in MiB.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Max": { - "description": "The maximum number of network interfaces.", + "description": "The memory maximum in MiB.", "type": "integer", - "markdownDescription": "The maximum number of network interfaces.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The memory maximum in MiB.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "markdownDescription": "``NetworkInterfaceCountRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum number of network interfaces for an instance type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "``MemoryMiBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum instance memory size for an instance type, in MiB.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "VCpuCountRequest": { - "description": "``VCpuCountRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum number of vCPUs for an instance type.", + "InstanceMaintenancePolicy": { + "description": "``InstanceMaintenancePolicy`` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.\n For more information, see [Instance maintenance policies](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-maintenance-policy.html) in the *Amazon EC2 Auto Scaling User Guide*.", "additionalProperties": false, "type": "object", "properties": { - "Min": { - "description": "The minimum number of vCPUs.", + "MaxHealthyPercentage": { + "description": "Specifies the upper threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the maximum percentage of the group that can be in service and healthy, or pending, to support your workload when replacing instances. Value range is 100 to 200. To clear a previously set value, specify a value of ``-1``.\n Both ``MinHealthyPercentage`` and ``MaxHealthyPercentage`` must be specified, and the difference between them cannot be greater than 100. A large range increases the number of instances that can be replaced at the same time.", "type": "integer", - "markdownDescription": "The minimum number of vCPUs.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "Specifies the upper threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the maximum percentage of the group that can be in service and healthy, or pending, to support your workload when replacing instances. Value range is 100 to 200. To clear a previously set value, specify a value of ``-1``.\n Both ``MinHealthyPercentage`` and ``MaxHealthyPercentage`` must be specified, and the difference between them cannot be greater than 100. A large range increases the number of instances that can be replaced at the same time.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "Max": { - "description": "The maximum number of vCPUs.", + "MinHealthyPercentage": { + "description": "Specifies the lower threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the minimum percentage of the group to keep in service, healthy, and ready to use to support your workload when replacing instances. Value range is 0 to 100. To clear a previously set value, specify a value of ``-1``.", "type": "integer", - "markdownDescription": "The maximum number of vCPUs.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "Specifies the lower threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the minimum percentage of the group to keep in service, healthy, and ready to use to support your workload when replacing instances. Value range is 0 to 100. To clear a previously set value, specify a value of ``-1``.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "markdownDescription": "``VCpuCountRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum number of vCPUs for an instance type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "dependencies": { + "MaxHealthyPercentage": [ + "MinHealthyPercentage" + ], + "MinHealthyPercentage": [ + "MaxHealthyPercentage" + ] + }, + "markdownDescription": "``InstanceMaintenancePolicy`` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.\n For more information, see [Instance maintenance policies](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-maintenance-policy.html) in the *Amazon EC2 Auto Scaling User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "LaunchTemplate": { - "description": "Use this structure to specify the launch templates and instance types (overrides) for a mixed instances policy.\n ``LaunchTemplate`` is a property of the [AWS::AutoScaling::AutoScalingGroup MixedInstancesPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-mixedinstancespolicy.html) property type.", + "BaselinePerformanceFactorsRequest": { + "description": "", "additionalProperties": false, "type": "object", "properties": { - "LaunchTemplateSpecification": { - "description": "The launch template.", - "$ref": "#/definitions/LaunchTemplateSpecification", - "markdownDescription": "The launch template.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" - }, - "Overrides": { - "uniqueItems": false, - "description": "Any properties that you specify override the same properties in the launch template.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/LaunchTemplateOverrides" - }, - "markdownDescription": "Any properties that you specify override the same properties in the launch template.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "Cpu": { + "description": "", + "$ref": "#/definitions/CpuPerformanceFactorRequest", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "required": [ - "LaunchTemplateSpecification" - ], - "markdownDescription": "Use this structure to specify the launch templates and instance types (overrides) for a mixed instances policy.\n ``LaunchTemplate`` is a property of the [AWS::AutoScaling::AutoScalingGroup MixedInstancesPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-mixedinstancespolicy.html) property type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "LaunchTemplateOverrides": { - "description": "Use this structure to let Amazon EC2 Auto Scaling do the following when the Auto Scaling group has a mixed instances policy:\n + Override the instance type that is specified in the launch template.\n + Use multiple instance types.\n \n Specify the instance types that you want, or define your instance requirements instead and let Amazon EC2 Auto Scaling provision the available instance types that meet your requirements. This can provide Amazon EC2 Auto Scaling with a larger selection of instance types to choose from when fulfilling Spot and On-Demand capacities. You can view which instance types are matched before you apply the instance requirements to your Auto Scaling group.\n After you define your instance requirements, you don't have to keep updating these settings to get new EC2 instance types automatically. Amazon EC2 Auto Scaling uses the instance requirements of the Auto Scaling group to determine whether a new EC2 instance type can be used.\n ``LaunchTemplateOverrides`` is a property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplate.html) property type.", - "additionalProperties": false, - "type": "object", - "properties": { - "LaunchTemplateSpecification": { - "description": "Provides a launch template for the specified instance type or set of instance requirements. For example, some instance types might require a launch template with a different AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's specified in the ``LaunchTemplate`` definition. For more information, see [Specifying a different launch template for an instance type](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.html) in the *Amazon EC2 Auto Scaling User Guide*. \n You can specify up to 20 launch templates per Auto Scaling group. The launch templates specified in the overrides and in the ``LaunchTemplate`` definition count towards this limit.", - "$ref": "#/definitions/LaunchTemplateSpecification", - "markdownDescription": "Provides a launch template for the specified instance type or set of instance requirements. For example, some instance types might require a launch template with a different AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's specified in the ``LaunchTemplate`` definition. For more information, see [Specifying a different launch template for an instance type](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.html) in the *Amazon EC2 Auto Scaling User Guide*. \n You can specify up to 20 launch templates per Auto Scaling group. The launch templates specified in the overrides and in the ``LaunchTemplate`` definition count towards this limit.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "WeightedCapacity": { - "description": "If you provide a list of instance types to use, you can specify the number of capacity units provided by each instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic. When a Spot or On-Demand Instance is launched, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling launches instances until the desired capacity is totally fulfilled, even if this results in an overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only launch an instance with a ``WeightedCapacity`` of five units, the instance is launched, and the desired capacity is exceeded by three units. For more information, see [Configure instance weighting for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-instance-weighting.html) in the *Amazon EC2 Auto Scaling User Guide*. Value must be in the range of 1-999. \n If you specify a value for ``WeightedCapacity`` for one instance type, you must specify a value for ``WeightedCapacity`` for all of them.\n Every Auto Scaling group has three size parameters (``DesiredCapacity``, ``MaxSize``, and ``MinSize``). Usually, you set these sizes based on a specific number of instances. However, if you configure a mixed instances policy that defines weights for the instance types, you must specify these sizes with the same units that you use for weighting instances.", - "type": "string", - "markdownDescription": "If you provide a list of instance types to use, you can specify the number of capacity units provided by each instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic. When a Spot or On-Demand Instance is launched, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling launches instances until the desired capacity is totally fulfilled, even if this results in an overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only launch an instance with a ``WeightedCapacity`` of five units, the instance is launched, and the desired capacity is exceeded by three units. For more information, see [Configure instance weighting for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-instance-weighting.html) in the *Amazon EC2 Auto Scaling User Guide*. Value must be in the range of 1-999. \n If you specify a value for ``WeightedCapacity`` for one instance type, you must specify a value for ``WeightedCapacity`` for all of them.\n Every Auto Scaling group has three size parameters (``DesiredCapacity``, ``MaxSize``, and ``MinSize``). Usually, you set these sizes based on a specific number of instances. However, if you configure a mixed instances policy that defines weights for the instance types, you must specify these sizes with the same units that you use for weighting instances.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "InstanceRequirements": { - "description": "The instance requirements. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.\n You can specify up to four separate sets of instance requirements per Auto Scaling group. This is useful for provisioning instances from different Amazon Machine Images (AMIs) in the same Auto Scaling group. To do this, create the AMIs and create a new launch template for each AMI. Then, create a compatible set of instance requirements for each launch template. \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.", - "$ref": "#/definitions/InstanceRequirements", - "markdownDescription": "The instance requirements. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.\n You can specify up to four separate sets of instance requirements per Auto Scaling group. This is useful for provisioning instances from different Amazon Machine Images (AMIs) in the same Auto Scaling group. To do this, create the AMIs and create a new launch template for each AMI. Then, create a compatible set of instance requirements for each launch template. \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "InstanceType": { - "description": "The instance type, such as ``m3.xlarge``. You must specify an instance type that is supported in your requested Region and Availability Zones. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide for Linux Instances*.\n You can specify up to 40 instance types per Auto Scaling group.", - "type": "string", - "markdownDescription": "The instance type, such as ``m3.xlarge``. You must specify an instance type that is supported in your requested Region and Availability Zones. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide for Linux Instances*.\n You can specify up to 40 instance types per Auto Scaling group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } + "PerformanceFactorReferenceSetRequest": { + "uniqueItems": true, + "insertionOrder": true, + "type": "array", + "items": { + "$ref": "#/definitions/PerformanceFactorReferenceRequest" }, - "markdownDescription": "Use this structure to let Amazon EC2 Auto Scaling do the following when the Auto Scaling group has a mixed instances policy:\n + Override the instance type that is specified in the launch template.\n + Use multiple instance types.\n \n Specify the instance types that you want, or define your instance requirements instead and let Amazon EC2 Auto Scaling provision the available instance types that meet your requirements. This can provide Amazon EC2 Auto Scaling with a larger selection of instance types to choose from when fulfilling Spot and On-Demand capacities. You can view which instance types are matched before you apply the instance requirements to your Auto Scaling group.\n After you define your instance requirements, you don't have to keep updating these settings to get new EC2 instance types automatically. Amazon EC2 Auto Scaling uses the instance requirements of the Auto Scaling group to determine whether a new EC2 instance type can be used.\n ``LaunchTemplateOverrides`` is a property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplate.html) property type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "AcceleratorTotalMemoryMiBRequest": { "description": "``AcceleratorTotalMemoryMiBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum total memory size for the accelerators for an instance type, in MiB.", @@ -557,43 +697,33 @@ }, "markdownDescription": "``AcceleratorTotalMemoryMiBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum total memory size for the accelerators for an instance type, in MiB.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "MixedInstancesPolicy": { - "description": "Use this structure to launch multiple instance types and On-Demand Instances and Spot Instances within a single Auto Scaling group.\n A mixed instances policy contains information that Amazon EC2 Auto Scaling can use to launch instances and help optimize your costs. For more information, see [Auto Scaling groups with multiple instance types and purchase options](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html) in the *Amazon EC2 Auto Scaling User Guide*.\n You can create a mixed instances policy for new and existing Auto Scaling groups. You must use a launch template to configure the policy. You cannot use a launch configuration.\n There are key differences between Spot Instances and On-Demand Instances:\n + The price for Spot Instances varies based on demand\n + Amazon EC2 can terminate an individual Spot Instance as the availability of, or price for, Spot Instances changes\n \n When a Spot Instance is terminated, Amazon EC2 Auto Scaling group attempts to launch a replacement instance to maintain the desired capacity for the group. \n ``MixedInstancesPolicy`` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.", + "TrafficSourceIdentifier": { + "description": "Identifying information for a traffic source.", "additionalProperties": false, "type": "object", "properties": { - "InstancesDistribution": { - "description": "The instances distribution.", - "$ref": "#/definitions/InstancesDistribution", - "markdownDescription": "The instances distribution.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "Type": { + "description": "Provides additional context for the value of ``Identifier``.\n The following lists the valid values:\n + ``elb`` if ``Identifier`` is the name of a Classic Load Balancer.\n + ``elbv2`` if ``Identifier`` is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.\n + ``vpc-lattice`` if ``Identifier`` is the ARN of a VPC Lattice target group.\n \n Required if the identifier is the name of a Classic Load Balancer.", + "type": "string", + "markdownDescription": "Provides additional context for the value of ``Identifier``.\n The following lists the valid values:\n + ``elb`` if ``Identifier`` is the name of a Classic Load Balancer.\n + ``elbv2`` if ``Identifier`` is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.\n + ``vpc-lattice`` if ``Identifier`` is the ARN of a VPC Lattice target group.\n \n Required if the identifier is the name of a Classic Load Balancer.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "LaunchTemplate": { - "description": "One or more launch templates and the instance types (overrides) that are used to launch EC2 instances to fulfill On-Demand and Spot capacities.", - "$ref": "#/definitions/LaunchTemplate", - "markdownDescription": "One or more launch templates and the instance types (overrides) that are used to launch EC2 instances to fulfill On-Demand and Spot capacities.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + "Identifier": { + "description": "Identifies the traffic source.\n For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region.\n For example: \n + Application Load Balancer ARN: ``arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456`` \n + Classic Load Balancer name: ``my-classic-load-balancer`` \n + VPC Lattice ARN: ``arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456`` \n \n To get the ARN of a target group for a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a Classic Load Balancer, use the Elastic Load Balancing [DescribeTargetGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) and [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) API operations.\n To get the ARN of a target group for VPC Lattice, use the VPC Lattice [GetTargetGroup](https://docs.aws.amazon.com/vpc-lattice/latest/APIReference/API_GetTargetGroup.html) API operation.", + "type": "string", + "markdownDescription": "Identifies the traffic source.\n For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region.\n For example: \n + Application Load Balancer ARN: ``arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456`` \n + Classic Load Balancer name: ``my-classic-load-balancer`` \n + VPC Lattice ARN: ``arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456`` \n \n To get the ARN of a target group for a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a Classic Load Balancer, use the Elastic Load Balancing [DescribeTargetGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) and [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) API operations.\n To get the ARN of a target group for VPC Lattice, use the VPC Lattice [GetTargetGroup](https://docs.aws.amazon.com/vpc-lattice/latest/APIReference/API_GetTargetGroup.html) API operation.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "LaunchTemplate" + "Identifier", + "Type" ], - "markdownDescription": "Use this structure to launch multiple instance types and On-Demand Instances and Spot Instances within a single Auto Scaling group.\n A mixed instances policy contains information that Amazon EC2 Auto Scaling can use to launch instances and help optimize your costs. For more information, see [Auto Scaling groups with multiple instance types and purchase options](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html) in the *Amazon EC2 Auto Scaling User Guide*.\n You can create a mixed instances policy for new and existing Auto Scaling groups. You must use a launch template to configure the policy. You cannot use a launch configuration.\n There are key differences between Spot Instances and On-Demand Instances:\n + The price for Spot Instances varies based on demand\n + Amazon EC2 can terminate an individual Spot Instance as the availability of, or price for, Spot Instances changes\n \n When a Spot Instance is terminated, Amazon EC2 Auto Scaling group attempts to launch a replacement instance to maintain the desired capacity for the group. \n ``MixedInstancesPolicy`` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Identifying information for a traffic source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "InstanceRequirements": { "description": "The attributes for the instance types for a mixed instances policy. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 Auto Scaling can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n For an example template, see [Configure Amazon EC2 Auto Scaling resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-ec2-auto-scaling.html).\n For more information, see [Creating an Auto Scaling group using attribute-based instance type selection](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html) in the *Amazon EC2 Auto Scaling User Guide*. For help determining which instance types match your attributes before you apply them to your Auto Scaling group, see [Preview instance types with specified attributes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-get-instance-types-from-instance-requirements) in the *Amazon EC2 User Guide for Linux Instances*.\n ``InstanceRequirements`` is a property of the ``LaunchTemplateOverrides`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplate.html) property type.", "additionalProperties": false, "type": "object", "properties": { - "LocalStorageTypes": { - "uniqueItems": true, - "description": "Indicates the type of local storage that is required.\n + For instance types with hard disk drive (HDD) storage, specify ``hdd``.\n + For instance types with solid state drive (SSD) storage, specify ``ssd``.\n \n Default: Any local storage type", - "insertionOrder": false, - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "Indicates the type of local storage that is required.\n + For instance types with hard disk drive (HDD) storage, specify ``hdd``.\n + For instance types with solid state drive (SSD) storage, specify ``ssd``.\n \n Default: Any local storage type\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, "InstanceGenerations": { "uniqueItems": true, "description": "Indicates whether current or previous generation instance types are included.\n + For current generation instance types, specify ``current``. The current generation includes EC2 instance types currently recommended for use. This typically includes the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide for Linux Instances*.\n + For previous generation instance types, specify ``previous``.\n \n Default: Any current or previous generation", @@ -605,11 +735,6 @@ }, "markdownDescription": "Indicates whether current or previous generation instance types are included.\n + For current generation instance types, specify ``current``. The current generation includes EC2 instance types currently recommended for use. This typically includes the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide for Linux Instances*.\n + For previous generation instance types, specify ``previous``.\n \n Default: Any current or previous generation\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "NetworkInterfaceCount": { - "description": "The minimum and maximum number of network interfaces for an instance type.\n Default: No minimum or maximum limits", - "$ref": "#/definitions/NetworkInterfaceCountRequest", - "markdownDescription": "The minimum and maximum number of network interfaces for an instance type.\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, "AcceleratorTypes": { "uniqueItems": true, "description": "Lists the accelerator types that must be on an instance type.\n + For instance types with GPU accelerators, specify ``gpu``.\n + For instance types with FPGA accelerators, specify ``fpga``.\n + For instance types with inference accelerators, specify ``inference``.\n \n Default: Any accelerator type", @@ -637,33 +762,11 @@ }, "markdownDescription": "Indicates whether instance types must have accelerators by specific manufacturers.\n + For instance types with NVIDIA devices, specify ``nvidia``.\n + For instance types with AMD devices, specify ``amd``.\n + For instance types with AWS devices, specify ``amazon-web-services``.\n + For instance types with Xilinx devices, specify ``xilinx``.\n \n Default: Any manufacturer\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "ExcludedInstanceTypes": { - "uniqueItems": true, - "description": "The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance family, type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``. \n For example, if you specify ``c5*``, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will exclude all the M5a instance types, but not the M5n instance types.\n If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``.\n Default: No excluded instance types", - "insertionOrder": true, - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance family, type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``. \n For example, if you specify ``c5*``, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will exclude all the M5a instance types, but not the M5n instance types.\n If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``.\n Default: No excluded instance types\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, "VCpuCount": { "description": "The minimum and maximum number of vCPUs for an instance type.", "$ref": "#/definitions/VCpuCountRequest", "markdownDescription": "The minimum and maximum number of vCPUs for an instance type.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, - "AllowedInstanceTypes": { - "uniqueItems": true, - "description": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``, Amazon EC2 Auto Scaling will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will allow all the M5a instance types, but not the M5n instance types.\n If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``.\n Default: All instance types", - "insertionOrder": true, - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``, Amazon EC2 Auto Scaling will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will allow all the M5a instance types, but not the M5n instance types.\n If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``.\n Default: All instance types\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, "LocalStorage": { "description": "Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, see [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide for Linux Instances*.\n Default: ``included``", "type": "string", @@ -680,16 +783,6 @@ }, "markdownDescription": "Lists which specific CPU manufacturers to include.\n + For instance types with Intel CPUs, specify ``intel``.\n + For instance types with AMD CPUs, specify ``amd``.\n + For instance types with AWS CPUs, specify ``amazon-web-services``.\n \n Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. \n Default: Any manufacturer\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "AcceleratorCount": { - "description": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) for an instance type.\n To exclude accelerator-enabled instance types, set ``Max`` to ``0``.\n Default: No minimum or maximum limits", - "$ref": "#/definitions/AcceleratorCountRequest", - "markdownDescription": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) for an instance type.\n To exclude accelerator-enabled instance types, set ``Max`` to ``0``.\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "NetworkBandwidthGbps": { - "description": "The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).\n Default: No minimum or maximum limits", - "$ref": "#/definitions/NetworkBandwidthGbpsRequest", - "markdownDescription": "The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, "BareMetal": { "description": "Indicates whether bare metal instance types are included, excluded, or required.\n Default: ``excluded``", "type": "string", @@ -705,6 +798,69 @@ "type": "integer", "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.\n If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price. \n Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 Auto Scaling will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999``.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "description": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold. \n The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.\n To turn off price protection, specify a high value, such as ``999999``. \n If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per instance price. \n Default: ``20``", + "type": "integer", + "markdownDescription": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold. \n The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.\n To turn off price protection, specify a high value, such as ``999999``. \n If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per instance price. \n Default: ``20``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MemoryMiB": { + "description": "The minimum and maximum instance memory size for an instance type, in MiB.", + "$ref": "#/definitions/MemoryMiBRequest", + "markdownDescription": "The minimum and maximum instance memory size for an instance type, in MiB.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, + "LocalStorageTypes": { + "uniqueItems": true, + "description": "Indicates the type of local storage that is required.\n + For instance types with hard disk drive (HDD) storage, specify ``hdd``.\n + For instance types with solid state drive (SSD) storage, specify ``ssd``.\n \n Default: Any local storage type", + "insertionOrder": false, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "Indicates the type of local storage that is required.\n + For instance types with hard disk drive (HDD) storage, specify ``hdd``.\n + For instance types with solid state drive (SSD) storage, specify ``ssd``.\n \n Default: Any local storage type\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "NetworkInterfaceCount": { + "description": "The minimum and maximum number of network interfaces for an instance type.\n Default: No minimum or maximum limits", + "$ref": "#/definitions/NetworkInterfaceCountRequest", + "markdownDescription": "The minimum and maximum number of network interfaces for an instance type.\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ExcludedInstanceTypes": { + "uniqueItems": true, + "description": "The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance family, type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``. \n For example, if you specify ``c5*``, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will exclude all the M5a instance types, but not the M5n instance types.\n If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``.\n Default: No excluded instance types", + "insertionOrder": true, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance family, type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``. \n For example, if you specify ``c5*``, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will exclude all the M5a instance types, but not the M5n instance types.\n If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``.\n Default: No excluded instance types\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AllowedInstanceTypes": { + "uniqueItems": true, + "description": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``, Amazon EC2 Auto Scaling will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will allow all the M5a instance types, but not the M5n instance types.\n If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``.\n Default: All instance types", + "insertionOrder": true, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``, Amazon EC2 Auto Scaling will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will allow all the M5a instance types, but not the M5n instance types.\n If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``.\n Default: All instance types\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AcceleratorCount": { + "description": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) for an instance type.\n To exclude accelerator-enabled instance types, set ``Max`` to ``0``.\n Default: No minimum or maximum limits", + "$ref": "#/definitions/AcceleratorCountRequest", + "markdownDescription": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) for an instance type.\n To exclude accelerator-enabled instance types, set ``Max`` to ``0``.\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "NetworkBandwidthGbps": { + "description": "The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).\n Default: No minimum or maximum limits", + "$ref": "#/definitions/NetworkBandwidthGbpsRequest", + "markdownDescription": "The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "BaselinePerformanceFactors": { + "description": "", + "$ref": "#/definitions/BaselinePerformanceFactorsRequest", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "BaselineEbsBandwidthMbps": { "description": "The minimum and maximum baseline bandwidth performance for an instance type, in Mbps. For more information, see [Amazon EBS\u2013optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide for Linux Instances*.\n Default: No minimum or maximum limits", "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest", @@ -731,21 +887,11 @@ "$ref": "#/definitions/AcceleratorTotalMemoryMiBRequest", "markdownDescription": "The minimum and maximum total memory size for the accelerators on an instance type, in MiB.\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "OnDemandMaxPricePercentageOverLowestPrice": { - "description": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold. \n The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.\n To turn off price protection, specify a high value, such as ``999999``. \n If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per instance price. \n Default: ``20``", - "type": "integer", - "markdownDescription": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold. \n The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.\n To turn off price protection, specify a high value, such as ``999999``. \n If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per instance price. \n Default: ``20``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, "BurstablePerformance": { "description": "Indicates whether burstable performance instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) in the *Amazon EC2 User Guide for Linux Instances*.\n Default: ``excluded``", "type": "string", "markdownDescription": "Indicates whether burstable performance instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) in the *Amazon EC2 User Guide for Linux Instances*.\n Default: ``excluded``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "MemoryMiB": { - "description": "The minimum and maximum instance memory size for an instance type, in MiB.", - "$ref": "#/definitions/MemoryMiBRequest", - "markdownDescription": "The minimum and maximum instance memory size for an instance type, in MiB.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" - }, "TotalLocalStorageGB": { "description": "The minimum and maximum total local storage size for an instance type, in GB.\n Default: No minimum or maximum limits", "$ref": "#/definitions/TotalLocalStorageGBRequest", @@ -757,6 +903,38 @@ "VCpuCount" ], "markdownDescription": "The attributes for the instance types for a mixed instances policy. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 Auto Scaling can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n For an example template, see [Configure Amazon EC2 Auto Scaling resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-ec2-auto-scaling.html).\n For more information, see [Creating an Auto Scaling group using attribute-based instance type selection](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html) in the *Amazon EC2 Auto Scaling User Guide*. For help determining which instance types match your attributes before you apply them to your Auto Scaling group, see [Preview instance types with specified attributes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-get-instance-types-from-instance-requirements) in the *Amazon EC2 User Guide for Linux Instances*.\n ``InstanceRequirements`` is a property of the ``LaunchTemplateOverrides`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplate.html) property type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CapacityReservationTarget": { + "description": "", + "additionalProperties": false, + "type": "object", + "properties": { + "CapacityReservationIds": { + "$ref": "#/definitions/CapacityReservationIds" + }, + "CapacityReservationResourceGroupArns": { + "$ref": "#/definitions/CapacityReservationResourceGroupArns" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CapacityReservationSpecification": { + "description": "", + "additionalProperties": false, + "type": "object", + "properties": { + "CapacityReservationPreference": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "CapacityReservationTarget": { + "$ref": "#/definitions/CapacityReservationTarget" + } + }, + "required": [ + "CapacityReservationPreference" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -791,6 +969,11 @@ "type": "string", "markdownDescription": "The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS service on your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role named ``AWSServiceRoleForAutoScaling``, which it creates if it does not exist. For more information, see [Service-linked roles](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-service-linked-role.html) in the *Amazon EC2 Auto Scaling User Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "AvailabilityZoneImpairmentPolicy": { + "description": "The Availability Zone impairment policy.", + "$ref": "#/definitions/AvailabilityZoneImpairmentPolicy", + "markdownDescription": "The Availability Zone impairment policy.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "TargetGroupARNs": { "uniqueItems": false, "description": "The Amazon Resource Names (ARN) of the Elastic Load Balancing target groups to associate with the Auto Scaling group. Instances are registered as targets with the target groups. The target groups receive incoming traffic and route requests to one or more registered targets. For more information, see [Use Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) in the *Amazon EC2 Auto Scaling User Guide*.", @@ -832,6 +1015,11 @@ "type": "integer", "markdownDescription": "The amount of time, in seconds, until a new instance is considered to have finished initializing and resource consumption to become stable after it enters the ``InService`` state. \n During an instance refresh, Amazon EC2 Auto Scaling waits for the warm-up period after it replaces an instance before it moves on to replacing the next instance. Amazon EC2 Auto Scaling also waits for the warm-up period before aggregating the metrics for new instances with existing instances in the Amazon CloudWatch metrics that are used for scaling, resulting in more reliable usage data. For more information, see [Set the default instance warmup for an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-default-instance-warmup.html) in the *Amazon EC2 Auto Scaling User Guide*.\n To manage various warm-up settings at the group level, we recommend that you set the default instance warmup, *even if it is set to 0 seconds*. To remove a value that you previously set, include the property but specify ``-1`` for the value. However, we strongly recommend keeping the default instance warmup enabled by specifying a value of ``0`` or other nominal value.\n Default: None\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "SkipZonalShiftValidation": { + "description": "", + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, "NewInstancesProtectedFromScaleIn": { "description": "Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see [Use instance scale-in protection](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html) in the *Amazon EC2 Auto Scaling User Guide*.", "type": "boolean", @@ -898,6 +1086,11 @@ "$ref": "#/definitions/NotificationConfiguration", "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, + "AvailabilityZoneDistribution": { + "description": "The instance capacity distribution across Availability Zones.", + "$ref": "#/definitions/AvailabilityZoneDistribution", + "markdownDescription": "The instance capacity distribution across Availability Zones.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "MetricsCollection": { "uniqueItems": false, "description": "Enables the monitoring of group metrics of an Auto Scaling group. By default, these metrics are disabled.", @@ -939,6 +1132,16 @@ "type": "string", "markdownDescription": "The name of the Auto Scaling group. This name must be unique per Region per account.\n The name can contain any ASCII character 33 to 126 including most punctuation characters, digits, and upper and lowercased letters.\n You cannot use a colon (:) in the name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, + "TrafficSources": { + "uniqueItems": true, + "description": "The traffic sources associated with this Auto Scaling group.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/TrafficSourceIdentifier" + }, + "markdownDescription": "The traffic sources associated with this Auto Scaling group.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "DesiredCapacityType": { "description": "The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports ``DesiredCapacityType`` for attribute-based instance type selection only. For more information, see [Create a mixed instances group using attribute-based instance type selection](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-mixed-instances-group-attribute-based-instance-type-selection.html) in the *Amazon EC2 Auto Scaling User Guide*.\n By default, Amazon EC2 Auto Scaling specifies ``units``, which translates into number of instances.\n Valid values: ``units`` | ``vcpu`` | ``memory-mib``", "type": "string", @@ -947,12 +1150,17 @@ "PlacementGroup": { "description": "The name of the placement group into which to launch your instances. For more information, see [Placement groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) in the *Amazon EC2 User Guide for Linux Instances*.\n A *cluster* placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a cluster placement group.", "type": "string", - "markdownDescription": "The name of the placement group into which to launch your instances. For more information, see [Placement groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) in the *Amazon EC2 User Guide for Linux Instances*.\n A *cluster* placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a cluster placement group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" + "markdownDescription": "The name of the placement group into which to launch your instances. For more information, see [Placement groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) in the *Amazon EC2 User Guide for Linux Instances*.\n A *cluster* placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a cluster placement group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CapacityReservationSpecification": { + "description": "", + "$ref": "#/definitions/CapacityReservationSpecification", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "HealthCheckType": { - "description": "A comma-separated value string of one or more health check types.\n The valid values are ``EC2``, ``ELB``, and ``VPC_LATTICE``. ``EC2`` is the default health check and cannot be disabled. For more information, see [Health checks for instances in an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-health-checks.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Only specify ``EC2`` if you must clear a value that was previously set.", + "description": "A comma-separated value string of one or more health check types.\n The valid values are ``EC2``, ``EBS``, ``ELB``, and ``VPC_LATTICE``. ``EC2`` is the default health check and cannot be disabled. For more information, see [Health checks for instances in an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-health-checks.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Only specify ``EC2`` if you must clear a value that was previously set.", "type": "string", - "markdownDescription": "A comma-separated value string of one or more health check types.\n The valid values are ``EC2``, ``ELB``, and ``VPC_LATTICE``. ``EC2`` is the default health check and cannot be disabled. For more information, see [Health checks for instances in an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-health-checks.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Only specify ``EC2`` if you must clear a value that was previously set.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "A comma-separated value string of one or more health check types.\n The valid values are ``EC2``, ``EBS``, ``ELB``, and ``VPC_LATTICE``. ``EC2`` is the default health check and cannot be disabled. For more information, see [Health checks for instances in an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-health-checks.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Only specify ``EC2`` if you must clear a value that was previously set.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "MaxInstanceLifetime": { "description": "The maximum amount of time, in seconds, that an instance can be in service. The default is null. If specified, the value must be either 0 or a number equal to or greater than 86,400 seconds (1 day). For more information, see [Replace Auto Scaling instances based on maximum instance lifetime](https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html) in the *Amazon EC2 Auto Scaling User Guide*.", diff --git a/server/schema/resources/aws-autoscaling-scalingpolicy.json b/server/schema/resources/aws-autoscaling-scalingpolicy.json index cd2b18bc..2f7dfcbb 100644 --- a/server/schema/resources/aws-autoscaling-scalingpolicy.json +++ b/server/schema/resources/aws-autoscaling-scalingpolicy.json @@ -107,6 +107,10 @@ "Namespace": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Period": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "required": [], @@ -349,6 +353,10 @@ "Unit": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Period": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "required": [ @@ -401,6 +409,10 @@ "Expression": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Period": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-autoscaling-warmpool.json b/server/schema/resources/aws-autoscaling-warmpool.json index 84100e7d..a1ee65fe 100644 --- a/server/schema/resources/aws-autoscaling-warmpool.json +++ b/server/schema/resources/aws-autoscaling-warmpool.json @@ -46,6 +46,9 @@ "required": [ "AutoScalingGroupName" ], + "tagging": { + "taggable": false + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-b2bi-capability.json b/server/schema/resources/aws-b2bi-capability.json index 967c1382..11927039 100644 --- a/server/schema/resources/aws-b2bi-capability.json +++ b/server/schema/resources/aws-b2bi-capability.json @@ -19,6 +19,14 @@ } ] }, + "CapabilityDirection": { + "type": "string", + "enum": [ + "INBOUND", + "OUTBOUND" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: INBOUND | OUTBOUND \nUpdate requires: No interruption" + }, "CapabilityType": { "type": "string", "enum": [ @@ -29,6 +37,9 @@ "EdiConfiguration": { "type": "object", "properties": { + "CapabilityDirection": { + "$ref": "#/definitions/CapabilityDirection" + }, "Type": { "$ref": "#/definitions/EdiType" }, @@ -129,57 +140,324 @@ "X12TransactionSet": { "type": "string", "enum": [ + "X12_100", + "X12_101", + "X12_102", + "X12_103", + "X12_104", + "X12_105", + "X12_106", + "X12_107", + "X12_108", + "X12_109", "X12_110", + "X12_111", + "X12_112", + "X12_113", + "X12_120", + "X12_121", + "X12_124", + "X12_125", + "X12_126", + "X12_127", + "X12_128", + "X12_129", + "X12_130", + "X12_131", + "X12_132", + "X12_133", + "X12_135", + "X12_138", + "X12_139", + "X12_140", + "X12_141", + "X12_142", + "X12_143", + "X12_144", + "X12_146", + "X12_147", + "X12_148", + "X12_149", + "X12_150", + "X12_151", + "X12_152", + "X12_153", + "X12_154", + "X12_155", + "X12_157", + "X12_158", + "X12_159", + "X12_160", + "X12_161", + "X12_163", + "X12_170", + "X12_175", + "X12_176", + "X12_179", "X12_180", + "X12_185", + "X12_186", + "X12_187", + "X12_188", + "X12_189", + "X12_190", + "X12_191", + "X12_194", + "X12_195", + "X12_196", + "X12_197", + "X12_198", + "X12_199", + "X12_200", + "X12_201", + "X12_202", + "X12_203", "X12_204", + "X12_205", + "X12_206", "X12_210", "X12_211", + "X12_212", + "X12_213", "X12_214", "X12_215", + "X12_216", + "X12_217", + "X12_218", + "X12_219", + "X12_220", + "X12_222", + "X12_223", + "X12_224", + "X12_225", + "X12_227", + "X12_228", + "X12_240", + "X12_242", + "X12_244", + "X12_245", + "X12_248", + "X12_249", + "X12_250", + "X12_251", + "X12_252", + "X12_255", + "X12_256", "X12_259", "X12_260", + "X12_261", + "X12_262", + "X12_263", + "X12_264", + "X12_265", "X12_266", + "X12_267", + "X12_268", "X12_269", "X12_270", "X12_271", + "X12_272", + "X12_273", "X12_274", "X12_275", "X12_276", "X12_277", "X12_278", + "X12_280", + "X12_283", + "X12_284", + "X12_285", + "X12_286", + "X12_288", + "X12_290", + "X12_300", + "X12_301", + "X12_303", + "X12_304", + "X12_309", "X12_310", + "X12_311", + "X12_312", + "X12_313", "X12_315", + "X12_317", + "X12_319", "X12_322", + "X12_323", + "X12_324", + "X12_325", + "X12_326", + "X12_350", + "X12_352", + "X12_353", + "X12_354", + "X12_355", + "X12_356", + "X12_357", + "X12_358", + "X12_361", + "X12_362", "X12_404", "X12_410", + "X12_412", + "X12_414", "X12_417", + "X12_418", + "X12_419", + "X12_420", "X12_421", + "X12_422", + "X12_423", + "X12_424", + "X12_425", "X12_426", + "X12_429", + "X12_431", + "X12_432", + "X12_433", + "X12_434", + "X12_435", + "X12_436", + "X12_437", + "X12_440", + "X12_451", + "X12_452", + "X12_453", + "X12_455", + "X12_456", + "X12_460", + "X12_463", + "X12_466", + "X12_468", + "X12_470", + "X12_475", + "X12_485", + "X12_486", + "X12_490", + "X12_492", + "X12_494", + "X12_500", + "X12_501", + "X12_503", + "X12_504", + "X12_511", + "X12_517", + "X12_521", + "X12_527", + "X12_536", + "X12_540", + "X12_561", + "X12_567", + "X12_568", + "X12_601", + "X12_602", + "X12_620", + "X12_625", + "X12_650", + "X12_715", + "X12_753", + "X12_754", + "X12_805", + "X12_806", "X12_810", + "X12_811", + "X12_812", + "X12_813", + "X12_814", + "X12_815", + "X12_816", + "X12_818", + "X12_819", "X12_820", + "X12_821", + "X12_822", + "X12_823", "X12_824", + "X12_826", + "X12_827", + "X12_828", + "X12_829", "X12_830", + "X12_831", "X12_832", + "X12_833", "X12_834", "X12_835", + "X12_836", "X12_837", + "X12_838", + "X12_839", + "X12_840", + "X12_841", + "X12_842", + "X12_843", "X12_844", + "X12_845", "X12_846", + "X12_847", + "X12_848", "X12_849", "X12_850", + "X12_851", "X12_852", + "X12_853", + "X12_854", "X12_855", "X12_856", + "X12_857", + "X12_858", + "X12_859", "X12_860", "X12_861", + "X12_862", + "X12_863", "X12_864", "X12_865", + "X12_866", + "X12_867", + "X12_868", "X12_869", "X12_870", + "X12_871", + "X12_872", + "X12_873", + "X12_874", + "X12_875", + "X12_876", + "X12_877", + "X12_878", + "X12_879", + "X12_880", + "X12_881", + "X12_882", + "X12_883", + "X12_884", + "X12_885", + "X12_886", + "X12_887", + "X12_888", + "X12_889", + "X12_891", + "X12_893", + "X12_894", + "X12_895", + "X12_896", + "X12_920", + "X12_924", + "X12_925", + "X12_926", + "X12_928", "X12_940", + "X12_943", + "X12_944", "X12_945", + "X12_947", + "X12_980", "X12_990", + "X12_993", + "X12_996", "X12_997", + "X12_998", "X12_999", "X12_270_X279", "X12_271_X279", @@ -205,17 +483,19 @@ "X12_837_X298", "X12_999_X231" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: X12_110 | X12_180 | X12_204 | X12_210 | X12_211 | X12_214 | X12_215 | X12_259 | X12_260 | X12_266 | X12_269 | X12_270 | X12_271 | X12_274 | X12_275 | X12_276 | X12_277 | X12_278 | X12_310 | X12_315 | X12_322 | X12_404 | X12_410 | X12_417 | X12_421 | X12_426 | X12_810 | X12_820 | X12_824 | X12_830 | X12_832 | X12_834 | X12_835 | X12_837 | X12_844 | X12_846 | X12_849 | X12_850 | X12_852 | X12_855 | X12_856 | X12_860 | X12_861 | X12_864 | X12_865 | X12_869 | X12_870 | X12_940 | X12_945 | X12_990 | X12_997 | X12_999 | X12_270_X279 | X12_271_X279 | X12_275_X210 | X12_275_X211 | X12_276_X212 | X12_277_X212 | X12_277_X214 | X12_277_X364 | X12_278_X217 | X12_820_X218 | X12_820_X306 | X12_824_X186 | X12_834_X220 | X12_834_X307 | X12_834_X318 | X12_835_X221 | X12_837_X222 | X12_837_X223 | X12_837_X224 | X12_837_X291 | X12_837_X292 | X12_837_X298 | X12_999_X231 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: X12_100 | X12_101 | X12_102 | X12_103 | X12_104 | X12_105 | X12_106 | X12_107 | X12_108 | X12_109 | X12_110 | X12_111 | X12_112 | X12_113 | X12_120 | X12_121 | X12_124 | X12_125 | X12_126 | X12_127 | X12_128 | X12_129 | X12_130 | X12_131 | X12_132 | X12_133 | X12_135 | X12_138 | X12_139 | X12_140 | X12_141 | X12_142 | X12_143 | X12_144 | X12_146 | X12_147 | X12_148 | X12_149 | X12_150 | X12_151 | X12_152 | X12_153 | X12_154 | X12_155 | X12_157 | X12_158 | X12_159 | X12_160 | X12_161 | X12_163 | X12_170 | X12_175 | X12_176 | X12_179 | X12_180 | X12_185 | X12_186 | X12_187 | X12_188 | X12_189 | X12_190 | X12_191 | X12_194 | X12_195 | X12_196 | X12_197 | X12_198 | X12_199 | X12_200 | X12_201 | X12_202 | X12_203 | X12_204 | X12_205 | X12_206 | X12_210 | X12_211 | X12_212 | X12_213 | X12_214 | X12_215 | X12_216 | X12_217 | X12_218 | X12_219 | X12_220 | X12_222 | X12_223 | X12_224 | X12_225 | X12_227 | X12_228 | X12_240 | X12_242 | X12_244 | X12_245 | X12_248 | X12_249 | X12_250 | X12_251 | X12_252 | X12_255 | X12_256 | X12_259 | X12_260 | X12_261 | X12_262 | X12_263 | X12_264 | X12_265 | X12_266 | X12_267 | X12_268 | X12_269 | X12_270 | X12_271 | X12_272 | X12_273 | X12_274 | X12_275 | X12_276 | X12_277 | X12_278 | X12_280 | X12_283 | X12_284 | X12_285 | X12_286 | X12_288 | X12_290 | X12_300 | X12_301 | X12_303 | X12_304 | X12_309 | X12_310 | X12_311 | X12_312 | X12_313 | X12_315 | X12_317 | X12_319 | X12_322 | X12_323 | X12_324 | X12_325 | X12_326 | X12_350 | X12_352 | X12_353 | X12_354 | X12_355 | X12_356 | X12_357 | X12_358 | X12_361 | X12_362 | X12_404 | X12_410 | X12_412 | X12_414 | X12_417 | X12_418 | X12_419 | X12_420 | X12_421 | X12_422 | X12_423 | X12_424 | X12_425 | X12_426 | X12_429 | X12_431 | X12_432 | X12_433 | X12_434 | X12_435 | X12_436 | X12_437 | X12_440 | X12_451 | X12_452 | X12_453 | X12_455 | X12_456 | X12_460 | X12_463 | X12_466 | X12_468 | X12_470 | X12_475 | X12_485 | X12_486 | X12_490 | X12_492 | X12_494 | X12_500 | X12_501 | X12_503 | X12_504 | X12_511 | X12_517 | X12_521 | X12_527 | X12_536 | X12_540 | X12_561 | X12_567 | X12_568 | X12_601 | X12_602 | X12_620 | X12_625 | X12_650 | X12_715 | X12_753 | X12_754 | X12_805 | X12_806 | X12_810 | X12_811 | X12_812 | X12_813 | X12_814 | X12_815 | X12_816 | X12_818 | X12_819 | X12_820 | X12_821 | X12_822 | X12_823 | X12_824 | X12_826 | X12_827 | X12_828 | X12_829 | X12_830 | X12_831 | X12_832 | X12_833 | X12_834 | X12_835 | X12_836 | X12_837 | X12_838 | X12_839 | X12_840 | X12_841 | X12_842 | X12_843 | X12_844 | X12_845 | X12_846 | X12_847 | X12_848 | X12_849 | X12_850 | X12_851 | X12_852 | X12_853 | X12_854 | X12_855 | X12_856 | X12_857 | X12_858 | X12_859 | X12_860 | X12_861 | X12_862 | X12_863 | X12_864 | X12_865 | X12_866 | X12_867 | X12_868 | X12_869 | X12_870 | X12_871 | X12_872 | X12_873 | X12_874 | X12_875 | X12_876 | X12_877 | X12_878 | X12_879 | X12_880 | X12_881 | X12_882 | X12_883 | X12_884 | X12_885 | X12_886 | X12_887 | X12_888 | X12_889 | X12_891 | X12_893 | X12_894 | X12_895 | X12_896 | X12_920 | X12_924 | X12_925 | X12_926 | X12_928 | X12_940 | X12_943 | X12_944 | X12_945 | X12_947 | X12_980 | X12_990 | X12_993 | X12_996 | X12_997 | X12_998 | X12_999 | X12_270_X279 | X12_271_X279 | X12_275_X210 | X12_275_X211 | X12_276_X212 | X12_277_X212 | X12_277_X214 | X12_277_X364 | X12_278_X217 | X12_820_X218 | X12_820_X306 | X12_824_X186 | X12_834_X220 | X12_834_X307 | X12_834_X318 | X12_835_X221 | X12_837_X222 | X12_837_X223 | X12_837_X224 | X12_837_X291 | X12_837_X292 | X12_837_X298 | X12_999_X231 \nUpdate requires: No interruption" }, "X12Version": { "type": "string", "enum": [ "VERSION_4010", "VERSION_4030", + "VERSION_4050", + "VERSION_4060", "VERSION_5010", "VERSION_5010_HIPAA" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VERSION_4010 | VERSION_4030 | VERSION_5010 | VERSION_5010_HIPAA \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VERSION_4010 | VERSION_4030 | VERSION_4050 | VERSION_4060 | VERSION_5010 | VERSION_5010_HIPAA \nUpdate requires: No interruption" } }, "properties": { @@ -317,7 +597,12 @@ "tagOnCreate": true, "tagProperty": "/properties/Tags", "tagUpdatable": true, - "taggable": true + "taggable": true, + "permissions": [ + "b2bi:ListTagsForResource", + "b2bi:TagResource", + "b2bi:UntagResource" + ] }, "additionalProperties": false, "attributes": { diff --git a/server/schema/resources/aws-b2bi-partnership.json b/server/schema/resources/aws-b2bi-partnership.json index f709c376..88a20095 100644 --- a/server/schema/resources/aws-b2bi-partnership.json +++ b/server/schema/resources/aws-b2bi-partnership.json @@ -2,6 +2,33 @@ "typeName": "AWS::B2BI::Partnership", "description": "Definition of AWS::B2BI::Partnership Resource Type", "definitions": { + "CapabilityOptions": { + "type": "object", + "properties": { + "OutboundEdi": { + "$ref": "#/definitions/OutboundEdiOptions" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "OutboundEdiOptions": { + "oneOf": [ + { + "type": "object", + "title": "X12", + "properties": { + "X12": { + "$ref": "#/definitions/X12Envelope" + } + }, + "required": [ + "X12" + ], + "additionalProperties": false + } + ] + }, "Tag": { "type": "object", "properties": { @@ -24,6 +51,135 @@ ], "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "X12Delimiters": { + "type": "object", + "properties": { + "ComponentSeparator": { + "type": "string", + "maxLength": 1, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1 \nPattern: ^[!&'()*+,\\-./:;?=%@\\[\\]_{}|<>~^`\"]$ \nUpdate requires: No interruption" + }, + "DataElementSeparator": { + "type": "string", + "maxLength": 1, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1 \nPattern: ^[!&'()*+,\\-./:;?=%@\\[\\]_{}|<>~^`\"]$ \nUpdate requires: No interruption" + }, + "SegmentTerminator": { + "type": "string", + "maxLength": 1, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1 \nPattern: ^[!&'()*+,\\-./:;?=%@\\[\\]_{}|<>~^`\"]$ \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "X12Envelope": { + "type": "object", + "properties": { + "Common": { + "$ref": "#/definitions/X12OutboundEdiHeaders" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "X12FunctionalGroupHeaders": { + "type": "object", + "properties": { + "ApplicationSenderCode": { + "type": "string", + "maxLength": 15, + "minLength": 2, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 2 \nMaximum Length: 15 \nPattern: ^[a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, + "ApplicationReceiverCode": { + "type": "string", + "maxLength": 15, + "minLength": 2, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 2 \nMaximum Length: 15 \nPattern: ^[a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, + "ResponsibleAgencyCode": { + "type": "string", + "maxLength": 2, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2 \nPattern: ^[a-zA-Z0-9]*$ \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "X12InterchangeControlHeaders": { + "type": "object", + "properties": { + "SenderIdQualifier": { + "type": "string", + "maxLength": 2, + "minLength": 2, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 2 \nMaximum Length: 2 \nPattern: ^[a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, + "SenderId": { + "type": "string", + "maxLength": 15, + "minLength": 15, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 15 \nMaximum Length: 15 \nPattern: ^[a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, + "ReceiverIdQualifier": { + "type": "string", + "maxLength": 2, + "minLength": 2, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 2 \nMaximum Length: 2 \nPattern: ^[a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, + "ReceiverId": { + "type": "string", + "maxLength": 15, + "minLength": 15, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 15 \nMaximum Length: 15 \nPattern: ^[a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, + "RepetitionSeparator": { + "type": "string", + "maxLength": 1, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1 \nUpdate requires: No interruption" + }, + "AcknowledgmentRequestedCode": { + "type": "string", + "maxLength": 1, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1 \nPattern: ^[a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, + "UsageIndicatorCode": { + "type": "string", + "maxLength": 1, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1 \nPattern: ^[a-zA-Z0-9]*$ \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "X12OutboundEdiHeaders": { + "type": "object", + "properties": { + "InterchangeControlHeaders": { + "$ref": "#/definitions/X12InterchangeControlHeaders" + }, + "FunctionalGroupHeaders": { + "$ref": "#/definitions/X12FunctionalGroupHeaders" + }, + "Delimiters": { + "$ref": "#/definitions/X12Delimiters" + }, + "ValidateEdi": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -35,7 +191,10 @@ "minLength": 1, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9_-]+$ \nUpdate requires: No interruption" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "CapabilityOptions": { + "$ref": "#/definitions/CapabilityOptions" }, "Email": { "type": "string", @@ -72,6 +231,7 @@ } }, "required": [ + "Capabilities", "Email", "Name", "ProfileId" @@ -128,7 +288,12 @@ "tagOnCreate": true, "tagProperty": "/properties/Tags", "tagUpdatable": true, - "taggable": true + "taggable": true, + "permissions": [ + "b2bi:ListTagsForResource", + "b2bi:TagResource", + "b2bi:UntagResource" + ] }, "additionalProperties": false, "attributes": { diff --git a/server/schema/resources/aws-b2bi-profile.json b/server/schema/resources/aws-b2bi-profile.json index 8750b150..4137d8bc 100644 --- a/server/schema/resources/aws-b2bi-profile.json +++ b/server/schema/resources/aws-b2bi-profile.json @@ -138,7 +138,12 @@ "tagOnCreate": true, "tagProperty": "/properties/Tags", "tagUpdatable": true, - "taggable": true + "taggable": true, + "permissions": [ + "b2bi:ListTagsForResource", + "b2bi:TagResource", + "b2bi:UntagResource" + ] }, "additionalProperties": false, "attributes": { diff --git a/server/schema/resources/aws-b2bi-transformer.json b/server/schema/resources/aws-b2bi-transformer.json index dcae56cc..5fa06fa8 100644 --- a/server/schema/resources/aws-b2bi-transformer.json +++ b/server/schema/resources/aws-b2bi-transformer.json @@ -23,9 +23,136 @@ "type": "string", "enum": [ "XML", - "JSON" + "JSON", + "NOT_USED" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: XML | JSON \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: XML | JSON | NOT_USED \nUpdate requires: No interruption" + }, + "FormatOptions": { + "oneOf": [ + { + "type": "object", + "title": "X12", + "properties": { + "X12": { + "$ref": "#/definitions/X12Details" + } + }, + "required": [ + "X12" + ], + "additionalProperties": false + } + ] + }, + "FromFormat": { + "type": "string", + "enum": [ + "X12" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: X12 \nUpdate requires: No interruption" + }, + "InputConversion": { + "type": "object", + "properties": { + "FromFormat": { + "$ref": "#/definitions/FromFormat" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + } + }, + "required": [ + "FromFormat" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Mapping": { + "type": "object", + "properties": { + "TemplateLanguage": { + "$ref": "#/definitions/MappingTemplateLanguage" + }, + "Template": { + "type": "string", + "maxLength": 350000, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 350000 \nUpdate requires: No interruption" + } + }, + "required": [ + "TemplateLanguage" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MappingTemplateLanguage": { + "type": "string", + "enum": [ + "XSLT", + "JSONATA" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: XSLT | JSONATA \nUpdate requires: No interruption" + }, + "OutputConversion": { + "type": "object", + "properties": { + "ToFormat": { + "$ref": "#/definitions/ToFormat" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + } + }, + "required": [ + "ToFormat" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SampleDocumentKeys": { + "type": "object", + "properties": { + "Input": { + "type": "string", + "maxLength": 1024, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, + "Output": { + "type": "string", + "maxLength": 1024, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SampleDocuments": { + "type": "object", + "properties": { + "BucketName": { + "type": "string", + "maxLength": 63, + "minLength": 3, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 3 \nMaximum Length: 63 \nUpdate requires: No interruption" + }, + "Keys": { + "type": "array", + "items": { + "$ref": "#/definitions/SampleDocumentKeys" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "BucketName", + "Keys" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { "type": "object", @@ -50,6 +177,13 @@ "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ToFormat": { + "type": "string", + "enum": [ + "X12" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: X12 \nUpdate requires: No interruption" + }, "TransformerStatus": { "type": "string", "enum": [ @@ -74,57 +208,324 @@ "X12TransactionSet": { "type": "string", "enum": [ + "X12_100", + "X12_101", + "X12_102", + "X12_103", + "X12_104", + "X12_105", + "X12_106", + "X12_107", + "X12_108", + "X12_109", "X12_110", + "X12_111", + "X12_112", + "X12_113", + "X12_120", + "X12_121", + "X12_124", + "X12_125", + "X12_126", + "X12_127", + "X12_128", + "X12_129", + "X12_130", + "X12_131", + "X12_132", + "X12_133", + "X12_135", + "X12_138", + "X12_139", + "X12_140", + "X12_141", + "X12_142", + "X12_143", + "X12_144", + "X12_146", + "X12_147", + "X12_148", + "X12_149", + "X12_150", + "X12_151", + "X12_152", + "X12_153", + "X12_154", + "X12_155", + "X12_157", + "X12_158", + "X12_159", + "X12_160", + "X12_161", + "X12_163", + "X12_170", + "X12_175", + "X12_176", + "X12_179", "X12_180", + "X12_185", + "X12_186", + "X12_187", + "X12_188", + "X12_189", + "X12_190", + "X12_191", + "X12_194", + "X12_195", + "X12_196", + "X12_197", + "X12_198", + "X12_199", + "X12_200", + "X12_201", + "X12_202", + "X12_203", "X12_204", + "X12_205", + "X12_206", "X12_210", "X12_211", + "X12_212", + "X12_213", "X12_214", "X12_215", + "X12_216", + "X12_217", + "X12_218", + "X12_219", + "X12_220", + "X12_222", + "X12_223", + "X12_224", + "X12_225", + "X12_227", + "X12_228", + "X12_240", + "X12_242", + "X12_244", + "X12_245", + "X12_248", + "X12_249", + "X12_250", + "X12_251", + "X12_252", + "X12_255", + "X12_256", "X12_259", "X12_260", + "X12_261", + "X12_262", + "X12_263", + "X12_264", + "X12_265", "X12_266", + "X12_267", + "X12_268", "X12_269", "X12_270", "X12_271", + "X12_272", + "X12_273", "X12_274", "X12_275", "X12_276", "X12_277", "X12_278", + "X12_280", + "X12_283", + "X12_284", + "X12_285", + "X12_286", + "X12_288", + "X12_290", + "X12_300", + "X12_301", + "X12_303", + "X12_304", + "X12_309", "X12_310", + "X12_311", + "X12_312", + "X12_313", "X12_315", + "X12_317", + "X12_319", "X12_322", + "X12_323", + "X12_324", + "X12_325", + "X12_326", + "X12_350", + "X12_352", + "X12_353", + "X12_354", + "X12_355", + "X12_356", + "X12_357", + "X12_358", + "X12_361", + "X12_362", "X12_404", "X12_410", + "X12_412", + "X12_414", "X12_417", + "X12_418", + "X12_419", + "X12_420", "X12_421", + "X12_422", + "X12_423", + "X12_424", + "X12_425", "X12_426", + "X12_429", + "X12_431", + "X12_432", + "X12_433", + "X12_434", + "X12_435", + "X12_436", + "X12_437", + "X12_440", + "X12_451", + "X12_452", + "X12_453", + "X12_455", + "X12_456", + "X12_460", + "X12_463", + "X12_466", + "X12_468", + "X12_470", + "X12_475", + "X12_485", + "X12_486", + "X12_490", + "X12_492", + "X12_494", + "X12_500", + "X12_501", + "X12_503", + "X12_504", + "X12_511", + "X12_517", + "X12_521", + "X12_527", + "X12_536", + "X12_540", + "X12_561", + "X12_567", + "X12_568", + "X12_601", + "X12_602", + "X12_620", + "X12_625", + "X12_650", + "X12_715", + "X12_753", + "X12_754", + "X12_805", + "X12_806", "X12_810", + "X12_811", + "X12_812", + "X12_813", + "X12_814", + "X12_815", + "X12_816", + "X12_818", + "X12_819", "X12_820", + "X12_821", + "X12_822", + "X12_823", "X12_824", + "X12_826", + "X12_827", + "X12_828", + "X12_829", "X12_830", + "X12_831", "X12_832", + "X12_833", "X12_834", "X12_835", + "X12_836", "X12_837", + "X12_838", + "X12_839", + "X12_840", + "X12_841", + "X12_842", + "X12_843", "X12_844", + "X12_845", "X12_846", + "X12_847", + "X12_848", "X12_849", "X12_850", + "X12_851", "X12_852", + "X12_853", + "X12_854", "X12_855", "X12_856", + "X12_857", + "X12_858", + "X12_859", "X12_860", "X12_861", + "X12_862", + "X12_863", "X12_864", "X12_865", + "X12_866", + "X12_867", + "X12_868", "X12_869", "X12_870", + "X12_871", + "X12_872", + "X12_873", + "X12_874", + "X12_875", + "X12_876", + "X12_877", + "X12_878", + "X12_879", + "X12_880", + "X12_881", + "X12_882", + "X12_883", + "X12_884", + "X12_885", + "X12_886", + "X12_887", + "X12_888", + "X12_889", + "X12_891", + "X12_893", + "X12_894", + "X12_895", + "X12_896", + "X12_920", + "X12_924", + "X12_925", + "X12_926", + "X12_928", "X12_940", + "X12_943", + "X12_944", "X12_945", + "X12_947", + "X12_980", "X12_990", + "X12_993", + "X12_996", "X12_997", + "X12_998", "X12_999", "X12_270_X279", "X12_271_X279", @@ -150,17 +551,19 @@ "X12_837_X298", "X12_999_X231" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: X12_110 | X12_180 | X12_204 | X12_210 | X12_211 | X12_214 | X12_215 | X12_259 | X12_260 | X12_266 | X12_269 | X12_270 | X12_271 | X12_274 | X12_275 | X12_276 | X12_277 | X12_278 | X12_310 | X12_315 | X12_322 | X12_404 | X12_410 | X12_417 | X12_421 | X12_426 | X12_810 | X12_820 | X12_824 | X12_830 | X12_832 | X12_834 | X12_835 | X12_837 | X12_844 | X12_846 | X12_849 | X12_850 | X12_852 | X12_855 | X12_856 | X12_860 | X12_861 | X12_864 | X12_865 | X12_869 | X12_870 | X12_940 | X12_945 | X12_990 | X12_997 | X12_999 | X12_270_X279 | X12_271_X279 | X12_275_X210 | X12_275_X211 | X12_276_X212 | X12_277_X212 | X12_277_X214 | X12_277_X364 | X12_278_X217 | X12_820_X218 | X12_820_X306 | X12_824_X186 | X12_834_X220 | X12_834_X307 | X12_834_X318 | X12_835_X221 | X12_837_X222 | X12_837_X223 | X12_837_X224 | X12_837_X291 | X12_837_X292 | X12_837_X298 | X12_999_X231 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: X12_100 | X12_101 | X12_102 | X12_103 | X12_104 | X12_105 | X12_106 | X12_107 | X12_108 | X12_109 | X12_110 | X12_111 | X12_112 | X12_113 | X12_120 | X12_121 | X12_124 | X12_125 | X12_126 | X12_127 | X12_128 | X12_129 | X12_130 | X12_131 | X12_132 | X12_133 | X12_135 | X12_138 | X12_139 | X12_140 | X12_141 | X12_142 | X12_143 | X12_144 | X12_146 | X12_147 | X12_148 | X12_149 | X12_150 | X12_151 | X12_152 | X12_153 | X12_154 | X12_155 | X12_157 | X12_158 | X12_159 | X12_160 | X12_161 | X12_163 | X12_170 | X12_175 | X12_176 | X12_179 | X12_180 | X12_185 | X12_186 | X12_187 | X12_188 | X12_189 | X12_190 | X12_191 | X12_194 | X12_195 | X12_196 | X12_197 | X12_198 | X12_199 | X12_200 | X12_201 | X12_202 | X12_203 | X12_204 | X12_205 | X12_206 | X12_210 | X12_211 | X12_212 | X12_213 | X12_214 | X12_215 | X12_216 | X12_217 | X12_218 | X12_219 | X12_220 | X12_222 | X12_223 | X12_224 | X12_225 | X12_227 | X12_228 | X12_240 | X12_242 | X12_244 | X12_245 | X12_248 | X12_249 | X12_250 | X12_251 | X12_252 | X12_255 | X12_256 | X12_259 | X12_260 | X12_261 | X12_262 | X12_263 | X12_264 | X12_265 | X12_266 | X12_267 | X12_268 | X12_269 | X12_270 | X12_271 | X12_272 | X12_273 | X12_274 | X12_275 | X12_276 | X12_277 | X12_278 | X12_280 | X12_283 | X12_284 | X12_285 | X12_286 | X12_288 | X12_290 | X12_300 | X12_301 | X12_303 | X12_304 | X12_309 | X12_310 | X12_311 | X12_312 | X12_313 | X12_315 | X12_317 | X12_319 | X12_322 | X12_323 | X12_324 | X12_325 | X12_326 | X12_350 | X12_352 | X12_353 | X12_354 | X12_355 | X12_356 | X12_357 | X12_358 | X12_361 | X12_362 | X12_404 | X12_410 | X12_412 | X12_414 | X12_417 | X12_418 | X12_419 | X12_420 | X12_421 | X12_422 | X12_423 | X12_424 | X12_425 | X12_426 | X12_429 | X12_431 | X12_432 | X12_433 | X12_434 | X12_435 | X12_436 | X12_437 | X12_440 | X12_451 | X12_452 | X12_453 | X12_455 | X12_456 | X12_460 | X12_463 | X12_466 | X12_468 | X12_470 | X12_475 | X12_485 | X12_486 | X12_490 | X12_492 | X12_494 | X12_500 | X12_501 | X12_503 | X12_504 | X12_511 | X12_517 | X12_521 | X12_527 | X12_536 | X12_540 | X12_561 | X12_567 | X12_568 | X12_601 | X12_602 | X12_620 | X12_625 | X12_650 | X12_715 | X12_753 | X12_754 | X12_805 | X12_806 | X12_810 | X12_811 | X12_812 | X12_813 | X12_814 | X12_815 | X12_816 | X12_818 | X12_819 | X12_820 | X12_821 | X12_822 | X12_823 | X12_824 | X12_826 | X12_827 | X12_828 | X12_829 | X12_830 | X12_831 | X12_832 | X12_833 | X12_834 | X12_835 | X12_836 | X12_837 | X12_838 | X12_839 | X12_840 | X12_841 | X12_842 | X12_843 | X12_844 | X12_845 | X12_846 | X12_847 | X12_848 | X12_849 | X12_850 | X12_851 | X12_852 | X12_853 | X12_854 | X12_855 | X12_856 | X12_857 | X12_858 | X12_859 | X12_860 | X12_861 | X12_862 | X12_863 | X12_864 | X12_865 | X12_866 | X12_867 | X12_868 | X12_869 | X12_870 | X12_871 | X12_872 | X12_873 | X12_874 | X12_875 | X12_876 | X12_877 | X12_878 | X12_879 | X12_880 | X12_881 | X12_882 | X12_883 | X12_884 | X12_885 | X12_886 | X12_887 | X12_888 | X12_889 | X12_891 | X12_893 | X12_894 | X12_895 | X12_896 | X12_920 | X12_924 | X12_925 | X12_926 | X12_928 | X12_940 | X12_943 | X12_944 | X12_945 | X12_947 | X12_980 | X12_990 | X12_993 | X12_996 | X12_997 | X12_998 | X12_999 | X12_270_X279 | X12_271_X279 | X12_275_X210 | X12_275_X211 | X12_276_X212 | X12_277_X212 | X12_277_X214 | X12_277_X364 | X12_278_X217 | X12_820_X218 | X12_820_X306 | X12_824_X186 | X12_834_X220 | X12_834_X307 | X12_834_X318 | X12_835_X221 | X12_837_X222 | X12_837_X223 | X12_837_X224 | X12_837_X291 | X12_837_X292 | X12_837_X298 | X12_999_X231 \nUpdate requires: No interruption" }, "X12Version": { "type": "string", "enum": [ "VERSION_4010", "VERSION_4030", + "VERSION_4050", + "VERSION_4060", "VERSION_5010", "VERSION_5010_HIPAA" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VERSION_4010 | VERSION_4030 | VERSION_5010 | VERSION_5010_HIPAA \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VERSION_4010 | VERSION_4030 | VERSION_4050 | VERSION_4060 | VERSION_5010 | VERSION_5010_HIPAA \nUpdate requires: No interruption" } }, "properties": { @@ -170,23 +573,37 @@ "FileFormat": { "$ref": "#/definitions/FileFormat" }, + "InputConversion": { + "$ref": "#/definitions/InputConversion" + }, + "Mapping": { + "$ref": "#/definitions/Mapping" + }, "MappingTemplate": { "type": "string", "maxLength": 350000, "minLength": 0, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 350000 \nUpdate requires: No interruption" + "description": "This shape is deprecated: This is a legacy trait. Please use input-conversion or output-conversion.", + "markdownDescription": "This shape is deprecated: This is a legacy trait. Please use input-conversion or output-conversion.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 350000 \nUpdate requires: No interruption" }, "Name": { "type": "string", "maxLength": 254, "minLength": 1, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 254 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 254 \nPattern: ^[a-zA-Z0-9_-]{1,512}$ \nUpdate requires: No interruption" + }, + "OutputConversion": { + "$ref": "#/definitions/OutputConversion" }, "SampleDocument": { "type": "string", "maxLength": 1024, "minLength": 0, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" + "description": "This shape is deprecated: This is a legacy trait. Please use input-conversion or output-conversion.", + "markdownDescription": "This shape is deprecated: This is a legacy trait. Please use input-conversion or output-conversion.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, + "SampleDocuments": { + "$ref": "#/definitions/SampleDocuments" }, "Status": { "$ref": "#/definitions/TransformerStatus" @@ -202,9 +619,6 @@ } }, "required": [ - "EdiType", - "FileFormat", - "MappingTemplate", "Name", "Status" ], @@ -214,6 +628,12 @@ "/properties/TransformerArn", "/properties/TransformerId" ], + "deprecatedProperties": [ + "/properties/EdiType", + "/properties/FileFormat", + "/properties/MappingTemplate", + "/properties/SampleDocument" + ], "primaryIdentifier": [ "/properties/TransformerId" ], @@ -265,7 +685,12 @@ "tagOnCreate": true, "tagProperty": "/properties/Tags", "tagUpdatable": true, - "taggable": true + "taggable": true, + "permissions": [ + "b2bi:ListTagsForResource", + "b2bi:TagResource", + "b2bi:UntagResource" + ] }, "additionalProperties": false, "attributes": { diff --git a/server/schema/resources/aws-backup-backupplan.json b/server/schema/resources/aws-backup-backupplan.json index f740a58a..81901e03 100644 --- a/server/schema/resources/aws-backup-backupplan.json +++ b/server/schema/resources/aws-backup-backupplan.json @@ -27,7 +27,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/BackupPlanTags" + "tagProperty": "/properties/BackupPlanTags", + "permissions": [ + "backup:TagResource", + "backup:UntagResource", + "backup:ListTags" + ] }, "readOnlyProperties": [ "/properties/BackupPlanId", diff --git a/server/schema/resources/aws-backup-backupselection.json b/server/schema/resources/aws-backup-backupselection.json index c95243e9..ea069ad6 100644 --- a/server/schema/resources/aws-backup-backupselection.json +++ b/server/schema/resources/aws-backup-backupselection.json @@ -187,7 +187,8 @@ }, "list": { "permissions": [ - "backup:ListBackupSelections" + "backup:ListBackupSelections", + "backup:ListBackupPlans" ] } }, diff --git a/server/schema/resources/aws-backup-backupvault.json b/server/schema/resources/aws-backup-backupvault.json index f49b1cec..ee2e853a 100644 --- a/server/schema/resources/aws-backup-backupvault.json +++ b/server/schema/resources/aws-backup-backupvault.json @@ -94,7 +94,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/BackupVaultTags" + "tagProperty": "/properties/BackupVaultTags", + "permissions": [ + "backup:TagResource", + "backup:UntagResource", + "backup:ListTags" + ] }, "required": [ "BackupVaultName" diff --git a/server/schema/resources/aws-backup-framework.json b/server/schema/resources/aws-backup-framework.json index 061f7329..29acc104 100644 --- a/server/schema/resources/aws-backup-framework.json +++ b/server/schema/resources/aws-backup-framework.json @@ -148,7 +148,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/FrameworkTags" + "tagProperty": "/properties/FrameworkTags", + "permissions": [ + "backup:TagResource", + "backup:UntagResource", + "backup:ListTags" + ] }, "required": [ "FrameworkControls" diff --git a/server/schema/resources/aws-backup-logicallyairgappedbackupvault.json b/server/schema/resources/aws-backup-logicallyairgappedbackupvault.json new file mode 100644 index 00000000..7544860d --- /dev/null +++ b/server/schema/resources/aws-backup-logicallyairgappedbackupvault.json @@ -0,0 +1,166 @@ +{ + "typeName": "AWS::Backup::LogicallyAirGappedBackupVault", + "description": "Resource Type definition for AWS::Backup::LogicallyAirGappedBackupVault", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": { + "NotificationObjectType": { + "type": "object", + "additionalProperties": false, + "properties": { + "BackupVaultEvents": { + "type": "array", + "insertionOrder": false, + "uniqueItems": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "SNSTopicArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "SNSTopicArn", + "BackupVaultEvents" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "BackupVaultNamePattern": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-zA-Z0-9\\-\\_]{2,50}$ \nUpdate requires: No interruption" + } + }, + "properties": { + "AccessPolicy": { + "type": [ + "object", + "string" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" + }, + "BackupVaultName": { + "$ref": "#/definitions/BackupVaultNamePattern" + }, + "MinRetentionDays": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: Replacement" + }, + "MaxRetentionDays": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: Replacement" + }, + "BackupVaultTags": { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^.{1,128}$": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Notifications": { + "$ref": "#/definitions/NotificationObjectType" + } + }, + "additionalProperties": false, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/BackupVaultTags", + "permissions": [ + "backup:TagResource", + "backup:UntagResource", + "backup:ListTags" + ] + }, + "required": [ + "BackupVaultName", + "MinRetentionDays", + "MaxRetentionDays" + ], + "createOnlyProperties": [ + "/properties/BackupVaultName", + "/properties/MinRetentionDays", + "/properties/MaxRetentionDays" + ], + "readOnlyProperties": [ + "/properties/BackupVaultArn", + "/properties/EncryptionKeyArn", + "/properties/VaultState", + "/properties/VaultType" + ], + "primaryIdentifier": [ + "/properties/BackupVaultName" + ], + "handlers": { + "create": { + "permissions": [ + "backup:TagResource", + "backup:CreateLogicallyAirGappedBackupVault", + "backup:PutBackupVaultAccessPolicy", + "backup:PutBackupVaultNotifications", + "backup-storage:Mount", + "backup-storage:MountCapsule", + "backup:DescribeBackupVault" + ] + }, + "read": { + "permissions": [ + "backup:DescribeBackupVault", + "backup:GetBackupVaultNotifications", + "backup:GetBackupVaultAccessPolicy", + "backup:ListTags" + ] + }, + "update": { + "permissions": [ + "backup:DescribeBackupVault", + "backup:DeleteBackupVaultAccessPolicy", + "backup:DeleteBackupVaultNotifications", + "backup:DeleteBackupVaultLockConfiguration", + "backup:GetBackupVaultAccessPolicy", + "backup:ListTags", + "backup:TagResource", + "backup:UntagResource", + "backup:PutBackupVaultAccessPolicy", + "backup:PutBackupVaultNotifications", + "backup:PutBackupVaultLockConfiguration" + ] + }, + "delete": { + "permissions": [ + "backup:DeleteBackupVault" + ] + }, + "list": { + "permissions": [ + "backup:ListBackupVaults" + ] + } + }, + "attributes": { + "EncryptionKeyArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "BackupVaultArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "VaultState": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "VaultType": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-backup-reportplan.json b/server/schema/resources/aws-backup-reportplan.json index debc7684..ba2a5f57 100644 --- a/server/schema/resources/aws-backup-reportplan.json +++ b/server/schema/resources/aws-backup-reportplan.json @@ -149,7 +149,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/ReportPlanTags" + "tagProperty": "/properties/ReportPlanTags", + "permissions": [ + "backup:TagResource", + "backup:UntagResource", + "backup:ListTags" + ] }, "required": [ "ReportDeliveryChannel", diff --git a/server/schema/resources/aws-backup-restoretestingplan.json b/server/schema/resources/aws-backup-restoretestingplan.json index 566a0b57..b81d557f 100644 --- a/server/schema/resources/aws-backup-restoretestingplan.json +++ b/server/schema/resources/aws-backup-restoretestingplan.json @@ -135,7 +135,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "backup:TagResource", + "backup:UntagResource", + "backup:ListTags" + ] }, "additionalProperties": false, "required": [ diff --git a/server/schema/resources/aws-backup-restoretestingselection.json b/server/schema/resources/aws-backup-restoretestingselection.json index 982258a1..3875376a 100644 --- a/server/schema/resources/aws-backup-restoretestingselection.json +++ b/server/schema/resources/aws-backup-restoretestingselection.json @@ -149,7 +149,8 @@ }, "list": { "permissions": [ - "backup:ListRestoreTestingSelections" + "backup:ListRestoreTestingSelections", + "backup:ListRestoreTestingPlans" ], "timeoutInMinutes": 5 } diff --git a/server/schema/resources/aws-batch-computeenvironment.json b/server/schema/resources/aws-batch-computeenvironment.json index a23c02f0..8c3a4c92 100644 --- a/server/schema/resources/aws-batch-computeenvironment.json +++ b/server/schema/resources/aws-batch-computeenvironment.json @@ -207,6 +207,44 @@ "Version": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Overrides": { + "type": "array", + "uniqueItems": false, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LaunchTemplateSpecificationOverride" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LaunchTemplateSpecificationOverride": { + "type": "object", + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "LaunchTemplateName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Version": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TargetInstanceTypes": { + "type": "array", + "uniqueItems": false, + "insertionOrder": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -255,7 +293,11 @@ "tagOnCreate": true, "tagUpdatable": false, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "Batch:TagResource", + "Batch:UntagResource" + ] }, "required": [ "Type" diff --git a/server/schema/resources/aws-batch-jobdefinition.json b/server/schema/resources/aws-batch-jobdefinition.json index 3bc003b8..7e682380 100644 --- a/server/schema/resources/aws-batch-jobdefinition.json +++ b/server/schema/resources/aws-batch-jobdefinition.json @@ -1,107 +1,77 @@ { - "typeName": "AWS::Batch::JobDefinition", - "description": "Resource Type definition for AWS::Batch::JobDefinition", - "additionalProperties": false, - "properties": { - "Parameters": { - "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Timeout": { - "$ref": "#/definitions/Timeout" - }, - "JobDefinitionName": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, - "PropagateTags": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "PlatformCapabilities": { - "type": "array", - "uniqueItems": false, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "Type": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "NodeProperties": { - "$ref": "#/definitions/NodeProperties" - }, - "SchedulingPriority": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "permissions": [ + "Batch:TagResource", + "Batch:UntagResource" + ], + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": true + }, + "handlers": { + "read": { + "permissions": [ + "Batch:DescribeJobDefinitions" + ] }, - "ContainerProperties": { - "$ref": "#/definitions/ContainerProperties" + "create": { + "permissions": [ + "Batch:RegisterJobDefinition", + "Batch:TagResource", + "Batch:DescribeJobDefinitions", + "Iam:PassRole" + ] }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" + "update": { + "permissions": [ + "Batch:DescribeJobDefinitions", + "Batch:RegisterJobDefinition", + "Batch:DeregisterJobDefinition", + "Batch:TagResource", + "Batch:UntagResource", + "Iam:PassRole" + ] }, - "RetryStrategy": { - "$ref": "#/definitions/RetryStrategy" + "list": { + "permissions": [ + "Batch:DescribeJobDefinitions" + ] }, - "Tags": { - "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: Replacement" + "delete": { + "permissions": [ + "Batch:DescribeJobDefinitions", + "Batch:DeregisterJobDefinition", + "Iam:PassRole" + ] } }, + "typeName": "AWS::Batch::JobDefinition", + "description": "Resource Type definition for AWS::Batch::JobDefinition", + "createOnlyProperties": [ + "/properties/JobDefinitionName" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/JobDefinitionName" + ], "definitions": { - "NodeRangeProperty": { - "type": "object", + "JobTimeout": { "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/ContainerProperties" - }, - "InstanceTypes": { - "type": "array", - "uniqueItems": false, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "EksProperties": { - "$ref": "#/definitions/EksProperties" - }, - "TargetNodes": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "EcsProperties": { - "$ref": "#/definitions/EcsProperties" - } - }, - "required": [ - "TargetNodes" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Metadata": { "type": "object", - "additionalProperties": false, "properties": { - "Labels": { - "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "AttemptDurationSeconds": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EksContainerEnvironmentVariable": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "Value": { "type": "string", @@ -117,38 +87,42 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "EfsVolumeConfiguration": { - "type": "object", + "NodeRangeProperty": { "additionalProperties": false, + "type": "object", "properties": { - "FileSystemId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "Container": { + "$ref": "#/definitions/MultiNodeContainerProperties" }, - "TransitEncryption": { + "TargetNodes": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "RootDirectory": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "EcsProperties": { + "$ref": "#/definitions/MultiNodeEcsProperties" }, - "TransitEncryptionPort": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "InstanceTypes": { + "uniqueItems": false, + "insertionOrder": false, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" + "EksProperties": { + "$ref": "#/definitions/EksProperties" } }, "required": [ - "FileSystemId" + "TargetNodes" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EksEmptyDir": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "Medium": { "type": "string", @@ -162,18 +136,26 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "LogConfiguration": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "SecretOptions": { - "type": "array", "uniqueItems": false, + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/Secret" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Options": { + "patternProperties": { + ".*": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, "type": "object", "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -187,20 +169,9 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "VolumesHost": { - "type": "object", - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "RuntimePlatform": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "OperatingSystemFamily": { "type": "string", @@ -213,17 +184,41 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Volumes": { - "type": "object", + "MultiNodeEcsTaskProperties": { "additionalProperties": false, + "type": "object", "properties": { - "Host": { - "$ref": "#/definitions/VolumesHost" + "ExecutionRoleArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "EfsVolumeConfiguration": { - "$ref": "#/definitions/EfsVolumeConfiguration" + "TaskRoleArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Name": { + "IpcMode": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Volumes": { + "uniqueItems": false, + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Volume" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Containers": { + "uniqueItems": false, + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/TaskContainerProperties" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "PidMode": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } @@ -231,16 +226,17 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "NodeProperties": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "MainNode": { "type": "integer", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, "NodeRangeProperties": { - "type": "array", "uniqueItems": false, + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/NodeRangeProperty" }, @@ -252,101 +248,44 @@ } }, "required": [ + "NumNodes", "MainNode", - "NodeRangeProperties", - "NumNodes" + "NodeRangeProperties" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "PodProperties": { - "type": "object", - "additionalProperties": false, - "properties": { - "InitContainers": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/EksContainer" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Volumes": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/EksVolume" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "DnsPolicy": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Containers": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/EksContainer" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - }, - "ServiceAccountName": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "ImagePullSecrets": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/ImagePullSecret" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "HostNetwork": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "ShareProcessNamespace": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "Tmpfs": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { + "Size": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, "ContainerPath": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "MountOptions": { - "type": "array", "uniqueItems": false, + "insertionOrder": false, + "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Size": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" } }, "required": [ - "Size", - "ContainerPath" + "ContainerPath", + "Size" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "TaskContainerDependency": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "Condition": { "type": "string", @@ -358,14 +297,14 @@ } }, "required": [ - "Condition", - "ContainerName" + "ContainerName", + "Condition" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ContainerProperties": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "RepositoryCredentials": { "$ref": "#/definitions/RepositoryCredentials" @@ -375,8 +314,9 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Secrets": { - "type": "array", "uniqueItems": false, + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/Secret" }, @@ -394,9 +334,17 @@ "$ref": "#/definitions/LinuxParameters" }, "FargatePlatformConfiguration": { - "$ref": "#/definitions/FargatePlatformConfiguration" - }, - "JobRoleArn": { + "additionalProperties": false, + "type": "object", + "properties": { + "PlatformVersion": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "JobRoleArn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, @@ -413,8 +361,9 @@ "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "ResourceRequirements": { - "type": "array", "uniqueItems": false, + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/ResourceRequirement" }, @@ -424,10 +373,11 @@ "$ref": "#/definitions/LogConfiguration" }, "MountPoints": { - "type": "array", "uniqueItems": false, + "insertionOrder": false, + "type": "array", "items": { - "$ref": "#/definitions/MountPoints" + "$ref": "#/definitions/MountPoint" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, @@ -439,16 +389,18 @@ "$ref": "#/definitions/RuntimePlatform" }, "Volumes": { - "type": "array", "uniqueItems": false, + "insertionOrder": false, + "type": "array", "items": { - "$ref": "#/definitions/Volumes" + "$ref": "#/definitions/Volume" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Command": { - "type": "array", "uniqueItems": false, + "insertionOrder": true, + "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" @@ -456,16 +408,18 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Environment": { - "type": "array", "uniqueItems": false, + "insertionOrder": true, + "type": "array", "items": { "$ref": "#/definitions/Environment" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Ulimits": { - "type": "array", "uniqueItems": false, + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/Ulimit" }, @@ -474,10 +428,6 @@ "NetworkConfiguration": { "$ref": "#/definitions/NetworkConfiguration" }, - "InstanceType": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "EphemeralStorage": { "$ref": "#/definitions/EphemeralStorage" } @@ -488,12 +438,13 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EcsProperties": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "TaskProperties": { - "type": "array", "uniqueItems": false, + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/EcsTaskProperties" }, @@ -505,30 +456,29 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "AuthorizationConfig": { - "type": "object", - "additionalProperties": false, - "properties": { - "Iam": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "AccessPointId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "EksContainerResourceRequirements": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { - "Requests": { + "Limits": { + "patternProperties": { + ".*": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, "type": "object", "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Limits": { + "Requests": { + "patternProperties": { + ".*": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, "type": "object", "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } @@ -536,8 +486,8 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "NetworkConfiguration": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "AssignPublicIp": { "type": "string", @@ -547,8 +497,8 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EcsTaskProperties": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "PlatformVersion": { "type": "string", @@ -570,16 +520,18 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Volumes": { - "type": "array", "uniqueItems": false, + "insertionOrder": false, + "type": "array", "items": { - "$ref": "#/definitions/Volumes" + "$ref": "#/definitions/Volume" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Containers": { - "type": "array", "uniqueItems": false, + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/TaskContainerProperties" }, @@ -599,8 +551,8 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EksContainerSecurityContext": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "RunAsUser": { "type": "integer", @@ -630,8 +582,8 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "TaskContainerProperties": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "RepositoryCredentials": { "$ref": "#/definitions/RepositoryCredentials" @@ -641,8 +593,9 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Secrets": { - "type": "array", "uniqueItems": false, + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/Secret" }, @@ -671,8 +624,9 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "ResourceRequirements": { - "type": "array", "uniqueItems": false, + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/ResourceRequirement" }, @@ -683,24 +637,27 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "MountPoints": { - "type": "array", "uniqueItems": false, + "insertionOrder": false, + "type": "array", "items": { - "$ref": "#/definitions/MountPoints" + "$ref": "#/definitions/MountPoint" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "DependsOn": { - "type": "array", "uniqueItems": false, + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/TaskContainerDependency" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Command": { - "type": "array", "uniqueItems": false, + "insertionOrder": true, + "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" @@ -708,16 +665,18 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Environment": { - "type": "array", "uniqueItems": false, + "insertionOrder": true, + "type": "array", "items": { "$ref": "#/definitions/Environment" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Ulimits": { - "type": "array", "uniqueItems": false, + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/Ulimit" }, @@ -729,9 +688,27 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "EksSecret": { + "EksMetadata": { + "additionalProperties": false, "type": "object", + "properties": { + "Labels": { + "patternProperties": { + ".*": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "type": "object", + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EksSecret": { "additionalProperties": false, + "type": "object", "properties": { "SecretName": { "type": "string", @@ -748,8 +725,8 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "RepositoryCredentials": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "CredentialsParameter": { "type": "string", @@ -761,37 +738,63 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ImagePullSecret": { - "type": "object", + "EFSVolumeConfiguration": { "additionalProperties": false, + "type": "object", "properties": { - "Name": { + "TransitEncryption": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AuthorizationConfig": { + "$ref": "#/definitions/EFSAuthorizationConfig" + }, + "FileSystemId": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "RootDirectory": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TransitEncryptionPort": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "required": [ - "Name" + "FileSystemId" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "EvaluateOnExit": { + "ImagePullSecret": { + "additionalProperties": false, "type": "object", + "properties": { + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EvaluateOnExit": { "additionalProperties": false, + "type": "object", "properties": { "Action": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "OnStatusReason": { + "OnExitCode": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "OnExitCode": { + "OnReason": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "OnReason": { + "OnStatusReason": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } @@ -801,34 +804,43 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Timeout": { - "type": "object", + "MultiNodeEcsProperties": { "additionalProperties": false, + "type": "object", "properties": { - "AttemptDurationSeconds": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "TaskProperties": { + "uniqueItems": false, + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/MultiNodeEcsTaskProperties" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, + "required": [ + "TaskProperties" + ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Device": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { + "HostPath": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "Permissions": { - "type": "array", "uniqueItems": false, + "insertionOrder": false, + "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "HostPath": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "ContainerPath": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" @@ -837,16 +849,17 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "LinuxParameters": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "Swappiness": { "type": "integer", "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Tmpfs": { - "type": "array", "uniqueItems": false, + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/Tmpfs" }, @@ -857,8 +870,9 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Devices": { - "type": "array", "uniqueItems": false, + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/Device" }, @@ -875,20 +889,9 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "FargatePlatformConfiguration": { - "type": "object", - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "Ulimit": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "SoftLimit": { "type": "integer", @@ -904,15 +907,41 @@ } }, "required": [ - "SoftLimit", "HardLimit", - "Name" + "Name", + "SoftLimit" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "EksVolume": { + "Host": { + "additionalProperties": false, "type": "object", + "properties": { + "SourcePath": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EFSAuthorizationConfig": { + "additionalProperties": false, + "type": "object", + "properties": { + "Iam": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AccessPointId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EksVolume": { "additionalProperties": false, + "type": "object", "properties": { "Secret": { "$ref": "#/definitions/EksSecret" @@ -934,8 +963,8 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EksContainerVolumeMount": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "MountPath": { "type": "string", @@ -953,56 +982,198 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EksProperties": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "PodProperties": { - "$ref": "#/definitions/PodProperties" + "$ref": "#/definitions/EksPodProperties" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Secret": { - "type": "object", + "MultiNodeContainerProperties": { "additionalProperties": false, + "type": "object", "properties": { - "ValueFrom": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "RepositoryCredentials": { + "$ref": "#/definitions/RepositoryCredentials" }, - "Name": { + "User": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - } - }, - "required": [ - "ValueFrom", - "Name" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "MountPoints": { - "type": "object", - "additionalProperties": false, - "properties": { - "ReadOnly": { + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Secrets": { + "uniqueItems": false, + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Secret" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Memory": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Privileged": { "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "SourceVolume": { + "LinuxParameters": { + "$ref": "#/definitions/LinuxParameters" + }, + "JobRoleArn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ContainerPath": { + "ReadonlyRootFilesystem": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "Vcpus": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Image": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "ResourceRequirements": { + "uniqueItems": false, + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRequirement" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "LogConfiguration": { + "$ref": "#/definitions/LogConfiguration" + }, + "MountPoints": { + "uniqueItems": false, + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/MountPoint" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ExecutionRoleArn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "RuntimePlatform": { + "$ref": "#/definitions/RuntimePlatform" + }, + "Volumes": { + "uniqueItems": false, + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Volume" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Command": { + "uniqueItems": false, + "insertionOrder": true, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Environment": { + "uniqueItems": false, + "insertionOrder": true, + "type": "array", + "items": { + "$ref": "#/definitions/Environment" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Ulimits": { + "uniqueItems": false, + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Ulimit" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "InstanceType": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "EphemeralStorage": { + "$ref": "#/definitions/EphemeralStorage" } }, + "required": [ + "Image" + ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "EksHostPath": { + "MountPoint": { + "additionalProperties": false, + "type": "object", + "properties": { + "ReadOnly": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "SourceVolume": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ContainerPath": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Secret": { + "additionalProperties": false, "type": "object", + "properties": { + "ValueFrom": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Name", + "ValueFrom" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Volume": { "additionalProperties": false, + "type": "object", + "properties": { + "Host": { + "$ref": "#/definitions/Host" + }, + "EfsVolumeConfiguration": { + "$ref": "#/definitions/EFSVolumeConfiguration" + }, + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EksHostPath": { + "additionalProperties": false, + "type": "object", "properties": { "Path": { "type": "string", @@ -1012,8 +1183,8 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Environment": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "Value": { "type": "string", @@ -1027,14 +1198,14 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ResourceRequirement": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { - "Value": { + "Type": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Type": { + "Value": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } @@ -1042,8 +1213,8 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EphemeralStorage": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "SizeInGiB": { "type": "integer", @@ -1055,32 +1226,14 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "RetryStrategy": { - "type": "object", - "additionalProperties": false, - "properties": { - "EvaluateOnExit": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/EvaluateOnExit" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Attempts": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "EksContainer": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "Args": { - "type": "array", "uniqueItems": false, + "insertionOrder": true, + "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" @@ -1088,8 +1241,9 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "VolumeMounts": { - "type": "array", "uniqueItems": false, + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/EksContainerVolumeMount" }, @@ -1100,8 +1254,9 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Command": { - "type": "array", "uniqueItems": false, + "insertionOrder": true, + "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" @@ -1119,8 +1274,9 @@ "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Env": { - "type": "array", "uniqueItems": false, + "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/EksContainerEnvironmentVariable" }, @@ -1135,25 +1291,162 @@ "Image" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RetryStrategy": { + "additionalProperties": false, + "type": "object", + "properties": { + "EvaluateOnExit": { + "uniqueItems": false, + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/EvaluateOnExit" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Attempts": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EksPodProperties": { + "additionalProperties": false, + "type": "object", + "properties": { + "InitContainers": { + "uniqueItems": false, + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/EksContainer" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Volumes": { + "uniqueItems": false, + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/EksVolume" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "DnsPolicy": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Containers": { + "uniqueItems": false, + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/EksContainer" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Metadata": { + "$ref": "#/definitions/EksMetadata" + }, + "ServiceAccountName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ImagePullSecrets": { + "uniqueItems": false, + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/ImagePullSecret" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "HostNetwork": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "ShareProcessNamespace": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "Parameters": { + "patternProperties": { + ".*": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "type": "object", + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Timeout": { + "$ref": "#/definitions/JobTimeout" + }, + "JobDefinitionName": { + "type": "string", + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 128 \nUpdate requires: Replacement" + }, + "PropagateTags": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "PlatformCapabilities": { + "uniqueItems": false, + "insertionOrder": true, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "EksProperties": { + "$ref": "#/definitions/EksProperties" + }, + "Type": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "NodeProperties": { + "$ref": "#/definitions/NodeProperties" + }, + "SchedulingPriority": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "ContainerProperties": { + "$ref": "#/definitions/ContainerProperties" + }, + "EcsProperties": { + "$ref": "#/definitions/EcsProperties" + }, + "RetryStrategy": { + "$ref": "#/definitions/RetryStrategy" + }, + "Tags": { + "patternProperties": { + ".*": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "description": "A key-value pair to associate with a resource.", + "additionalProperties": false, + "type": "object", + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "required": [ "Type" ], - "createOnlyProperties": [ - "/properties/Tags", - "/properties/JobDefinitionName" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "readOnlyProperties": [ - "/properties/Id" - ], - "attributes": { - "Id": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - } + "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-batch-jobqueue.json b/server/schema/resources/aws-batch-jobqueue.json index 2214e8a8..05b89008 100644 --- a/server/schema/resources/aws-batch-jobqueue.json +++ b/server/schema/resources/aws-batch-jobqueue.json @@ -124,7 +124,11 @@ "tagOnCreate": true, "tagUpdatable": false, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "Batch:TagResource", + "Batch:UntagResource" + ] }, "required": [ "ComputeEnvironmentOrder", diff --git a/server/schema/resources/aws-bedrock-agent.json b/server/schema/resources/aws-bedrock-agent.json index eb98fcef..01bfd2a7 100644 --- a/server/schema/resources/aws-bedrock-agent.json +++ b/server/schema/resources/aws-bedrock-agent.json @@ -74,9 +74,10 @@ "type": "string", "description": "Action Group Signature for a BuiltIn Action", "enum": [ - "AMAZON.UserInput" + "AMAZON.UserInput", + "AMAZON.CodeInterpreter" ], - "markdownDescription": "Action Group Signature for a BuiltIn Action\n\n---\n\nRequired: No \nType: String \nAllowed Values: AMAZON.UserInput \nUpdate requires: No interruption" + "markdownDescription": "Action Group Signature for a BuiltIn Action\n\n---\n\nRequired: No \nType: String \nAllowed Values: AMAZON.UserInput | AMAZON.CodeInterpreter \nUpdate requires: No interruption" }, "ActionGroupState": { "type": "string", @@ -208,6 +209,9 @@ }, "Parameters": { "$ref": "#/definitions/ParameterMap" + }, + "RequireConfirmation": { + "$ref": "#/definitions/RequireConfirmation" } }, "required": [ @@ -427,6 +431,15 @@ ], "markdownDescription": "Prompt Type.\n\n---\n\nRequired: No \nType: String \nAllowed Values: PRE_PROCESSING | ORCHESTRATION | POST_PROCESSING | KNOWLEDGE_BASE_RESPONSE_GENERATION \nUpdate requires: No interruption" }, + "RequireConfirmation": { + "type": "string", + "description": "ENUM to check if action requires user confirmation", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "ENUM to check if action requires user confirmation\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + }, "S3Identifier": { "type": "object", "description": "The identifier for the S3 resource.", @@ -529,7 +542,7 @@ "maxLength": 2048, "minLength": 1, "description": "ARN or name of a Bedrock model.", - "markdownDescription": "ARN or name of a Bedrock model.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$ \nUpdate requires: No interruption" + "markdownDescription": "ARN or name of a Bedrock model.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|([0-9]{12}:(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$ \nUpdate requires: No interruption" }, "GuardrailConfiguration": { "$ref": "#/definitions/GuardrailConfiguration" diff --git a/server/schema/resources/aws-bedrock-applicationinferenceprofile.json b/server/schema/resources/aws-bedrock-applicationinferenceprofile.json new file mode 100644 index 00000000..c19f9d6e --- /dev/null +++ b/server/schema/resources/aws-bedrock-applicationinferenceprofile.json @@ -0,0 +1,247 @@ +{ + "typeName": "AWS::Bedrock::ApplicationInferenceProfile", + "description": "Definition of AWS::Bedrock::ApplicationInferenceProfile Resource Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-bedrock-application-inference-profile", + "definitions": { + "InferenceProfileModelSource": { + "description": "Various ways to encode a list of models in a CreateInferenceProfile request", + "oneOf": [ + { + "type": "object", + "title": "CopyFrom", + "properties": { + "CopyFrom": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(|-us-gov|-cn|-iso|-iso-b):bedrock:(|[0-9a-z-]{0,20}):(|[0-9]{12}):(inference-profile|foundation-model)/[a-zA-Z0-9-:.]+$", + "description": "Source arns for a custom inference profile to copy its regional load balancing config from. This\ncan either be a foundation model or predefined inference profile ARN." + } + }, + "required": [ + "CopyFrom" + ], + "additionalProperties": false + } + ], + "markdownDescription": "Various ways to encode a list of models in a CreateInferenceProfile request\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "InferenceProfileStatus": { + "type": "string", + "description": "Status of the Inference Profile", + "enum": [ + "ACTIVE" + ], + "markdownDescription": "Status of the Inference Profile\n\n---\n\nRequired: No \nType: String \nAllowed Values: ACTIVE \nUpdate requires: No interruption" + }, + "InferenceProfileType": { + "type": "string", + "description": "Type of the Inference Profile", + "enum": [ + "APPLICATION", + "SYSTEM_DEFINED" + ], + "markdownDescription": "Type of the Inference Profile\n\n---\n\nRequired: No \nType: String \nAllowed Values: APPLICATION | SYSTEM_DEFINED \nUpdate requires: No interruption" + }, + "InferenceProfileModel": { + "type": "object", + "description": "Model configuration", + "properties": { + "ModelArn": { + "type": "string", + "description": "ARN for Foundation Models in Bedrock. These models can be used as base models for model customization jobs", + "markdownDescription": "ARN for Foundation Models in Bedrock. These models can be used as base models for model customization jobs\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model/[a-z0-9-]{1,63}[.]{1}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}$ \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "Model configuration\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tag": { + "type": "object", + "description": "Definition of the key/value pair for a tag", + "properties": { + "Key": { + "type": "string", + "maxLength": 128, + "minLength": 1, + "description": "Tag Key", + "markdownDescription": "Tag Key\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9\\s._:/=+@-]*$ \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "description": "Tag Value", + "markdownDescription": "Tag Value\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^[a-zA-Z0-9\\s._:/=+@-]*$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "Definition of the key/value pair for a tag\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Unit": { + "type": "object", + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "Description": { + "type": "string", + "maxLength": 200, + "minLength": 1, + "description": "Description of the inference profile", + "markdownDescription": "Description of the inference profile\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nPattern: ^([0-9a-zA-Z:.][ _-]?)+$ \nUpdate requires: Replacement" + }, + "InferenceProfileName": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^([0-9a-zA-Z][ _-]?)+$ \nUpdate requires: Replacement" + }, + "ModelSource": { + "$ref": "#/definitions/InferenceProfileModelSource" + }, + "Tags": { + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "description": "List of Tags", + "markdownDescription": "List of Tags\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "InferenceProfileName" + ], + "readOnlyProperties": [ + "/properties/Models", + "/properties/InferenceProfileArn", + "/properties/InferenceProfileId", + "/properties/InferenceProfileIdentifier", + "/properties/Status", + "/properties/Type", + "/properties/CreatedAt", + "/properties/UpdatedAt" + ], + "writeOnlyProperties": [ + "/properties/ModelSource" + ], + "createOnlyProperties": [ + "/properties/Description", + "/properties/InferenceProfileName", + "/properties/ModelSource" + ], + "primaryIdentifier": [ + "/properties/InferenceProfileIdentifier" + ], + "handlers": { + "create": { + "permissions": [ + "bedrock:CreateInferenceProfile", + "bedrock:GetInferenceProfile", + "bedrock:TagResource", + "bedrock:ListTagsForResource" + ] + }, + "read": { + "permissions": [ + "bedrock:GetInferenceProfile", + "bedrock:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "bedrock:GetInferenceProfile", + "bedrock:ListTagsForResource", + "bedrock:TagResource", + "bedrock:UntagResource" + ] + }, + "delete": { + "permissions": [ + "bedrock:DeleteInferenceProfile", + "bedrock:GetInferenceProfile" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "Type": { + "$ref": "resource-schema.json#/properties/Type" + } + } + }, + "permissions": [ + "bedrock:ListInferenceProfiles" + ] + } + }, + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true, + "permissions": [ + "bedrock:TagResource", + "bedrock:UntagResource", + "bedrock:ListTagsForResource" + ] + }, + "additionalProperties": false, + "attributes": { + "CreatedAt": { + "type": "string", + "description": "Time Stamp", + "format": "date-time", + "markdownDescription": "Time Stamp\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "InferenceProfileArn": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws(|-us-gov|-cn|-iso|-iso-b):bedrock:(|[0-9a-z-]{0,20}):(|[0-9]{12}):(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+$ \nUpdate requires: No interruption" + }, + "InferenceProfileId": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9-:.]+$ \nUpdate requires: No interruption" + }, + "InferenceProfileIdentifier": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "description": "Inference profile identifier. Supports both system-defined inference profile ids, and inference profile ARNs.", + "markdownDescription": "Inference profile identifier. Supports both system-defined inference profile ids, and inference profile ARNs.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(|-us-gov|-cn|-iso|-iso-b):bedrock:(|[0-9a-z-]{0,20}):(|[0-9]{12}):(inference-profile|application-inference-profile)/)?[a-zA-Z0-9-:.]+$ \nUpdate requires: No interruption" + }, + "Models": { + "type": "array", + "items": { + "$ref": "#/definitions/InferenceProfileModel" + }, + "maxItems": 5, + "minItems": 1, + "description": "List of model configuration", + "markdownDescription": "List of model configuration\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Status": { + "$ref": "#/definitions/InferenceProfileStatus" + }, + "Type": { + "$ref": "#/definitions/InferenceProfileType" + }, + "UpdatedAt": { + "type": "string", + "description": "Time Stamp", + "format": "date-time", + "markdownDescription": "Time Stamp\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-bedrock-datasource.json b/server/schema/resources/aws-bedrock-datasource.json index f2550954..5582587c 100644 --- a/server/schema/resources/aws-bedrock-datasource.json +++ b/server/schema/resources/aws-bedrock-datasource.json @@ -12,10 +12,13 @@ "maxLength": 2048, "minLength": 1, "description": "The model's ARN.", - "markdownDescription": "The model's ARN.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})$ \nUpdate requires: No interruption" + "markdownDescription": "The model's ARN.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})|(arn:aws(|-us-gov|-cn|-iso|-iso-b):bedrock:(|[0-9a-z-]{1,20}):(|[0-9]{12}):(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+)$ \nUpdate requires: No interruption" }, "ParsingPrompt": { "$ref": "#/definitions/ParsingPrompt" + }, + "ParsingModality": { + "$ref": "#/definitions/ParsingModality" } }, "required": [ @@ -110,33 +113,6 @@ "required": [ "Type" ], - "oneOf": [ - { - "required": [ - "S3Configuration" - ] - }, - { - "required": [ - "ConfluenceConfiguration" - ] - }, - { - "required": [ - "SalesforceConfiguration" - ] - }, - { - "required": [ - "SharePointConfiguration" - ] - }, - { - "required": [ - "WebConfiguration" - ] - } - ], "additionalProperties": false, "markdownDescription": "Specifies a raw data source location to ingest.\n\n---\n\nRequired: No \nUpdate requires: Replacement" }, @@ -158,9 +134,10 @@ "CONFLUENCE", "SALESFORCE", "SHAREPOINT", - "WEB" + "WEB", + "CUSTOM" ], - "markdownDescription": "The type of the data source location.\n\n---\n\nRequired: No \nType: String \nAllowed Values: S3 | CONFLUENCE | SALESFORCE | SHAREPOINT | WEB \nUpdate requires: No interruption" + "markdownDescription": "The type of the data source location.\n\n---\n\nRequired: No \nType: String \nAllowed Values: S3 | CONFLUENCE | SALESFORCE | SHAREPOINT | WEB | CUSTOM \nUpdate requires: No interruption" }, "DataDeletionPolicy": { "type": "string", @@ -266,6 +243,9 @@ }, "BedrockFoundationModelConfiguration": { "$ref": "#/definitions/BedrockFoundationModelConfiguration" + }, + "BedrockDataAutomationConfiguration": { + "$ref": "#/definitions/BedrockDataAutomationConfiguration" } }, "required": [ @@ -274,6 +254,25 @@ "additionalProperties": false, "markdownDescription": "Settings for parsing document contents\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ParsingModality": { + "type": "string", + "description": "Determine how will parsed content be stored.", + "enum": [ + "MULTIMODAL" + ], + "markdownDescription": "Determine how will parsed content be stored.\n\n---\n\nRequired: No \nType: String \nAllowed Values: MULTIMODAL \nUpdate requires: No interruption" + }, + "BedrockDataAutomationConfiguration": { + "type": "object", + "description": "Settings for a Bedrock Data Automation used to parse documents for a data source.", + "properties": { + "ParsingModality": { + "$ref": "#/definitions/ParsingModality" + } + }, + "additionalProperties": false, + "markdownDescription": "Settings for a Bedrock Data Automation used to parse documents for a data source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ParsingPrompt": { "type": "object", "description": "Instructions for interpreting the contents of a document.", @@ -296,9 +295,10 @@ "type": "string", "description": "The parsing strategy for the data source.", "enum": [ - "BEDROCK_FOUNDATION_MODEL" + "BEDROCK_FOUNDATION_MODEL", + "BEDROCK_DATA_AUTOMATION" ], - "markdownDescription": "The parsing strategy for the data source.\n\n---\n\nRequired: No \nType: String \nAllowed Values: BEDROCK_FOUNDATION_MODEL \nUpdate requires: No interruption" + "markdownDescription": "The parsing strategy for the data source.\n\n---\n\nRequired: No \nType: String \nAllowed Values: BEDROCK_FOUNDATION_MODEL | BEDROCK_DATA_AUTOMATION \nUpdate requires: No interruption" }, "S3DataSourceConfiguration": { "type": "object", diff --git a/server/schema/resources/aws-bedrock-flow.json b/server/schema/resources/aws-bedrock-flow.json index 9fcd181f..68a77b87 100644 --- a/server/schema/resources/aws-bedrock-flow.json +++ b/server/schema/resources/aws-bedrock-flow.json @@ -547,8 +547,11 @@ "type": "string", "maxLength": 2048, "minLength": 1, - "description": "ARN or name of a Bedrock model.", - "markdownDescription": "ARN or name of a Bedrock model.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$ \nUpdate requires: No interruption" + "description": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.", + "markdownDescription": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(-[^:]{1,12})?:(bedrock|sagemaker):[a-z0-9-]{1,20}:([0-9]{12})?:([a-z-]+/)?)?([a-zA-Z0-9.-]{1,63}){0,2}(([:][a-z0-9-]{1,63}){0,2})?(/[a-z0-9]{1,12})?$ \nUpdate requires: No interruption" + }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" } }, "required": [ @@ -623,6 +626,9 @@ "properties": { "SourceConfiguration": { "$ref": "#/definitions/PromptFlowNodeSourceConfiguration" + }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" } }, "required": [ @@ -673,8 +679,8 @@ "type": "string", "maxLength": 2048, "minLength": 1, - "description": "ARN or name of a Bedrock model.", - "markdownDescription": "ARN or name of a Bedrock model.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}/[a-z0-9]{12})|(:foundation-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.:]?[a-z0-9-]{1,63}))|([0-9]{12}:provisioned-model/[a-z0-9]{12})))|([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.:]?[a-z0-9-]{1,63}))|(([0-9a-zA-Z][_-]?)+)$ \nUpdate requires: No interruption" + "description": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.", + "markdownDescription": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(-[^:]{1,12})?:(bedrock|sagemaker):[a-z0-9-]{1,20}:([0-9]{12})?:([a-z-]+/)?)?([a-zA-Z0-9.-]{1,63}){0,2}(([:][a-z0-9-]{1,63}){0,2})?(/[a-z0-9]{1,12})?$ \nUpdate requires: No interruption" }, "InferenceConfiguration": { "$ref": "#/definitions/PromptInferenceConfiguration" @@ -850,13 +856,6 @@ "description": "Cumulative probability cutoff for token selection", "markdownDescription": "Cumulative probability cutoff for token selection\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, - "TopK": { - "type": "number", - "maximum": 500, - "minimum": 0, - "description": "Sample from the k most likely next tokens", - "markdownDescription": "Sample from the k most likely next tokens\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, "MaxTokens": { "type": "number", "maximum": 4096, @@ -1006,6 +1005,25 @@ }, "additionalProperties": false, "markdownDescription": "A map of tag keys and values\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GuardrailConfiguration": { + "type": "object", + "description": "Configuration for a guardrail", + "properties": { + "GuardrailIdentifier": { + "type": "string", + "maxLength": 2048, + "description": "Identifier for the guardrail, could be the id or the arn", + "markdownDescription": "Identifier for the guardrail, could be the id or the arn\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nPattern: ^(([a-z0-9]+)|(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:guardrail/[a-z0-9]+))$ \nUpdate requires: No interruption" + }, + "GuardrailVersion": { + "type": "string", + "description": "Version of the guardrail", + "markdownDescription": "Version of the guardrail\n\n---\n\nRequired: No \nType: String \nPattern: ^(([0-9]{1,8})|(DRAFT))$ \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "Configuration for a guardrail\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -1094,14 +1112,18 @@ "bedrock:TagResource", "bedrock:ListTagsForResource", "kms:GenerateDataKey", - "kms:Decrypt" + "kms:Decrypt", + "bedrock:CreateGuardrail", + "bedrock:CreateGuardrailVersion", + "bedrock:GetGuardrail" ] }, "read": { "permissions": [ "bedrock:GetFlow", "bedrock:ListTagsForResource", - "kms:Decrypt" + "kms:Decrypt", + "bedrock:GetGuardrail" ] }, "update": { @@ -1116,18 +1138,23 @@ "bedrock:UntagResource", "bedrock:ListTagsForResource", "kms:GenerateDataKey", - "kms:Decrypt" + "kms:Decrypt", + "bedrock:UpdateGuardrail", + "bedrock:GetGuardrail" ] }, "delete": { "permissions": [ "bedrock:DeleteFlow", - "bedrock:GetFlow" + "bedrock:GetFlow", + "bedrock:DeleteGuardrail", + "bedrock:GetGuardrail" ] }, "list": { "permissions": [ - "bedrock:ListFlows" + "bedrock:ListFlows", + "bedrock:ListGuardrails" ] } }, diff --git a/server/schema/resources/aws-bedrock-flowversion.json b/server/schema/resources/aws-bedrock-flowversion.json index 87be513e..e2c1b4b1 100644 --- a/server/schema/resources/aws-bedrock-flowversion.json +++ b/server/schema/resources/aws-bedrock-flowversion.json @@ -547,8 +547,11 @@ "type": "string", "maxLength": 2048, "minLength": 1, - "description": "ARN or name of a Bedrock model.", - "markdownDescription": "ARN or name of a Bedrock model.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$ \nUpdate requires: No interruption" + "description": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.", + "markdownDescription": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(-[^:]{1,12})?:(bedrock|sagemaker):[a-z0-9-]{1,20}:([0-9]{12})?:([a-z-]+/)?)?([a-zA-Z0-9.-]{1,63}){0,2}(([:][a-z0-9-]{1,63}){0,2})?(/[a-z0-9]{1,12})?$ \nUpdate requires: No interruption" + }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" } }, "required": [ @@ -598,6 +601,9 @@ "properties": { "SourceConfiguration": { "$ref": "#/definitions/PromptFlowNodeSourceConfiguration" + }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" } }, "required": [ @@ -648,8 +654,8 @@ "type": "string", "maxLength": 2048, "minLength": 1, - "description": "ARN or name of a Bedrock model.", - "markdownDescription": "ARN or name of a Bedrock model.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}/[a-z0-9]{12})|(:foundation-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.:]?[a-z0-9-]{1,63}))|([0-9]{12}:provisioned-model/[a-z0-9]{12})))|([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.:]?[a-z0-9-]{1,63}))|(([0-9a-zA-Z][_-]?)+)$ \nUpdate requires: No interruption" + "description": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.", + "markdownDescription": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(-[^:]{1,12})?:(bedrock|sagemaker):[a-z0-9-]{1,20}:([0-9]{12})?:([a-z-]+/)?)?([a-zA-Z0-9.-]{1,63}){0,2}(([:][a-z0-9-]{1,63}){0,2})?(/[a-z0-9]{1,12})?$ \nUpdate requires: No interruption" }, "InferenceConfiguration": { "$ref": "#/definitions/PromptInferenceConfiguration" @@ -825,13 +831,6 @@ "description": "Cumulative probability cutoff for token selection", "markdownDescription": "Cumulative probability cutoff for token selection\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, - "TopK": { - "type": "number", - "maximum": 500, - "minimum": 0, - "description": "Sample from the k most likely next tokens", - "markdownDescription": "Sample from the k most likely next tokens\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, "MaxTokens": { "type": "number", "maximum": 4096, @@ -910,6 +909,25 @@ ], "additionalProperties": false, "markdownDescription": "Configuration for text prompt template\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GuardrailConfiguration": { + "type": "object", + "description": "Configuration for a guardrail", + "properties": { + "GuardrailIdentifier": { + "type": "string", + "maxLength": 2048, + "description": "Identifier for the guardrail, could be the id or the arn", + "markdownDescription": "Identifier for the guardrail, could be the id or the arn\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nPattern: ^(([a-z0-9]+)|(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:guardrail/[a-z0-9]+))$ \nUpdate requires: No interruption" + }, + "GuardrailVersion": { + "type": "string", + "description": "Version of the guardrail", + "markdownDescription": "Version of the guardrail\n\n---\n\nRequired: No \nType: String \nPattern: ^(([0-9]{1,8})|(DRAFT))$ \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "Configuration for a guardrail\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -953,24 +971,31 @@ "bedrock:CreateFlowVersion", "bedrock:GetFlowVersion", "kms:GenerateDataKey", - "kms:Decrypt" + "kms:Decrypt", + "bedrock:CreateGuardrail", + "bedrock:CreateGuardrailVersion", + "bedrock:GetGuardrail" ] }, "read": { "permissions": [ "bedrock:GetFlowVersion", - "kms:Decrypt" + "kms:Decrypt", + "bedrock:GetGuardrail" ] }, "delete": { "permissions": [ "bedrock:DeleteFlowVersion", - "bedrock:GetFlowVersion" + "bedrock:GetFlowVersion", + "bedrock:DeleteGuardrail", + "bedrock:GetGuardrail" ] }, "list": { "permissions": [ - "bedrock:ListFlowVersions" + "bedrock:ListFlowVersions", + "bedrock:ListGuardrails" ], "handlerSchema": { "properties": { diff --git a/server/schema/resources/aws-bedrock-knowledgebase.json b/server/schema/resources/aws-bedrock-knowledgebase.json index dfe7d17b..aa8f1fe3 100644 --- a/server/schema/resources/aws-bedrock-knowledgebase.json +++ b/server/schema/resources/aws-bedrock-knowledgebase.json @@ -11,11 +11,13 @@ }, "VectorKnowledgeBaseConfiguration": { "$ref": "#/definitions/VectorKnowledgeBaseConfiguration" + }, + "KendraKnowledgeBaseConfiguration": { + "$ref": "#/definitions/KendraKnowledgeBaseConfiguration" } }, "required": [ - "Type", - "VectorKnowledgeBaseConfiguration" + "Type" ], "additionalProperties": false, "markdownDescription": "Contains details about the embeddings model used for the knowledge base.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -48,9 +50,10 @@ "type": "string", "description": "The type of a knowledge base.", "enum": [ - "VECTOR" + "VECTOR", + "KENDRA" ], - "markdownDescription": "The type of a knowledge base.\n\n---\n\nRequired: No \nType: String \nAllowed Values: VECTOR \nUpdate requires: No interruption" + "markdownDescription": "The type of a knowledge base.\n\n---\n\nRequired: No \nType: String \nAllowed Values: VECTOR | KENDRA \nUpdate requires: No interruption" }, "OpenSearchServerlessConfiguration": { "type": "object", @@ -60,7 +63,7 @@ "type": "string", "maxLength": 2048, "description": "The ARN of the OpenSearch Service vector store.", - "markdownDescription": "The ARN of the OpenSearch Service vector store.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 2048 \nPattern: ^arn:aws:aoss:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:collection/[a-z0-9-]{3,32}$ \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the OpenSearch Service vector store.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 2048 \nPattern: ^arn:aws(|-cn|-us-gov|-iso):aoss:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:collection/[a-z0-9-]{3,32}$ \nUpdate requires: No interruption" }, "VectorIndexName": { "type": "string", @@ -498,6 +501,9 @@ }, "EmbeddingModelConfiguration": { "$ref": "#/definitions/EmbeddingModelConfiguration" + }, + "SupplementalDataStorageConfiguration": { + "$ref": "#/definitions/SupplementalDataStorageConfiguration" } }, "required": [ @@ -505,6 +511,93 @@ ], "additionalProperties": false, "markdownDescription": "Contains details about the model used to create vector embeddings for the knowledge base.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "S3Location": { + "type": "object", + "description": "An Amazon S3 location.", + "properties": { + "URI": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "description": "The location's URI", + "markdownDescription": "The location's URI\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^s3://.{1,128}$ \nUpdate requires: No interruption" + } + }, + "required": [ + "URI" + ], + "additionalProperties": false, + "markdownDescription": "An Amazon S3 location.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SupplementalDataStorageLocationType": { + "type": "string", + "description": "Supplemental data storage location type.", + "enum": [ + "S3" + ], + "markdownDescription": "Supplemental data storage location type.\n\n---\n\nRequired: No \nType: String \nAllowed Values: S3 \nUpdate requires: No interruption" + }, + "SupplementalDataStorageLocation": { + "type": "object", + "description": "Supplemental data storage location.", + "properties": { + "SupplementalDataStorageLocationType": { + "$ref": "#/definitions/SupplementalDataStorageLocationType" + }, + "S3Location": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [ + "SupplementalDataStorageLocationType" + ], + "additionalProperties": false, + "markdownDescription": "Supplemental data storage location.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SupplementalDataStorageLocations": { + "type": "array", + "items": { + "$ref": "#/definitions/SupplementalDataStorageLocation" + }, + "maxItems": 1, + "minItems": 1, + "description": "List of supplemental data storage locations.", + "insertionOrder": false, + "markdownDescription": "List of supplemental data storage locations.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SupplementalDataStorageConfiguration": { + "type": "object", + "description": "Configurations for supplemental data storage.", + "properties": { + "SupplementalDataStorageLocations": { + "$ref": "#/definitions/SupplementalDataStorageLocations" + } + }, + "required": [ + "SupplementalDataStorageLocations" + ], + "additionalProperties": false, + "markdownDescription": "Configurations for supplemental data storage.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "KendraKnowledgeBaseConfiguration": { + "type": "object", + "description": "Configurations for a Kendra knowledge base", + "properties": { + "KendraIndexArn": { + "$ref": "#/definitions/KendraIndexArn" + } + }, + "required": [ + "KendraIndexArn" + ], + "additionalProperties": false, + "markdownDescription": "Configurations for a Kendra knowledge base\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "KendraIndexArn": { + "type": "string", + "description": "Arn of a Kendra index", + "markdownDescription": "Arn of a Kendra index\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws(|-cn|-us-gov):kendra:[a-z0-9-]{1,20}:([0-9]{12}|):index/([a-zA-Z0-9][a-zA-Z0-9-]{35}|[a-zA-Z0-9][a-zA-Z0-9-]{35}-[a-zA-Z0-9][a-zA-Z0-9-]{35})$ \nUpdate requires: No interruption" } }, "properties": { @@ -539,8 +632,7 @@ "required": [ "KnowledgeBaseConfiguration", "Name", - "RoleArn", - "StorageConfiguration" + "RoleArn" ], "readOnlyProperties": [ "/properties/KnowledgeBaseId", diff --git a/server/schema/resources/aws-bedrock-prompt.json b/server/schema/resources/aws-bedrock-prompt.json index 244309ff..54a2a04c 100644 --- a/server/schema/resources/aws-bedrock-prompt.json +++ b/server/schema/resources/aws-bedrock-prompt.json @@ -6,9 +6,10 @@ "type": "string", "description": "Prompt template type", "enum": [ - "TEXT" + "TEXT", + "CHAT" ], - "markdownDescription": "Prompt template type\n\n---\n\nRequired: No \nType: String \nAllowed Values: TEXT \nUpdate requires: No interruption" + "markdownDescription": "Prompt template type\n\n---\n\nRequired: No \nType: String \nAllowed Values: TEXT | CHAT \nUpdate requires: No interruption" }, "PromptVariant": { "type": "object", @@ -29,16 +30,20 @@ "type": "string", "maxLength": 2048, "minLength": 1, - "description": "ARN or name of a Bedrock model.", - "markdownDescription": "ARN or name of a Bedrock model.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}/[a-z0-9]{12})|(:foundation-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.:]?[a-z0-9-]{1,63}))|([0-9]{12}:provisioned-model/[a-z0-9]{12})))|([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.:]?[a-z0-9-]{1,63}))|(([0-9a-zA-Z][_-]?)+)$ \nUpdate requires: No interruption" + "description": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.", + "markdownDescription": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(-[^:]{1,12})?:(bedrock|sagemaker):[a-z0-9-]{1,20}:([0-9]{12})?:([a-z-]+/)?)?([a-zA-Z0-9.-]{1,63}){0,2}(([:][a-z0-9-]{1,63}){0,2})?(/[a-z0-9]{1,12})?$ \nUpdate requires: No interruption" }, "InferenceConfiguration": { "$ref": "#/definitions/PromptInferenceConfiguration" + }, + "GenAiResource": { + "$ref": "#/definitions/PromptGenAiResource" } }, "required": [ "Name", - "TemplateType" + "TemplateType", + "TemplateConfiguration" ], "additionalProperties": false, "markdownDescription": "Prompt variant\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -73,6 +78,51 @@ "additionalProperties": false, "markdownDescription": "Configuration for text prompt template\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ChatPromptTemplateConfiguration": { + "type": "object", + "description": "Configuration for chat prompt template", + "properties": { + "Messages": { + "type": "array", + "items": { + "$ref": "#/definitions/Message" + }, + "minItems": 0, + "description": "List of messages for chat prompt template", + "insertionOrder": true, + "markdownDescription": "List of messages for chat prompt template\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "System": { + "type": "array", + "items": { + "$ref": "#/definitions/SystemContentBlock" + }, + "minItems": 0, + "description": "Configuration for chat prompt template", + "insertionOrder": true, + "markdownDescription": "Configuration for chat prompt template\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ToolConfiguration": { + "$ref": "#/definitions/ToolConfiguration" + }, + "InputVariables": { + "type": "array", + "items": { + "$ref": "#/definitions/PromptInputVariable" + }, + "maxItems": 5, + "minItems": 0, + "description": "List of input variables", + "insertionOrder": true, + "markdownDescription": "List of input variables\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Messages" + ], + "additionalProperties": false, + "markdownDescription": "Configuration for chat prompt template\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "PromptTemplateConfiguration": { "description": "Prompt template configuration", "oneOf": [ @@ -88,6 +138,19 @@ "Text" ], "additionalProperties": false + }, + { + "type": "object", + "title": "Chat", + "properties": { + "Chat": { + "$ref": "#/definitions/ChatPromptTemplateConfiguration" + } + }, + "required": [ + "Chat" + ], + "additionalProperties": false } ], "markdownDescription": "Prompt template configuration\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" @@ -125,6 +188,247 @@ "additionalProperties": false, "markdownDescription": "The identifier for the S3 resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ConversationRole": { + "type": "string", + "description": "Conversation roles for the chat prompt", + "enum": [ + "user", + "assistant" + ], + "markdownDescription": "Conversation roles for the chat prompt\n\n---\n\nRequired: No \nType: String \nAllowed Values: user | assistant \nUpdate requires: No interruption" + }, + "ContentBlock": { + "description": "Configuration for chat prompt template", + "oneOf": [ + { + "title": "Text", + "type": "object", + "properties": { + "Text": { + "type": "string", + "minLength": 1, + "description": "Configuration for chat prompt template" + } + }, + "required": [ + "Text" + ], + "additionalProperties": false + } + ], + "markdownDescription": "Configuration for chat prompt template\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "SystemContentBlock": { + "description": "Configuration for chat prompt template", + "oneOf": [ + { + "title": "Text", + "type": "object", + "properties": { + "Text": { + "type": "string", + "minLength": 1, + "description": "Configuration for chat prompt template" + } + }, + "required": [ + "Text" + ], + "additionalProperties": false + } + ], + "markdownDescription": "Configuration for chat prompt template\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Message": { + "type": "object", + "description": "Chat prompt Message", + "properties": { + "Role": { + "$ref": "#/definitions/ConversationRole" + }, + "Content": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentBlock" + }, + "minItems": 1, + "description": "List of Content Blocks", + "insertionOrder": true, + "markdownDescription": "List of Content Blocks\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Role", + "Content" + ], + "additionalProperties": false, + "markdownDescription": "Chat prompt Message\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ToolInputSchema": { + "description": "Tool input schema", + "oneOf": [ + { + "type": "object", + "title": "Json", + "properties": { + "Json": { + "type": "object" + } + }, + "description": "Tool input schema json", + "required": [ + "Json" + ], + "additionalProperties": false + } + ], + "markdownDescription": "Tool input schema\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ToolSpecification": { + "type": "object", + "description": "Tool specification", + "properties": { + "Name": { + "type": "string", + "minLength": 1, + "maxLength": 64, + "description": "Tool name", + "markdownDescription": "Tool name\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z][a-zA-Z0-9_]*$ \nUpdate requires: No interruption" + }, + "Description": { + "type": "string", + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nUpdate requires: No interruption" + }, + "InputSchema": { + "$ref": "#/definitions/ToolInputSchema" + } + }, + "required": [ + "Name", + "InputSchema" + ], + "additionalProperties": false, + "markdownDescription": "Tool specification\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tool": { + "description": "Tool details", + "oneOf": [ + { + "type": "object", + "title": "ToolSpec", + "properties": { + "ToolSpec": { + "$ref": "#/definitions/ToolSpecification" + } + }, + "required": [ + "ToolSpec" + ], + "additionalProperties": false + } + ], + "markdownDescription": "Tool details\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "AutoToolChoice": { + "type": "object", + "description": "Auto Tool choice", + "additionalProperties": false, + "markdownDescription": "Auto Tool choice\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AnyToolChoice": { + "type": "object", + "description": "Any Tool choice", + "additionalProperties": false, + "markdownDescription": "Any Tool choice\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SpecificToolChoice": { + "type": "object", + "description": "Specific Tool choice", + "properties": { + "Name": { + "type": "string", + "minLength": 1, + "maxLength": 64, + "description": "Tool name", + "markdownDescription": "Tool name\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z][a-zA-Z0-9_]*$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Name" + ], + "additionalProperties": false, + "markdownDescription": "Specific Tool choice\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ToolChoice": { + "description": "Tool choice", + "oneOf": [ + { + "title": "Auto", + "type": "object", + "properties": { + "Auto": { + "$ref": "#/definitions/AutoToolChoice" + } + }, + "required": [ + "Auto" + ], + "additionalProperties": false + }, + { + "title": "Any", + "type": "object", + "properties": { + "Any": { + "$ref": "#/definitions/AnyToolChoice" + } + }, + "required": [ + "Any" + ], + "additionalProperties": false + }, + { + "title": "Tool", + "type": "object", + "properties": { + "Tool": { + "$ref": "#/definitions/SpecificToolChoice" + } + }, + "required": [ + "Tool" + ], + "additionalProperties": false + } + ], + "markdownDescription": "Tool choice\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ToolConfiguration": { + "type": "object", + "description": "Tool configuration", + "properties": { + "Tools": { + "type": "array", + "items": { + "$ref": "#/definitions/Tool" + }, + "minItems": 1, + "description": "List of Tools", + "insertionOrder": true, + "markdownDescription": "List of Tools\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "ToolChoice": { + "$ref": "#/definitions/ToolChoice" + } + }, + "required": [ + "Tools" + ], + "additionalProperties": false, + "markdownDescription": "Tool configuration\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "PromptModelInferenceConfiguration": { "type": "object", "description": "Prompt model inference configuration", @@ -143,13 +447,6 @@ "description": "Cumulative probability cutoff for token selection", "markdownDescription": "Cumulative probability cutoff for token selection\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, - "TopK": { - "type": "number", - "maximum": 500, - "minimum": 0, - "description": "Sample from the k most likely next tokens", - "markdownDescription": "Sample from the k most likely next tokens\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, "MaxTokens": { "type": "number", "maximum": 4096, @@ -219,6 +516,42 @@ }, "additionalProperties": false, "markdownDescription": "A map of tag keys and values\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PromptAgentResource": { + "description": "Target Agent to invoke with Prompt", + "type": "object", + "properties": { + "AgentIdentifier": { + "type": "string", + "maxLength": 2048, + "description": "Arn representation of the Agent Alias.", + "markdownDescription": "Arn representation of the Agent Alias.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 2048 \nPattern: ^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent-alias/[0-9a-zA-Z]{10}/[0-9a-zA-Z]{10}$ \nUpdate requires: No interruption" + } + }, + "required": [ + "AgentIdentifier" + ], + "additionalProperties": false, + "markdownDescription": "Target Agent to invoke with Prompt\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PromptGenAiResource": { + "description": "Target resource to invoke with Prompt", + "oneOf": [ + { + "type": "object", + "title": "Agent", + "properties": { + "Agent": { + "$ref": "#/definitions/PromptAgentResource" + } + }, + "required": [ + "Agent" + ], + "additionalProperties": false + } + ], + "markdownDescription": "Target resource to invoke with Prompt\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "properties": { @@ -244,7 +577,7 @@ "items": { "$ref": "#/definitions/PromptVariant" }, - "maxItems": 3, + "maxItems": 1, "minItems": 0, "description": "List of prompt variants", "insertionOrder": true, diff --git a/server/schema/resources/aws-bedrock-promptversion.json b/server/schema/resources/aws-bedrock-promptversion.json index b78ff53c..8c14b0cc 100644 --- a/server/schema/resources/aws-bedrock-promptversion.json +++ b/server/schema/resources/aws-bedrock-promptversion.json @@ -30,8 +30,8 @@ "type": "string", "maxLength": 2048, "minLength": 1, - "description": "ARN or name of a Bedrock model.", - "markdownDescription": "ARN or name of a Bedrock model.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}/[a-z0-9]{12})|(:foundation-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.:]?[a-z0-9-]{1,63}))|([0-9]{12}:provisioned-model/[a-z0-9]{12})))|([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.:]?[a-z0-9-]{1,63}))|(([0-9a-zA-Z][_-]?)+)$ \nUpdate requires: No interruption" + "description": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.", + "markdownDescription": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(-[^:]{1,12})?:(bedrock|sagemaker):[a-z0-9-]{1,20}:([0-9]{12})?:([a-z-]+/)?)?([a-zA-Z0-9.-]{1,63}){0,2}(([:][a-z0-9-]{1,63}){0,2})?(/[a-z0-9]{1,12})?$ \nUpdate requires: No interruption" }, "InferenceConfiguration": { "$ref": "#/definitions/PromptInferenceConfiguration" @@ -39,7 +39,8 @@ }, "required": [ "Name", - "TemplateType" + "TemplateType", + "TemplateConfiguration" ], "additionalProperties": false, "markdownDescription": "Prompt variant\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -61,7 +62,7 @@ "$ref": "#/definitions/PromptInputVariable" }, "maxItems": 5, - "minItems": 1, + "minItems": 0, "description": "List of input variables", "insertionOrder": true, "markdownDescription": "List of input variables\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" @@ -110,13 +111,6 @@ "description": "Cumulative probability cutoff for token selection", "markdownDescription": "Cumulative probability cutoff for token selection\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, - "TopK": { - "type": "number", - "maximum": 500, - "minimum": 0, - "description": "Sample from the k most likely next tokens", - "markdownDescription": "Sample from the k most likely next tokens\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, "MaxTokens": { "type": "number", "maximum": 4096, @@ -226,7 +220,8 @@ ], "createOnlyProperties": [ "/properties/PromptArn", - "/properties/Description" + "/properties/Description", + "/properties/Tags" ], "handlers": { "create": { @@ -246,11 +241,6 @@ "kms:Decrypt" ] }, - "update": { - "permissions": [ - "noservice:NoAction" - ] - }, "delete": { "permissions": [ "bedrock:DeletePrompt", @@ -322,7 +312,7 @@ "items": { "$ref": "#/definitions/PromptVariant" }, - "maxItems": 3, + "maxItems": 1, "minItems": 1, "description": "List of prompt variants", "insertionOrder": true, diff --git a/server/schema/resources/aws-cassandra-keyspace.json b/server/schema/resources/aws-cassandra-keyspace.json index f372f6fb..2bf3200c 100644 --- a/server/schema/resources/aws-cassandra-keyspace.json +++ b/server/schema/resources/aws-cassandra-keyspace.json @@ -19,6 +19,11 @@ }, "ReplicationSpecification": { "$ref": "#/definitions/ReplicationSpecification" + }, + "ClientSideTimestampsEnabled": { + "type": "boolean", + "description": "Indicates whether client-side timestamps are enabled (true) or disabled (false) for all tables in the keyspace. To add a Region to a single-Region keyspace with at least one table, the value must be set to true. After you enabled client-side timestamps for a table, you can\u2019t disable it again.", + "markdownDescription": "Indicates whether client-side timestamps are enabled (true) or disabled (false) for all tables in the keyspace. To add a Region to a single-Region keyspace with at least one table, the value must be set to true. After you enabled client-side timestamps for a table, you can\u2019t disable it again.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "definitions": { @@ -111,12 +116,24 @@ "additionalProperties": false, "required": [], "createOnlyProperties": [ - "/properties/ReplicationSpecification", "/properties/KeyspaceName" ], "primaryIdentifier": [ "/properties/KeyspaceName" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "cassandra:TagResource", + "cassandra:TagMultiRegionResource", + "cassandra:UntagResource", + "cassandra:UntagMultiRegionResource" + ] + }, "handlers": { "create": { "permissions": [ @@ -139,12 +156,23 @@ "permissions": [ "cassandra:Alter", "cassandra:AlterMultiRegionResource", + "cassandra:Modify", + "cassandra:ModifyMultiRegionResource", "cassandra:Select", "cassandra:SelectMultiRegionResource", "cassandra:TagResource", "cassandra:TagMultiRegionResource", "cassandra:UntagResource", - "cassandra:UntagMultiRegionResource" + "cassandra:UntagMultiRegionResource", + "application-autoscaling:RegisterScalableTarget", + "application-autoscaling:DeregisterScalableTarget", + "application-autoscaling:DescribeScalableTargets", + "application-autoscaling:DescribeScalingPolicies", + "application-autoscaling:PutScalingPolicy", + "cloudwatch:DeleteAlarms", + "cloudwatch:DescribeAlarms", + "cloudwatch:PutMetricAlarm", + "iam:CreateServiceLinkedRole" ] }, "delete": { diff --git a/server/schema/resources/aws-cassandra-table.json b/server/schema/resources/aws-cassandra-table.json index 4dfe2fb9..3802a954 100644 --- a/server/schema/resources/aws-cassandra-table.json +++ b/server/schema/resources/aws-cassandra-table.json @@ -362,6 +362,19 @@ "/properties/KeyspaceName", "/properties/TableName" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "cassandra:TagResource", + "cassandra:TagMultiRegionResource", + "cassandra:UntagResource", + "cassandra:UntagMultiRegionResource" + ] + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-cassandra-type.json b/server/schema/resources/aws-cassandra-type.json new file mode 100644 index 00000000..d17fde1c --- /dev/null +++ b/server/schema/resources/aws-cassandra-type.json @@ -0,0 +1,135 @@ +{ + "typeName": "AWS::Cassandra::Type", + "description": "Resource schema for AWS::Cassandra::Type", + "definitions": { + "Field": { + "type": "object", + "properties": { + "FieldName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "FieldType": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "FieldName", + "FieldType" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "KeyspaceName": { + "description": "Name of the Keyspace which contains the User-Defined Type.", + "type": "string", + "markdownDescription": "Name of the Keyspace which contains the User-Defined Type.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "TypeName": { + "description": "Name of the User-Defined Type.", + "type": "string", + "markdownDescription": "Name of the User-Defined Type.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "Fields": { + "description": "Field definitions of the User-Defined Type", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Field" + }, + "markdownDescription": "Field definitions of the User-Defined Type\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: Replacement" + } + }, + "additionalProperties": false, + "required": [ + "KeyspaceName", + "TypeName", + "Fields" + ], + "createOnlyProperties": [ + "/properties/KeyspaceName", + "/properties/TypeName", + "/properties/Fields" + ], + "readOnlyProperties": [ + "/properties/DirectReferringTables", + "/properties/DirectParentTypes", + "/properties/MaxNestingDepth", + "/properties/LastModifiedTimestamp", + "/properties/KeyspaceArn" + ], + "primaryIdentifier": [ + "/properties/KeyspaceName", + "/properties/TypeName" + ], + "tagging": { + "taggable": false + }, + "handlers": { + "create": { + "permissions": [ + "cassandra:Create", + "cassandra:Select" + ] + }, + "read": { + "permissions": [ + "cassandra:Select" + ] + }, + "delete": { + "permissions": [ + "cassandra:Drop", + "cassandra:Select" + ] + }, + "list": { + "permissions": [ + "cassandra:Select" + ] + } + }, + "attributes": { + "DirectReferringTables": { + "description": "List of Tables that directly reference the User-Defined Type in their columns.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "List of Tables that directly reference the User-Defined Type in their columns.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "DirectParentTypes": { + "description": "List of parent User-Defined Types that directly reference the User-Defined Type in their fields.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "List of parent User-Defined Types that directly reference the User-Defined Type in their fields.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "MaxNestingDepth": { + "description": "Maximum nesting depth of the User-Defined Type across the field types.", + "type": "integer", + "markdownDescription": "Maximum nesting depth of the User-Defined Type across the field types.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "LastModifiedTimestamp": { + "description": "Timestamp of the last time the User-Defined Type's meta data was modified.", + "type": "number", + "markdownDescription": "Timestamp of the last time the User-Defined Type's meta data was modified.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "KeyspaceArn": { + "description": "ARN of the Keyspace which contains the User-Defined Type.", + "type": "string", + "markdownDescription": "ARN of the Keyspace which contains the User-Defined Type.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-chatbot-customaction.json b/server/schema/resources/aws-chatbot-customaction.json new file mode 100644 index 00000000..6c2e2155 --- /dev/null +++ b/server/schema/resources/aws-chatbot-customaction.json @@ -0,0 +1,226 @@ +{ + "typeName": "AWS::Chatbot::CustomAction", + "description": "Definition of AWS::Chatbot::CustomAction Resource Type", + "definitions": { + "CustomActionAttachment": { + "type": "object", + "properties": { + "NotificationType": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nPattern: ^[a-zA-Z0-9-]+$ \nUpdate requires: No interruption" + }, + "ButtonText": { + "type": "string", + "maxLength": 50, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nPattern: ^[\\S\\s]+$ \nUpdate requires: No interruption" + }, + "Criteria": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomActionAttachmentCriteria" + }, + "maxItems": 5, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Variables": { + "$ref": "#/definitions/CustomActionAttachmentVariables" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CustomActionAttachmentCriteria": { + "type": "object", + "properties": { + "Operator": { + "$ref": "#/definitions/CustomActionAttachmentCriteriaOperator" + }, + "VariableName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 50, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 50 \nUpdate requires: No interruption" + } + }, + "required": [ + "Operator", + "VariableName" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CustomActionAttachmentCriteriaOperator": { + "type": "string", + "enum": [ + "HAS_VALUE", + "EQUALS" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: HAS_VALUE | EQUALS \nUpdate requires: No interruption" + }, + "CustomActionAttachmentVariables": { + "type": "object", + "maxProperties": 5, + "minProperties": 1, + "patternProperties": { + ".+": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CustomActionDefinition": { + "type": "object", + "properties": { + "CommandText": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nUpdate requires: No interruption" + } + }, + "required": [ + "CommandText" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tag": { + "type": "object", + "properties": { + "Key": { + "type": "string", + "maxLength": 128, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "ActionName": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9_-]{1,64}$ \nUpdate requires: Replacement" + }, + "AliasName": { + "type": "string", + "maxLength": 30, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 30 \nPattern: ^[A-Za-z0-9-_]+$ \nUpdate requires: No interruption" + }, + "Attachments": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomActionAttachment" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Definition": { + "$ref": "#/definitions/CustomActionDefinition" + }, + "Tags": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "ActionName", + "Definition" + ], + "readOnlyProperties": [ + "/properties/CustomActionArn" + ], + "createOnlyProperties": [ + "/properties/ActionName" + ], + "primaryIdentifier": [ + "/properties/CustomActionArn" + ], + "handlers": { + "create": { + "permissions": [ + "chatbot:CreateCustomAction", + "chatbot:GetCustomAction", + "chatbot:TagResource", + "chatbot:ListTagsForResource" + ] + }, + "read": { + "permissions": [ + "chatbot:GetCustomAction", + "chatbot:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "chatbot:UpdateCustomAction", + "chatbot:GetCustomAction", + "chatbot:TagResource", + "chatbot:UntagResource", + "chatbot:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "chatbot:DeleteCustomAction" + ] + }, + "list": { + "permissions": [ + "chatbot:ListCustomActions" + ] + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "chatbot:TagResource", + "chatbot:ListTagsForResource", + "chatbot:UntagResource" + ] + }, + "additionalProperties": false, + "attributes": { + "CustomActionArn": { + "type": "string", + "maxLength": 1011, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1011 \nPattern: ^arn:(aws[a-zA-Z-]*)?:chatbot:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:custom-action/[a-zA-Z0-9_-]{1,64}$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-chatbot-microsoftteamschannelconfiguration.json b/server/schema/resources/aws-chatbot-microsoftteamschannelconfiguration.json index b6987a57..16db59b2 100644 --- a/server/schema/resources/aws-chatbot-microsoftteamschannelconfiguration.json +++ b/server/schema/resources/aws-chatbot-microsoftteamschannelconfiguration.json @@ -98,6 +98,16 @@ "$ref": "#/definitions/Tag" }, "markdownDescription": "The tags to add to the configuration\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "CustomizationResourceArns": { + "description": "ARNs of Custom Actions to associate with notifications in the provided chat channel.", + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws:chatbot:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:custom-action/[a-zA-Z0-9_-]{1,64}$ \nUpdate requires: No interruption" + }, + "markdownDescription": "ARNs of Custom Actions to associate with notifications in the provided chat channel.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ @@ -124,13 +134,16 @@ "permissions": [ "chatbot:CreateMicrosoftTeamsChannelConfiguration", "chatbot:TagResource", + "chatbot:AssociateToConfiguration", + "chatbot:ListAssociations", "iam:PassRole", "iam:CreateServiceLinkedRole" ] }, "read": { "permissions": [ - "chatbot:GetMicrosoftTeamsChannelConfiguration" + "chatbot:GetMicrosoftTeamsChannelConfiguration", + "chatbot:ListAssociations" ] }, "update": { @@ -139,18 +152,24 @@ "chatbot:TagResource", "chatbot:UntagResource", "chatbot:ListTagsForResource", + "chatbot:AssociateToConfiguration", + "chatbot:DisassociateFromConfiguration", + "chatbot:ListAssociations", "iam:PassRole" ] }, "delete": { "permissions": [ "chatbot:GetMicrosoftTeamsChannelConfiguration", - "chatbot:DeleteMicrosoftTeamsChannelConfiguration" + "chatbot:DeleteMicrosoftTeamsChannelConfiguration", + "chatbot:DisassociateFromConfiguration", + "chatbot:ListAssociations" ] }, "list": { "permissions": [ - "chatbot:ListMicrosoftTeamsChannelConfigurations" + "chatbot:ListMicrosoftTeamsChannelConfigurations", + "chatbot:ListAssociations" ] } }, @@ -159,7 +178,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "chatbot:TagResource", + "chatbot:ListTagsForResource", + "chatbot:UntagResource" + ] }, "attributes": { "Arn": { diff --git a/server/schema/resources/aws-chatbot-slackchannelconfiguration.json b/server/schema/resources/aws-chatbot-slackchannelconfiguration.json index 5f655bfe..a84e49d1 100644 --- a/server/schema/resources/aws-chatbot-slackchannelconfiguration.json +++ b/server/schema/resources/aws-chatbot-slackchannelconfiguration.json @@ -91,6 +91,16 @@ "type": "boolean", "default": false, "markdownDescription": "Enables use of a user role requirement in your chat configuration\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "CustomizationResourceArns": { + "description": "ARNs of Custom Actions to associate with notifications in the provided chat channel.", + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws:chatbot:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:custom-action/[a-zA-Z0-9_-]{1,64}$ \nUpdate requires: No interruption" + }, + "markdownDescription": "ARNs of Custom Actions to associate with notifications in the provided chat channel.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ @@ -115,13 +125,16 @@ "permissions": [ "chatbot:CreateSlackChannelConfiguration", "chatbot:TagResource", + "chatbot:AssociateToConfiguration", + "chatbot:ListAssociations", "iam:PassRole", "iam:CreateServiceLinkedRole" ] }, "read": { "permissions": [ - "chatbot:DescribeSlackChannelConfigurations" + "chatbot:DescribeSlackChannelConfigurations", + "chatbot:ListAssociations" ] }, "update": { @@ -130,17 +143,23 @@ "chatbot:TagResource", "chatbot:UntagResource", "chatbot:ListTagsForResource", + "chatbot:AssociateToConfiguration", + "chatbot:DisassociateFromConfiguration", + "chatbot:ListAssociations", "iam:PassRole" ] }, "delete": { "permissions": [ - "chatbot:DeleteSlackChannelConfiguration" + "chatbot:DeleteSlackChannelConfiguration", + "chatbot:DisassociateFromConfiguration", + "chatbot:ListAssociations" ] }, "list": { "permissions": [ - "chatbot:DescribeSlackChannelConfigurations" + "chatbot:DescribeSlackChannelConfigurations", + "chatbot:ListAssociations" ] } }, @@ -149,7 +168,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "chatbot:TagResource", + "chatbot:ListTagsForResource", + "chatbot:UntagResource" + ] }, "attributes": { "Arn": { diff --git a/server/schema/resources/aws-cleanrooms-analysistemplate.json b/server/schema/resources/aws-cleanrooms-analysistemplate.json index 6e3251bf..e5285f54 100644 --- a/server/schema/resources/aws-cleanrooms-analysistemplate.json +++ b/server/schema/resources/aws-cleanrooms-analysistemplate.json @@ -35,9 +35,22 @@ "TIMESTAMPTZ", "TIME", "TIMETZ", - "VARBYTE" + "VARBYTE", + "BINARY", + "BYTE", + "CHARACTER", + "DOUBLE", + "FLOAT", + "INT", + "LONG", + "NUMERIC", + "SHORT", + "STRING", + "TIMESTAMP_LTZ", + "TIMESTAMP_NTZ", + "TINYINT" ], - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: SMALLINT | INTEGER | BIGINT | DECIMAL | REAL | DOUBLE_PRECISION | BOOLEAN | CHAR | VARCHAR | DATE | TIMESTAMP | TIMESTAMPTZ | TIME | TIMETZ | VARBYTE \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: SMALLINT | INTEGER | BIGINT | DECIMAL | REAL | DOUBLE_PRECISION | BOOLEAN | CHAR | VARCHAR | DATE | TIMESTAMP | TIMESTAMPTZ | TIME | TIMETZ | VARBYTE | BINARY | BYTE | CHARACTER | DOUBLE | FLOAT | INT | LONG | NUMERIC | SHORT | STRING | TIMESTAMP_LTZ | TIMESTAMP_NTZ | TINYINT \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-cleanrooms-collaboration.json b/server/schema/resources/aws-cleanrooms-collaboration.json index 2a3f92f1..2fc32ad3 100644 --- a/server/schema/resources/aws-cleanrooms-collaboration.json +++ b/server/schema/resources/aws-cleanrooms-collaboration.json @@ -3,6 +3,14 @@ "description": "Represents a collaboration between AWS accounts that allows for secure data collaboration", "documentationUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-collaboration.html", "definitions": { + "AnalyticsEngine": { + "type": "string", + "enum": [ + "CLEAN_ROOMS_SQL", + "SPARK" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CLEAN_ROOMS_SQL | SPARK \nUpdate requires: No interruption" + }, "CollaborationQueryLogStatus": { "type": "string", "enum": [ @@ -57,6 +65,36 @@ "uniqueItems": true, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "MLMemberAbilities": { + "type": "object", + "properties": { + "CustomMLMemberAbilities": { + "$ref": "#/definitions/CustomMLMemberAbilities" + } + }, + "required": [ + "CustomMLMemberAbilities" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CustomMLMemberAbility": { + "type": "string", + "enum": [ + "CAN_RECEIVE_MODEL_OUTPUT", + "CAN_RECEIVE_INFERENCE_OUTPUT" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CAN_RECEIVE_MODEL_OUTPUT | CAN_RECEIVE_INFERENCE_OUTPUT \nUpdate requires: No interruption" + }, + "CustomMLMemberAbilities": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/CustomMLMemberAbility" + }, + "uniqueItems": true, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "MemberSpecification": { "type": "object", "properties": { @@ -69,6 +107,9 @@ "MemberAbilities": { "$ref": "#/definitions/MemberAbilities" }, + "MLMemberAbilities": { + "$ref": "#/definitions/MLMemberAbilities" + }, "DisplayName": { "$ref": "#/definitions/Name" }, @@ -129,6 +170,9 @@ "properties": { "QueryCompute": { "$ref": "#/definitions/QueryComputePaymentConfig" + }, + "MachineLearning": { + "$ref": "#/definitions/MLPaymentConfig" } }, "required": [ @@ -149,6 +193,47 @@ "IsResponsible" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MLPaymentConfig": { + "type": "object", + "additionalProperties": false, + "properties": { + "ModelTraining": { + "$ref": "#/definitions/ModelTrainingPaymentConfig" + }, + "ModelInference": { + "$ref": "#/definitions/ModelInferencePaymentConfig" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ModelTrainingPaymentConfig": { + "type": "object", + "additionalProperties": false, + "properties": { + "IsResponsible": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + } + }, + "required": [ + "IsResponsible" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ModelInferencePaymentConfig": { + "type": "object", + "additionalProperties": false, + "properties": { + "IsResponsible": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + } + }, + "required": [ + "IsResponsible" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -168,6 +253,9 @@ "CreatorMemberAbilities": { "$ref": "#/definitions/MemberAbilities" }, + "CreatorMLMemberAbilities": { + "$ref": "#/definitions/MLMemberAbilities" + }, "DataEncryptionMetadata": { "$ref": "#/definitions/DataEncryptionMetadata" }, @@ -196,6 +284,9 @@ "QueryLogStatus": { "$ref": "#/definitions/CollaborationQueryLogStatus" }, + "AnalyticsEngine": { + "$ref": "#/definitions/AnalyticsEngine" + }, "CreatorPaymentConfiguration": { "$ref": "#/definitions/PaymentConfiguration" } @@ -215,10 +306,12 @@ "createOnlyProperties": [ "/properties/CreatorDisplayName", "/properties/CreatorMemberAbilities", + "/properties/CreatorMLMemberAbilities", "/properties/DataEncryptionMetadata", "/properties/QueryLogStatus", "/properties/Members", - "/properties/CreatorPaymentConfiguration" + "/properties/CreatorPaymentConfiguration", + "/properties/AnalyticsEngine" ], "primaryIdentifier": [ "/properties/CollaborationIdentifier" diff --git a/server/schema/resources/aws-cleanrooms-configuredtable.json b/server/schema/resources/aws-cleanrooms-configuredtable.json index dee4ecb2..29715a5b 100644 --- a/server/schema/resources/aws-cleanrooms-configuredtable.json +++ b/server/schema/resources/aws-cleanrooms-configuredtable.json @@ -429,6 +429,131 @@ "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "SnowflakeTableReference": { + "type": "object", + "properties": { + "SecretArn": { + "type": "string", + "maxLength": 256, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "AccountIdentifier": { + "type": "string", + "maxLength": 256, + "minLength": 3, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 3 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "DatabaseName": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "TableName": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "SchemaName": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "TableSchema": { + "$ref": "#/definitions/SnowflakeTableSchema" + } + }, + "required": [ + "AccountIdentifier", + "DatabaseName", + "SchemaName", + "SecretArn", + "TableName", + "TableSchema" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SnowflakeTableSchema": { + "oneOf": [ + { + "type": "object", + "title": "V1", + "properties": { + "V1": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SnowflakeTableSchemaV1" + }, + "maxItems": 250, + "minItems": 1 + } + }, + "required": [ + "V1" + ], + "additionalProperties": false + } + ] + }, + "SnowflakeTableSchemaV1": { + "type": "object", + "properties": { + "ColumnName": { + "type": "string", + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "ColumnType": { + "type": "string", + "maxLength": 255, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" + } + }, + "required": [ + "ColumnName", + "ColumnType" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AthenaTableReference": { + "type": "object", + "properties": { + "WorkGroup": { + "type": "string", + "maxLength": 128, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "OutputLocation": { + "type": "string", + "maxLength": 1024, + "minLength": 8, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 8 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, + "DatabaseName": { + "type": "string", + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "TableName": { + "type": "string", + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" + } + }, + "required": [ + "DatabaseName", + "TableName", + "WorkGroup" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "AnalysisRule": { "type": "object", "properties": { @@ -447,18 +572,47 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "TableReference": { - "type": "object", - "title": "Glue", - "properties": { - "Glue": { - "$ref": "#/definitions/GlueTableReference" + "oneOf": [ + { + "type": "object", + "title": "Glue", + "properties": { + "Glue": { + "$ref": "#/definitions/GlueTableReference" + } + }, + "required": [ + "Glue" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "Snowflake", + "properties": { + "Snowflake": { + "$ref": "#/definitions/SnowflakeTableReference" + } + }, + "required": [ + "Snowflake" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "Athena", + "properties": { + "Athena": { + "$ref": "#/definitions/AthenaTableReference" + } + }, + "required": [ + "Athena" + ], + "additionalProperties": false } - }, - "required": [ - "Glue" - ], - "additionalProperties": false, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + ] }, "Tag": { "type": "object", @@ -584,7 +738,8 @@ "glue:GetSchemaVersion", "cleanrooms:ListTagsForResource", "cleanrooms:TagResource", - "cleanrooms:ListConfiguredTables" + "cleanrooms:ListConfiguredTables", + "athena:GetTableMetadata" ] }, "read": { diff --git a/server/schema/resources/aws-cleanrooms-configuredtableassociation.json b/server/schema/resources/aws-cleanrooms-configuredtableassociation.json index 7334c43e..daf9ebd1 100644 --- a/server/schema/resources/aws-cleanrooms-configuredtableassociation.json +++ b/server/schema/resources/aws-cleanrooms-configuredtableassociation.json @@ -327,8 +327,8 @@ "attributes": { "Arn": { "type": "string", - "maxLength": 100, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 100 \nUpdate requires: No interruption" + "maxLength": 256, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" }, "ConfiguredTableAssociationIdentifier": { "type": "string", diff --git a/server/schema/resources/aws-cleanrooms-membership.json b/server/schema/resources/aws-cleanrooms-membership.json index 47414aed..a5e36b6d 100644 --- a/server/schema/resources/aws-cleanrooms-membership.json +++ b/server/schema/resources/aws-cleanrooms-membership.json @@ -66,6 +66,10 @@ "KeyPrefix": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SingleFileOutput": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ @@ -112,6 +116,9 @@ "properties": { "QueryCompute": { "$ref": "#/definitions/MembershipQueryComputePaymentConfig" + }, + "MachineLearning": { + "$ref": "#/definitions/MembershipMLPaymentConfig" } }, "required": [ @@ -132,6 +139,47 @@ "IsResponsible" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MembershipMLPaymentConfig": { + "type": "object", + "additionalProperties": false, + "properties": { + "ModelTraining": { + "$ref": "#/definitions/MembershipModelTrainingPaymentConfig" + }, + "ModelInference": { + "$ref": "#/definitions/MembershipModelInferencePaymentConfig" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MembershipModelTrainingPaymentConfig": { + "type": "object", + "additionalProperties": false, + "properties": { + "IsResponsible": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + } + }, + "required": [ + "IsResponsible" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MembershipModelInferencePaymentConfig": { + "type": "object", + "additionalProperties": false, + "properties": { + "IsResponsible": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + } + }, + "required": [ + "IsResponsible" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { diff --git a/server/schema/resources/aws-cloudformation-customresource.json b/server/schema/resources/aws-cloudformation-customresource.json index 56e21d2d..5dea95dd 100644 --- a/server/schema/resources/aws-cloudformation-customresource.json +++ b/server/schema/resources/aws-cloudformation-customresource.json @@ -6,6 +6,10 @@ "ServiceToken": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "ServiceTimeout": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-cloudformation-guardhook.json b/server/schema/resources/aws-cloudformation-guardhook.json new file mode 100644 index 00000000..f833b426 --- /dev/null +++ b/server/schema/resources/aws-cloudformation-guardhook.json @@ -0,0 +1,382 @@ +{ + "typeName": "AWS::CloudFormation::GuardHook", + "description": "This is a CloudFormation resource for activating the first-party AWS::Hooks::GuardHook.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": { + "S3Location": { + "description": "S3 Source Location for the Guard files.", + "type": "object", + "properties": { + "Uri": { + "description": "S3 uri of Guard files.", + "type": "string", + "markdownDescription": "S3 uri of Guard files.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "VersionId": { + "description": "S3 object version", + "type": "string", + "markdownDescription": "S3 object version\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "Uri" + ], + "markdownDescription": "S3 Source Location for the Guard files.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Role": { + "description": "IAM Role ARN", + "type": "string", + "maxLength": 256, + "markdownDescription": "IAM Role ARN\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: arn:.+:iam::[0-9]{12}:role/.+ \nUpdate requires: No interruption" + }, + "StackName": { + "description": "CloudFormation Stack name", + "type": "string", + "maxLength": 128, + "markdownDescription": "CloudFormation Stack name\n\n---\n\nRequired: No \nType: String \nMaximum Length: 128 \nPattern: ^[a-zA-Z][-a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, + "TargetOperation": { + "description": "Which operations should this Hook run against? Resource changes, stacks or change sets.", + "type": "string", + "enum": [ + "RESOURCE", + "STACK", + "CHANGE_SET", + "CLOUD_CONTROL" + ], + "markdownDescription": "Which operations should this Hook run against? Resource changes, stacks or change sets.\n\n---\n\nRequired: No \nType: String \nAllowed Values: RESOURCE | STACK | CHANGE_SET | CLOUD_CONTROL \nUpdate requires: No interruption" + }, + "TargetName": { + "description": "Type name of hook target. Hook targets are the destination where hooks will be invoked against.", + "type": "string", + "minLength": 1, + "maxLength": 256, + "markdownDescription": "Type name of hook target. Hook targets are the destination where hooks will be invoked against.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^(?!.*\\*\\?).*$ \nUpdate requires: No interruption" + }, + "Action": { + "description": "Target actions are the type of operation hooks will be executed at.", + "type": "string", + "enum": [ + "CREATE", + "UPDATE", + "DELETE" + ], + "markdownDescription": "Target actions are the type of operation hooks will be executed at.\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATE | UPDATE | DELETE \nUpdate requires: No interruption" + }, + "InvocationPoint": { + "description": "Invocation points are the point in provisioning workflow where hooks will be executed.", + "type": "string", + "enum": [ + "PRE_PROVISION" + ], + "markdownDescription": "Invocation points are the point in provisioning workflow where hooks will be executed.\n\n---\n\nRequired: No \nType: String \nAllowed Values: PRE_PROVISION \nUpdate requires: No interruption" + }, + "HookTarget": { + "description": "Hook targets are the destination where hooks will be invoked against.", + "type": "object", + "properties": { + "TargetName": { + "$ref": "#/definitions/TargetName" + }, + "Action": { + "$ref": "#/definitions/Action" + }, + "InvocationPoint": { + "$ref": "#/definitions/InvocationPoint" + } + }, + "additionalProperties": false, + "required": [ + "TargetName", + "Action", + "InvocationPoint" + ], + "markdownDescription": "Hook targets are the destination where hooks will be invoked against.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "RuleLocation": { + "$ref": "#/definitions/S3Location" + }, + "LogBucket": { + "description": "S3 Bucket where the guard validate report will be uploaded to", + "type": "string", + "markdownDescription": "S3 Bucket where the guard validate report will be uploaded to\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "HookStatus": { + "default": "DISABLED", + "description": "Attribute to specify which stacks this hook applies to or should get invoked for", + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "Attribute to specify which stacks this hook applies to or should get invoked for\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + }, + "TargetOperations": { + "description": "Which operations should this Hook run against? Resource changes, stacks or change sets.", + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/definitions/TargetOperation" + }, + "markdownDescription": "Which operations should this Hook run against? Resource changes, stacks or change sets.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "FailureMode": { + "default": "WARN", + "description": "Attribute to specify CloudFormation behavior on hook failure.", + "type": "string", + "enum": [ + "FAIL", + "WARN" + ], + "markdownDescription": "Attribute to specify CloudFormation behavior on hook failure.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: FAIL | WARN \nUpdate requires: No interruption" + }, + "TargetFilters": { + "description": "Attribute to specify which targets should invoke the hook", + "type": "object", + "oneOf": [ + { + "type": "object", + "minProperties": 1, + "properties": { + "TargetNames": { + "description": "List of type names that the hook is going to target", + "type": "array", + "minItems": 1, + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetName" + } + }, + "Actions": { + "description": "List of actions that the hook is going to target", + "type": "array", + "minItems": 1, + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Action" + } + }, + "InvocationPoints": { + "description": "List of invocation points that the hook is going to target", + "type": "array", + "minItems": 1, + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InvocationPoint" + } + } + }, + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "Targets": { + "description": "List of hook targets", + "type": "array", + "minItems": 1, + "maxItems": 50, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/HookTarget" + } + } + }, + "additionalProperties": false, + "required": [ + "Targets" + ] + } + ], + "markdownDescription": "Attribute to specify which targets should invoke the hook\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StackFilters": { + "description": "Filters to allow hooks to target specific stack attributes", + "type": "object", + "properties": { + "FilteringCriteria": { + "description": "Attribute to specify the filtering behavior. ANY will make the Hook pass if one filter matches. ALL will make the Hook pass if all filters match", + "type": "string", + "default": "ALL", + "enum": [ + "ALL", + "ANY" + ], + "markdownDescription": "Attribute to specify the filtering behavior. ANY will make the Hook pass if one filter matches. ALL will make the Hook pass if all filters match\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ALL | ANY \nUpdate requires: No interruption" + }, + "StackNames": { + "description": "List of stack names as filters", + "type": "object", + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Include": { + "description": "List of stack names that the hook is going to target", + "type": "array", + "maxItems": 50, + "minItems": 1, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "markdownDescription": "List of stack names that the hook is going to target\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Exclude": { + "description": "List of stack names that the hook is going to be excluded from", + "type": "array", + "maxItems": 50, + "minItems": 1, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "markdownDescription": "List of stack names that the hook is going to be excluded from\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "List of stack names as filters\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StackRoles": { + "description": "List of stack roles that are performing the stack operations.", + "type": "object", + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Include": { + "description": "List of stack roles that the hook is going to target", + "type": "array", + "maxItems": 50, + "minItems": 1, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "markdownDescription": "List of stack roles that the hook is going to target\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Exclude": { + "description": "List of stack roles that the hook is going to be excluded from", + "type": "array", + "maxItems": 50, + "minItems": 1, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "markdownDescription": "List of stack roles that the hook is going to be excluded from\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "List of stack roles that are performing the stack operations.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "required": [ + "FilteringCriteria" + ], + "additionalProperties": false, + "markdownDescription": "Filters to allow hooks to target specific stack attributes\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Alias": { + "description": "The typename alias for the hook.", + "type": "string", + "markdownDescription": "The typename alias for the hook.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(?!(?i)aws)[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$ \nUpdate requires: Replacement" + }, + "ExecutionRole": { + "description": "The execution role ARN assumed by hooks to read Guard rules from S3 and write Guard outputs to S3.", + "$ref": "#/definitions/Role", + "markdownDescription": "The execution role ARN assumed by hooks to read Guard rules from S3 and write Guard outputs to S3.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: Replacement" + }, + "Options": { + "properties": { + "InputParams": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [], + "additionalProperties": false + } + }, + "additionalProperties": false, + "readOnlyProperties": [ + "/properties/HookArn" + ], + "required": [ + "RuleLocation", + "HookStatus", + "TargetOperations", + "FailureMode", + "Alias", + "ExecutionRole" + ], + "createOnlyProperties": [ + "/properties/ExecutionRole", + "/properties/Alias" + ], + "primaryIdentifier": [ + "/properties/HookArn" + ], + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "handlers": { + "create": { + "permissions": [ + "cloudformation:ActivateType", + "cloudformation:DescribeType", + "cloudformation:ListTypes", + "cloudformation:SetTypeConfiguration", + "cloudformation:BatchDescribeTypeConfigurations", + "iam:PassRole" + ] + }, + "read": { + "permissions": [ + "cloudformation:DescribeType", + "cloudformation:BatchDescribeTypeConfigurations" + ] + }, + "update": { + "permissions": [ + "cloudformation:BatchDescribeTypeConfigurations", + "cloudformation:DescribeType", + "cloudformation:SetTypeConfiguration", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudformation:BatchDescribeTypeConfigurations", + "cloudformation:DescribeType", + "cloudformation:DeactivateType", + "cloudformation:SetTypeConfiguration" + ] + }, + "list": { + "permissions": [ + "cloudformation:ListTypes", + "cloudformation:DescribeType", + "cloudformation:BatchDescribeTypeConfigurations" + ] + } + }, + "attributes": { + "HookArn": { + "description": "The Amazon Resource Name (ARN) of the activated hook", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the activated hook\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-cloudformation-lambdahook.json b/server/schema/resources/aws-cloudformation-lambdahook.json new file mode 100644 index 00000000..ca891c44 --- /dev/null +++ b/server/schema/resources/aws-cloudformation-lambdahook.json @@ -0,0 +1,349 @@ +{ + "typeName": "AWS::CloudFormation::LambdaHook", + "description": "This is a CloudFormation resource for the first-party AWS::Hooks::LambdaHook.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": { + "Role": { + "description": "IAM Role ARN", + "type": "string", + "maxLength": 256, + "markdownDescription": "IAM Role ARN\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: arn:.+:iam::[0-9]{12}:role/.+ \nUpdate requires: No interruption" + }, + "StackName": { + "description": "CloudFormation Stack name", + "type": "string", + "maxLength": 128, + "markdownDescription": "CloudFormation Stack name\n\n---\n\nRequired: No \nType: String \nMaximum Length: 128 \nPattern: ^[a-zA-Z][-a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, + "TargetOperation": { + "description": "Which operations should this Hook run against? Resource changes, stacks or change sets.", + "type": "string", + "enum": [ + "RESOURCE", + "STACK", + "CHANGE_SET", + "CLOUD_CONTROL" + ], + "markdownDescription": "Which operations should this Hook run against? Resource changes, stacks or change sets.\n\n---\n\nRequired: No \nType: String \nAllowed Values: RESOURCE | STACK | CHANGE_SET | CLOUD_CONTROL \nUpdate requires: No interruption" + }, + "TargetName": { + "description": "Type name of hook target. Hook targets are the destination where hooks will be invoked against.", + "type": "string", + "minLength": 1, + "maxLength": 256, + "markdownDescription": "Type name of hook target. Hook targets are the destination where hooks will be invoked against.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^(?!.*\\*\\?).*$ \nUpdate requires: No interruption" + }, + "Action": { + "description": "Target actions are the type of operation hooks will be executed at.", + "type": "string", + "enum": [ + "CREATE", + "UPDATE", + "DELETE" + ], + "markdownDescription": "Target actions are the type of operation hooks will be executed at.\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATE | UPDATE | DELETE \nUpdate requires: No interruption" + }, + "InvocationPoint": { + "description": "Invocation points are the point in provisioning workflow where hooks will be executed.", + "type": "string", + "enum": [ + "PRE_PROVISION" + ], + "markdownDescription": "Invocation points are the point in provisioning workflow where hooks will be executed.\n\n---\n\nRequired: No \nType: String \nAllowed Values: PRE_PROVISION \nUpdate requires: No interruption" + }, + "HookTarget": { + "description": "Hook targets are the destination where hooks will be invoked against.", + "type": "object", + "properties": { + "TargetName": { + "$ref": "#/definitions/TargetName" + }, + "Action": { + "$ref": "#/definitions/Action" + }, + "InvocationPoint": { + "$ref": "#/definitions/InvocationPoint" + } + }, + "additionalProperties": false, + "required": [ + "TargetName", + "Action", + "InvocationPoint" + ], + "markdownDescription": "Hook targets are the destination where hooks will be invoked against.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "LambdaFunction": { + "description": "Amazon Resource Name (ARN), Partial ARN, name, version, or alias of the Lambda function to invoke with this hook.", + "type": "string", + "minLength": 1, + "maxLength": 170, + "markdownDescription": "Amazon Resource Name (ARN), Partial ARN, name, version, or alias of the Lambda function to invoke with this hook.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 170 \nPattern: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))? \nUpdate requires: No interruption" + }, + "HookStatus": { + "default": "ENABLED", + "description": "Attribute to specify which stacks this hook applies to or should get invoked for", + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "Attribute to specify which stacks this hook applies to or should get invoked for\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + }, + "TargetOperations": { + "description": "Which operations should this Hook run against? Resource changes, stacks or change sets.", + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/definitions/TargetOperation" + }, + "markdownDescription": "Which operations should this Hook run against? Resource changes, stacks or change sets.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "FailureMode": { + "description": "Attribute to specify CloudFormation behavior on hook failure.", + "type": "string", + "enum": [ + "FAIL", + "WARN" + ], + "markdownDescription": "Attribute to specify CloudFormation behavior on hook failure.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: FAIL | WARN \nUpdate requires: No interruption" + }, + "TargetFilters": { + "description": "Attribute to specify which targets should invoke the hook", + "type": "object", + "oneOf": [ + { + "type": "object", + "minProperties": 1, + "properties": { + "TargetNames": { + "description": "List of type names that the hook is going to target", + "type": "array", + "minItems": 1, + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetName" + } + }, + "Actions": { + "description": "List of actions that the hook is going to target", + "type": "array", + "minItems": 1, + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Action" + } + }, + "InvocationPoints": { + "description": "List of invocation points that the hook is going to target", + "type": "array", + "minItems": 1, + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InvocationPoint" + } + } + }, + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "Targets": { + "description": "List of hook targets", + "type": "array", + "minItems": 1, + "maxItems": 50, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/HookTarget" + } + } + }, + "additionalProperties": false, + "required": [ + "Targets" + ] + } + ], + "markdownDescription": "Attribute to specify which targets should invoke the hook\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StackFilters": { + "description": "Filters to allow hooks to target specific stack attributes", + "type": "object", + "properties": { + "FilteringCriteria": { + "description": "Attribute to specify the filtering behavior. ANY will make the Hook pass if one filter matches. ALL will make the Hook pass if all filters match", + "type": "string", + "default": "ALL", + "enum": [ + "ALL", + "ANY" + ], + "markdownDescription": "Attribute to specify the filtering behavior. ANY will make the Hook pass if one filter matches. ALL will make the Hook pass if all filters match\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ALL | ANY \nUpdate requires: No interruption" + }, + "StackNames": { + "description": "List of stack names as filters", + "type": "object", + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Include": { + "description": "List of stack names that the hook is going to target", + "type": "array", + "maxItems": 50, + "minItems": 1, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "markdownDescription": "List of stack names that the hook is going to target\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Exclude": { + "description": "List of stack names that the hook is going to be excluded from", + "type": "array", + "maxItems": 50, + "minItems": 1, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "markdownDescription": "List of stack names that the hook is going to be excluded from\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "List of stack names as filters\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StackRoles": { + "description": "List of stack roles that are performing the stack operations.", + "type": "object", + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Include": { + "description": "List of stack roles that the hook is going to target", + "type": "array", + "maxItems": 50, + "minItems": 1, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "markdownDescription": "List of stack roles that the hook is going to target\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Exclude": { + "description": "List of stack roles that the hook is going to be excluded from", + "type": "array", + "maxItems": 50, + "minItems": 1, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "markdownDescription": "List of stack roles that the hook is going to be excluded from\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "List of stack roles that are performing the stack operations.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "required": [ + "FilteringCriteria" + ], + "additionalProperties": false, + "markdownDescription": "Filters to allow hooks to target specific stack attributes\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Alias": { + "description": "The typename alias for the hook.", + "type": "string", + "markdownDescription": "The typename alias for the hook.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(?!(?i)aws)[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$ \nUpdate requires: Replacement" + }, + "ExecutionRole": { + "description": "The execution role ARN assumed by Hooks to invoke Lambda.", + "$ref": "#/definitions/Role", + "markdownDescription": "The execution role ARN assumed by Hooks to invoke Lambda.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "LambdaFunction", + "FailureMode", + "Alias", + "ExecutionRole", + "TargetOperations", + "HookStatus" + ], + "readOnlyProperties": [ + "/properties/HookArn" + ], + "createOnlyProperties": [ + "/properties/Alias" + ], + "primaryIdentifier": [ + "/properties/HookArn" + ], + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "handlers": { + "create": { + "permissions": [ + "cloudformation:ListTypes", + "cloudformation:ActivateType", + "cloudformation:BatchDescribeTypeConfigurations", + "cloudformation:DescribeType", + "cloudformation:SetTypeConfiguration", + "iam:PassRole" + ] + }, + "read": { + "permissions": [ + "cloudformation:BatchDescribeTypeConfigurations", + "cloudformation:DescribeType" + ] + }, + "update": { + "permissions": [ + "cloudformation:BatchDescribeTypeConfigurations", + "cloudformation:DescribeType", + "cloudformation:SetTypeConfiguration", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudformation:BatchDescribeTypeConfigurations", + "cloudformation:DeactivateType", + "cloudformation:DescribeType", + "cloudformation:SetTypeConfiguration" + ] + }, + "list": { + "permissions": [ + "cloudformation:ListTypes", + "cloudformation:BatchDescribeTypeConfigurations", + "cloudformation:DescribeType" + ] + } + }, + "attributes": { + "HookArn": { + "description": "The Amazon Resource Name (ARN) of the activated hook", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the activated hook\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-cloudformation-publictypeversion.json b/server/schema/resources/aws-cloudformation-publictypeversion.json index 9ce589d4..71f8e251 100644 --- a/server/schema/resources/aws-cloudformation-publictypeversion.json +++ b/server/schema/resources/aws-cloudformation-publictypeversion.json @@ -76,7 +76,8 @@ "cloudformation:DescribePublisher", "s3:GetObject", "s3:PutObject" - ] + ], + "timeoutInMinutes": 2160 }, "delete": { "permissions": [] @@ -105,7 +106,7 @@ "type": "string", "minLength": 1, "maxLength": 40, - "markdownDescription": "The publisher id assigned by CloudFormation for publishing in this region.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 40 \nPattern: [0-9a-zA-Z]{40} \nUpdate requires: No interruption" + "markdownDescription": "The publisher id assigned by CloudFormation for publishing in this region.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 40 \nPattern: [0-9a-zA-Z-]{40} \nUpdate requires: No interruption" }, "PublicTypeArn": { "description": "The Amazon Resource Number (ARN) assigned to the public extension upon publication", diff --git a/server/schema/resources/aws-cloudformation-publisher.json b/server/schema/resources/aws-cloudformation-publisher.json index fca2797b..660a455c 100644 --- a/server/schema/resources/aws-cloudformation-publisher.json +++ b/server/schema/resources/aws-cloudformation-publisher.json @@ -27,9 +27,6 @@ "/properties/AcceptTermsAndConditions", "/properties/ConnectionArn" ], - "writeOnlyProperties": [ - "/properties/ConnectionArn" - ], "primaryIdentifier": [ "/properties/PublisherId" ], @@ -63,7 +60,7 @@ "type": "string", "minLength": 1, "maxLength": 40, - "markdownDescription": "The publisher id assigned by CloudFormation for publishing in this region.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 40 \nPattern: [0-9a-zA-Z]{40} \nUpdate requires: No interruption" + "markdownDescription": "The publisher id assigned by CloudFormation for publishing in this region.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 40 \nPattern: [0-9a-zA-Z-]{40} \nUpdate requires: No interruption" }, "PublisherStatus": { "description": "Whether the publisher is verified.", diff --git a/server/schema/resources/aws-cloudformation-typeactivation.json b/server/schema/resources/aws-cloudformation-typeactivation.json index 46af0bff..25d29cc3 100644 --- a/server/schema/resources/aws-cloudformation-typeactivation.json +++ b/server/schema/resources/aws-cloudformation-typeactivation.json @@ -36,7 +36,7 @@ "type": "string", "minLength": 1, "maxLength": 40, - "markdownDescription": "The publisher id assigned by CloudFormation for publishing in this region.\n\n---\n\nRequired: Conditional \nType: String \nMinimum Length: 1 \nMaximum Length: 40 \nPattern: [0-9a-zA-Z]{40} \nUpdate requires: No interruption" + "markdownDescription": "The publisher id assigned by CloudFormation for publishing in this region.\n\n---\n\nRequired: Conditional \nType: String \nMinimum Length: 1 \nMaximum Length: 40 \nPattern: [0-9a-zA-Z-]{40} \nUpdate requires: No interruption" }, "LoggingConfig": { "$ref": "#/definitions/LoggingConfig", diff --git a/server/schema/resources/aws-cloudfront-anycastiplist.json b/server/schema/resources/aws-cloudfront-anycastiplist.json new file mode 100644 index 00000000..78526190 --- /dev/null +++ b/server/schema/resources/aws-cloudfront-anycastiplist.json @@ -0,0 +1,175 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/IpCount", + "/properties/Name", + "/properties/Tags" + ], + "definitions": { + "AnycastIpList": { + "additionalProperties": false, + "properties": { + "AnycastIps": { + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "type": "array", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "Arn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Id": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "IpCount": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "LastModifiedTime": { + "format": "date-time", + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Name": { + "maxLength": 64, + "minLength": 1, + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9-_]{1,64}$ \nUpdate requires: No interruption" + }, + "Status": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "AnycastIps", + "Arn", + "Id", + "IpCount", + "LastModifiedTime", + "Name", + "Status" + ], + "type": "object", + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$ \nUpdate requires: No interruption" + }, + "Value": { + "maxLength": 256, + "minLength": 0, + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: ^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Key" + ], + "type": "object", + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tags": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "type": "object", + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "description": "Definition of AWS::CloudFront::AnycastIpList Resource Type", + "handlers": { + "create": { + "permissions": [ + "cloudfront:CreateAnycastIpList", + "cloudfront:TagResource" + ] + }, + "delete": { + "permissions": [ + "cloudfront:DeleteAnycastIpList", + "cloudfront:GetAnycastIpList" + ] + }, + "list": { + "permissions": [ + "cloudfront:ListAnycastIpLists" + ] + }, + "read": { + "permissions": [ + "cloudfront:GetAnycastIpList", + "cloudfront:ListTagsForResource" + ] + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "IpCount": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: Replacement" + }, + "Name": { + "maxLength": 64, + "minLength": 1, + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9-_]{1,64}$ \nUpdate requires: Replacement" + }, + "Tags": { + "$ref": "#/definitions/Tags" + } + }, + "readOnlyProperties": [ + "/properties/AnycastIpList", + "/properties/ETag", + "/properties/Id" + ], + "required": [ + "IpCount", + "Name" + ], + "tagging": { + "cloudFormationSystemTags": false, + "permissions": [ + "cloudfront:TagResource", + "cloudfront:ListTagsForResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": false, + "taggable": true + }, + "typeName": "AWS::CloudFront::AnycastIpList", + "attributes": { + "AnycastIpList": { + "$ref": "#/definitions/AnycastIpList" + }, + "ETag": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Id": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-cloudfront-cachepolicy.json b/server/schema/resources/aws-cloudfront-cachepolicy.json index 26e865cd..ebc86f07 100644 --- a/server/schema/resources/aws-cloudfront-cachepolicy.json +++ b/server/schema/resources/aws-cloudfront-cachepolicy.json @@ -6,32 +6,39 @@ "properties": { "Comment": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A comment to describe the cache policy. The comment cannot be longer than 128 characters.", + "markdownDescription": "A comment to describe the cache policy. The comment cannot be longer than 128 characters.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DefaultTTL": { "minimum": 0, "multipleOf": 1.0, "type": "number", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "description": "The default amount of time, in seconds, that you want objects to stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated. CloudFront uses this value as the object's time to live (TTL) only when the origin does *not* send ``Cache-Control`` or ``Expires`` headers with the object. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide*.\n The default value for this field is 86400 seconds (one day). If the value of ``MinTTL`` is more than 86400 seconds, then the default value for this field is the same as the value of ``MinTTL``.", + "markdownDescription": "The default amount of time, in seconds, that you want objects to stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated. CloudFront uses this value as the object's time to live (TTL) only when the origin does *not* send ``Cache-Control`` or ``Expires`` headers with the object. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide*.\n The default value for this field is 86400 seconds (one day). If the value of ``MinTTL`` is more than 86400 seconds, then the default value for this field is the same as the value of ``MinTTL``.\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, "MaxTTL": { "minimum": 0, "multipleOf": 1.0, "type": "number", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "description": "The maximum amount of time, in seconds, that objects stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated. CloudFront uses this value only when the origin sends ``Cache-Control`` or ``Expires`` headers with the object. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide*.\n The default value for this field is 31536000 seconds (one year). If the value of ``MinTTL`` or ``DefaultTTL`` is more than 31536000 seconds, then the default value for this field is the same as the value of ``DefaultTTL``.", + "markdownDescription": "The maximum amount of time, in seconds, that objects stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated. CloudFront uses this value only when the origin sends ``Cache-Control`` or ``Expires`` headers with the object. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide*.\n The default value for this field is 31536000 seconds (one year). If the value of ``MinTTL`` or ``DefaultTTL`` is more than 31536000 seconds, then the default value for this field is the same as the value of ``DefaultTTL``.\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, "MinTTL": { "minimum": 0, "multipleOf": 1.0, "type": "number", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "description": "The minimum amount of time, in seconds, that you want objects to stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide*.", + "markdownDescription": "The minimum amount of time, in seconds, that you want objects to stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated. For more information, see [Managing How Long Content Stays in an Edge Cache (Expiration)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) in the *Amazon CloudFront Developer Guide*.\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, "Name": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "A unique name to identify the cache policy.", + "markdownDescription": "A unique name to identify the cache policy.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "ParametersInCacheKeyAndForwardedToOrigin": { - "$ref": "#/definitions/ParametersInCacheKeyAndForwardedToOrigin" + "$ref": "#/definitions/ParametersInCacheKeyAndForwardedToOrigin", + "description": "The HTTP headers, cookies, and URL query strings to include in the cache key. The values included in the cache key are also included in requests that CloudFront sends to the origin.", + "markdownDescription": "The HTTP headers, cookies, and URL query strings to include in the cache key. The values included in the cache key are also included in requests that CloudFront sends to the origin.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ @@ -42,14 +49,16 @@ "ParametersInCacheKeyAndForwardedToOrigin" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A cache policy configuration.\n This configuration determines the following:\n + The values that CloudFront includes in the cache key. These values can include HTTP headers, cookies, and URL query strings. CloudFront uses the cache key to find an object in its cache that it can return to the viewer.\n + The default, minimum, and maximum time to live (TTL) values that you want objects to stay in the CloudFront cache.\n \n The headers, cookies, and query strings that are included in the cache key are also included in requests that CloudFront sends to the origin. CloudFront sends a request when it can't find a valid object in its cache that matches the request's cache key. If you want to send values to the origin but *not* include them in the cache key, use ``OriginRequestPolicy``.", + "markdownDescription": "A cache policy configuration.\n This configuration determines the following:\n + The values that CloudFront includes in the cache key. These values can include HTTP headers, cookies, and URL query strings. CloudFront uses the cache key to find an object in its cache that it can return to the viewer.\n + The default, minimum, and maximum time to live (TTL) values that you want objects to stay in the CloudFront cache.\n \n The headers, cookies, and query strings that are included in the cache key are also included in requests that CloudFront sends to the origin. CloudFront sends a request when it can't find a valid object in its cache that matches the request's cache key. If you want to send values to the origin but *not* include them in the cache key, use ``OriginRequestPolicy``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "CookiesConfig": { "additionalProperties": false, "properties": { "CookieBehavior": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(none|whitelist|allExcept|all)$ \nUpdate requires: No interruption" + "description": "Determines whether any cookies in viewer requests are included in the cache key and in requests that CloudFront sends to the origin. Valid values are:\n + ``none`` \u2013 No cookies in viewer requests are included in the cache key or in requests that CloudFront sends to the origin. Even when this field is set to ``none``, any cookies that are listed in an ``OriginRequestPolicy`` *are* included in origin requests.\n + ``whitelist`` \u2013 Only the cookies in viewer requests that are listed in the ``CookieNames`` type are included in the cache key and in requests that CloudFront sends to the origin.\n + ``allExcept`` \u2013 All cookies in viewer requests are included in the cache key and in requests that CloudFront sends to the origin, *except* for those that are listed in the ``CookieNames`` type, which are not included.\n + ``all`` \u2013 All cookies in viewer requests are included in the cache key and in requests that CloudFront sends to the origin.", + "markdownDescription": "Determines whether any cookies in viewer requests are included in the cache key and in requests that CloudFront sends to the origin. Valid values are:\n + ``none`` \u2013 No cookies in viewer requests are included in the cache key or in requests that CloudFront sends to the origin. Even when this field is set to ``none``, any cookies that are listed in an ``OriginRequestPolicy`` *are* included in origin requests.\n + ``whitelist`` \u2013 Only the cookies in viewer requests that are listed in the ``CookieNames`` type are included in the cache key and in requests that CloudFront sends to the origin.\n + ``allExcept`` \u2013 All cookies in viewer requests are included in the cache key and in requests that CloudFront sends to the origin, *except* for those that are listed in the ``CookieNames`` type, which are not included.\n + ``all`` \u2013 All cookies in viewer requests are included in the cache key and in requests that CloudFront sends to the origin.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(none|whitelist|allExcept|all)$ \nUpdate requires: No interruption" }, "Cookies": { "items": { @@ -58,21 +67,24 @@ }, "type": "array", "uniqueItems": false, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "Contains a list of cookie names.", + "markdownDescription": "Contains a list of cookie names.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ "CookieBehavior" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "An object that determines whether any cookies in viewer requests (and if so, which cookies) are included in the cache key and in requests that CloudFront sends to the origin.", + "markdownDescription": "An object that determines whether any cookies in viewer requests (and if so, which cookies) are included in the cache key and in requests that CloudFront sends to the origin.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "HeadersConfig": { "additionalProperties": false, "properties": { "HeaderBehavior": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(none|whitelist)$ \nUpdate requires: No interruption" + "description": "Determines whether any HTTP headers are included in the cache key and in requests that CloudFront sends to the origin. Valid values are:\n + ``none`` \u2013 No HTTP headers are included in the cache key or in requests that CloudFront sends to the origin. Even when this field is set to ``none``, any headers that are listed in an ``OriginRequestPolicy`` *are* included in origin requests.\n + ``whitelist`` \u2013 Only the HTTP headers that are listed in the ``Headers`` type are included in the cache key and in requests that CloudFront sends to the origin.", + "markdownDescription": "Determines whether any HTTP headers are included in the cache key and in requests that CloudFront sends to the origin. Valid values are:\n + ``none`` \u2013 No HTTP headers are included in the cache key or in requests that CloudFront sends to the origin. Even when this field is set to ``none``, any headers that are listed in an ``OriginRequestPolicy`` *are* included in origin requests.\n + ``whitelist`` \u2013 Only the HTTP headers that are listed in the ``Headers`` type are included in the cache key and in requests that CloudFront sends to the origin.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(none|whitelist)$ \nUpdate requires: No interruption" }, "Headers": { "items": { @@ -81,34 +93,44 @@ }, "type": "array", "uniqueItems": false, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "Contains a list of HTTP header names.", + "markdownDescription": "Contains a list of HTTP header names.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ "HeaderBehavior" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "An object that determines whether any HTTP headers (and if so, which headers) are included in the cache key and in requests that CloudFront sends to the origin.", + "markdownDescription": "An object that determines whether any HTTP headers (and if so, which headers) are included in the cache key and in requests that CloudFront sends to the origin.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ParametersInCacheKeyAndForwardedToOrigin": { "additionalProperties": false, "properties": { "CookiesConfig": { - "$ref": "#/definitions/CookiesConfig" + "$ref": "#/definitions/CookiesConfig", + "description": "An object that determines whether any cookies in viewer requests (and if so, which cookies) are included in the cache key and in requests that CloudFront sends to the origin.", + "markdownDescription": "An object that determines whether any cookies in viewer requests (and if so, which cookies) are included in the cache key and in requests that CloudFront sends to the origin.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "EnableAcceptEncodingBrotli": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "description": "A flag that can affect whether the ``Accept-Encoding`` HTTP header is included in the cache key and included in requests that CloudFront sends to the origin.\n This field is related to the ``EnableAcceptEncodingGzip`` field. If one or both of these fields is ``true`` *and* the viewer request includes the ``Accept-Encoding`` header, then CloudFront does the following:\n + Normalizes the value of the viewer's ``Accept-Encoding`` header\n + Includes the normalized header in the cache key\n + Includes the normalized header in the request to the origin, if a request is necessary\n \n For more information, see [Compression support](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-policy-compressed-objects) in the *Amazon CloudFront Developer Guide*.\n If you set this value to ``true``, and this cache behavior also has an origin request policy attached, do not include the ``Accept-Encoding`` header in the origin request policy. CloudFront always includes the ``Accept-Encoding`` header in origin requests when the value of this field is ``true``, so including this header in an origin request policy has no effect.\n If both of these fields are ``false``, then CloudFront treats the ``Accept-Encoding`` header the same as any other HTTP header in the viewer request. By default, it's not included in the cache key and it's not included in origin requests. In this case, you can manually add ``Accept-Encoding`` to the headers whitelist like any other HTTP header.", + "markdownDescription": "A flag that can affect whether the ``Accept-Encoding`` HTTP header is included in the cache key and included in requests that CloudFront sends to the origin.\n This field is related to the ``EnableAcceptEncodingGzip`` field. If one or both of these fields is ``true`` *and* the viewer request includes the ``Accept-Encoding`` header, then CloudFront does the following:\n + Normalizes the value of the viewer's ``Accept-Encoding`` header\n + Includes the normalized header in the cache key\n + Includes the normalized header in the request to the origin, if a request is necessary\n \n For more information, see [Compression support](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-policy-compressed-objects) in the *Amazon CloudFront Developer Guide*.\n If you set this value to ``true``, and this cache behavior also has an origin request policy attached, do not include the ``Accept-Encoding`` header in the origin request policy. CloudFront always includes the ``Accept-Encoding`` header in origin requests when the value of this field is ``true``, so including this header in an origin request policy has no effect.\n If both of these fields are ``false``, then CloudFront treats the ``Accept-Encoding`` header the same as any other HTTP header in the viewer request. By default, it's not included in the cache key and it's not included in origin requests. In this case, you can manually add ``Accept-Encoding`` to the headers whitelist like any other HTTP header.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "EnableAcceptEncodingGzip": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + "description": "A flag that can affect whether the ``Accept-Encoding`` HTTP header is included in the cache key and included in requests that CloudFront sends to the origin.\n This field is related to the ``EnableAcceptEncodingBrotli`` field. If one or both of these fields is ``true`` *and* the viewer request includes the ``Accept-Encoding`` header, then CloudFront does the following:\n + Normalizes the value of the viewer's ``Accept-Encoding`` header\n + Includes the normalized header in the cache key\n + Includes the normalized header in the request to the origin, if a request is necessary\n \n For more information, see [Compression support](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-policy-compressed-objects) in the *Amazon CloudFront Developer Guide*.\n If you set this value to ``true``, and this cache behavior also has an origin request policy attached, do not include the ``Accept-Encoding`` header in the origin request policy. CloudFront always includes the ``Accept-Encoding`` header in origin requests when the value of this field is ``true``, so including this header in an origin request policy has no effect.\n If both of these fields are ``false``, then CloudFront treats the ``Accept-Encoding`` header the same as any other HTTP header in the viewer request. By default, it's not included in the cache key and it's not included in origin requests. In this case, you can manually add ``Accept-Encoding`` to the headers whitelist like any other HTTP header.", + "markdownDescription": "A flag that can affect whether the ``Accept-Encoding`` HTTP header is included in the cache key and included in requests that CloudFront sends to the origin.\n This field is related to the ``EnableAcceptEncodingBrotli`` field. If one or both of these fields is ``true`` *and* the viewer request includes the ``Accept-Encoding`` header, then CloudFront does the following:\n + Normalizes the value of the viewer's ``Accept-Encoding`` header\n + Includes the normalized header in the cache key\n + Includes the normalized header in the request to the origin, if a request is necessary\n \n For more information, see [Compression support](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-policy-compressed-objects) in the *Amazon CloudFront Developer Guide*.\n If you set this value to ``true``, and this cache behavior also has an origin request policy attached, do not include the ``Accept-Encoding`` header in the origin request policy. CloudFront always includes the ``Accept-Encoding`` header in origin requests when the value of this field is ``true``, so including this header in an origin request policy has no effect.\n If both of these fields are ``false``, then CloudFront treats the ``Accept-Encoding`` header the same as any other HTTP header in the viewer request. By default, it's not included in the cache key and it's not included in origin requests. In this case, you can manually add ``Accept-Encoding`` to the headers whitelist like any other HTTP header.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" }, "HeadersConfig": { - "$ref": "#/definitions/HeadersConfig" + "$ref": "#/definitions/HeadersConfig", + "description": "An object that determines whether any HTTP headers (and if so, which headers) are included in the cache key and in requests that CloudFront sends to the origin.", + "markdownDescription": "An object that determines whether any HTTP headers (and if so, which headers) are included in the cache key and in requests that CloudFront sends to the origin.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "QueryStringsConfig": { - "$ref": "#/definitions/QueryStringsConfig" + "$ref": "#/definitions/QueryStringsConfig", + "description": "An object that determines whether any URL query strings in viewer requests (and if so, which query strings) are included in the cache key and in requests that CloudFront sends to the origin.", + "markdownDescription": "An object that determines whether any URL query strings in viewer requests (and if so, which query strings) are included in the cache key and in requests that CloudFront sends to the origin.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ @@ -118,14 +140,16 @@ "QueryStringsConfig" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "This object determines the values that CloudFront includes in the cache key. These values can include HTTP headers, cookies, and URL query strings. CloudFront uses the cache key to find an object in its cache that it can return to the viewer.\n The headers, cookies, and query strings that are included in the cache key are also included in requests that CloudFront sends to the origin. CloudFront sends a request when it can't find an object in its cache that matches the request's cache key. If you want to send values to the origin but *not* include them in the cache key, use ``OriginRequestPolicy``.", + "markdownDescription": "This object determines the values that CloudFront includes in the cache key. These values can include HTTP headers, cookies, and URL query strings. CloudFront uses the cache key to find an object in its cache that it can return to the viewer.\n The headers, cookies, and query strings that are included in the cache key are also included in requests that CloudFront sends to the origin. CloudFront sends a request when it can't find an object in its cache that matches the request's cache key. If you want to send values to the origin but *not* include them in the cache key, use ``OriginRequestPolicy``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "QueryStringsConfig": { "additionalProperties": false, "properties": { "QueryStringBehavior": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(none|whitelist|allExcept|all)$ \nUpdate requires: No interruption" + "description": "Determines whether any URL query strings in viewer requests are included in the cache key and in requests that CloudFront sends to the origin. Valid values are:\n + ``none`` \u2013 No query strings in viewer requests are included in the cache key or in requests that CloudFront sends to the origin. Even when this field is set to ``none``, any query strings that are listed in an ``OriginRequestPolicy`` *are* included in origin requests.\n + ``whitelist`` \u2013 Only the query strings in viewer requests that are listed in the ``QueryStringNames`` type are included in the cache key and in requests that CloudFront sends to the origin.\n + ``allExcept`` \u2013 All query strings in viewer requests are included in the cache key and in requests that CloudFront sends to the origin, *except* those that are listed in the ``QueryStringNames`` type, which are not included.\n + ``all`` \u2013 All query strings in viewer requests are included in the cache key and in requests that CloudFront sends to the origin.", + "markdownDescription": "Determines whether any URL query strings in viewer requests are included in the cache key and in requests that CloudFront sends to the origin. Valid values are:\n + ``none`` \u2013 No query strings in viewer requests are included in the cache key or in requests that CloudFront sends to the origin. Even when this field is set to ``none``, any query strings that are listed in an ``OriginRequestPolicy`` *are* included in origin requests.\n + ``whitelist`` \u2013 Only the query strings in viewer requests that are listed in the ``QueryStringNames`` type are included in the cache key and in requests that CloudFront sends to the origin.\n + ``allExcept`` \u2013 All query strings in viewer requests are included in the cache key and in requests that CloudFront sends to the origin, *except* those that are listed in the ``QueryStringNames`` type, which are not included.\n + ``all`` \u2013 All query strings in viewer requests are included in the cache key and in requests that CloudFront sends to the origin.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(none|whitelist|allExcept|all)$ \nUpdate requires: No interruption" }, "QueryStrings": { "items": { @@ -134,17 +158,19 @@ }, "type": "array", "uniqueItems": false, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "Contains a list of query string names.", + "markdownDescription": "Contains a list of query string names.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ "QueryStringBehavior" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "An object that determines whether any URL query strings in viewer requests (and if so, which query strings) are included in the cache key and in requests that CloudFront sends to the origin.", + "markdownDescription": "An object that determines whether any URL query strings in viewer requests (and if so, which query strings) are included in the cache key and in requests that CloudFront sends to the origin.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "description": "Resource Type definition for AWS::CloudFront::CachePolicy", + "description": "A cache policy.\n When it's attached to a cache behavior, the cache policy determines the following:\n + The values that CloudFront includes in the cache key. These values can include HTTP headers, cookies, and URL query strings. CloudFront uses the cache key to find an object in its cache that it can return to the viewer.\n + The default, minimum, and maximum time to live (TTL) values that you want objects to stay in the CloudFront cache.\n \n The headers, cookies, and query strings that are included in the cache key are also included in requests that CloudFront sends to the origin. CloudFront sends a request when it can't find a valid object in its cache that matches the request's cache key. If you want to send values to the origin but *not* include them in the cache key, use ``OriginRequestPolicy``.", "handlers": { "create": { "permissions": [ @@ -179,7 +205,9 @@ ], "properties": { "CachePolicyConfig": { - "$ref": "#/definitions/CachePolicyConfig" + "$ref": "#/definitions/CachePolicyConfig", + "description": "The cache policy configuration.", + "markdownDescription": "The cache policy configuration.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "readOnlyProperties": [ @@ -199,10 +227,12 @@ "attributes": { "Id": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "LastModifiedTime": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } diff --git a/server/schema/resources/aws-cloudfront-cloudfrontoriginaccessidentity.json b/server/schema/resources/aws-cloudfront-cloudfrontoriginaccessidentity.json index a925f838..594238a2 100644 --- a/server/schema/resources/aws-cloudfront-cloudfrontoriginaccessidentity.json +++ b/server/schema/resources/aws-cloudfront-cloudfrontoriginaccessidentity.json @@ -6,17 +6,19 @@ "properties": { "Comment": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "A comment to describe the origin access identity. The comment cannot be longer than 128 characters.", + "markdownDescription": "A comment to describe the origin access identity. The comment cannot be longer than 128 characters.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "Comment" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Origin access identity configuration. Send a ``GET`` request to the ``/CloudFront API version/CloudFront/identity ID/config`` resource.", + "markdownDescription": "Origin access identity configuration. Send a ``GET`` request to the ``/CloudFront API version/CloudFront/identity ID/config`` resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "description": "Resource Type definition for AWS::CloudFront::CloudFrontOriginAccessIdentity", + "description": "The request to create a new origin access identity (OAI). An origin access identity is a special CloudFront user that you can associate with Amazon S3 origins, so that you can secure all or just some of your Amazon S3 content. For more information, see [Restricting Access to Amazon S3 Content by Using an Origin Access Identity](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) in the *Amazon CloudFront Developer Guide*.", "handlers": { "create": { "permissions": [ @@ -51,7 +53,9 @@ ], "properties": { "CloudFrontOriginAccessIdentityConfig": { - "$ref": "#/definitions/CloudFrontOriginAccessIdentityConfig" + "$ref": "#/definitions/CloudFrontOriginAccessIdentityConfig", + "description": "The current configuration information for the identity.", + "markdownDescription": "The current configuration information for the identity.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "readOnlyProperties": [ @@ -71,10 +75,12 @@ "attributes": { "Id": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "S3CanonicalUserId": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } diff --git a/server/schema/resources/aws-cloudfront-continuousdeploymentpolicy.json b/server/schema/resources/aws-cloudfront-continuousdeploymentpolicy.json index 445ade46..c5523414 100644 --- a/server/schema/resources/aws-cloudfront-continuousdeploymentpolicy.json +++ b/server/schema/resources/aws-cloudfront-continuousdeploymentpolicy.json @@ -11,7 +11,8 @@ "properties": { "Enabled": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + "description": "A Boolean that indicates whether this continuous deployment policy is enabled (in effect). When this value is ``true``, this policy is enabled and in effect. When this value is ``false``, this policy is not enabled and has no effect.", + "markdownDescription": "A Boolean that indicates whether this continuous deployment policy is enabled (in effect). When this value is ``true``, this policy is enabled and in effect. When this value is ``false``, this policy is not enabled and has no effect.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" }, "SingleHeaderPolicyConfig": { "additionalProperties": false, @@ -34,7 +35,8 @@ "Value" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "This configuration determines which HTTP requests are sent to the staging distribution. If the HTTP request contains a header and value that matches what you specify here, the request is sent to the staging distribution. Otherwise the request is sent to the primary distribution.", + "markdownDescription": "This configuration determines which HTTP requests are sent to the staging distribution. If the HTTP request contains a header and value that matches what you specify here, the request is sent to the staging distribution. Otherwise the request is sent to the primary distribution.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SingleWeightPolicyConfig": { "additionalProperties": false, @@ -54,7 +56,8 @@ "Weight" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "This configuration determines the percentage of HTTP requests that are sent to the staging distribution.", + "markdownDescription": "This configuration determines the percentage of HTTP requests that are sent to the staging distribution.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "StagingDistributionDnsNames": { "insertionOrder": true, @@ -65,10 +68,13 @@ "minItems": 1, "type": "array", "uniqueItems": true, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "description": "The CloudFront domain name of the staging distribution. For example: ``d111111abcdef8.cloudfront.net``.", + "markdownDescription": "The CloudFront domain name of the staging distribution. For example: ``d111111abcdef8.cloudfront.net``.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, "TrafficConfig": { - "$ref": "#/definitions/TrafficConfig" + "$ref": "#/definitions/TrafficConfig", + "description": "Contains the parameters for routing production traffic from your primary to staging distributions.", + "markdownDescription": "Contains the parameters for routing production traffic from your primary to staging distributions.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Type": { "enum": [ @@ -76,7 +82,8 @@ "SingleHeader" ], "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SingleWeight | SingleHeader \nUpdate requires: No interruption" + "description": "The type of traffic configuration.", + "markdownDescription": "The type of traffic configuration.\n\n---\n\nRequired: No \nType: String \nAllowed Values: SingleWeight | SingleHeader \nUpdate requires: No interruption" } }, "required": [ @@ -84,7 +91,8 @@ "StagingDistributionDnsNames" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Contains the configuration for a continuous deployment policy.", + "markdownDescription": "Contains the configuration for a continuous deployment policy.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SessionStickinessConfig": { "additionalProperties": false, @@ -94,14 +102,16 @@ "minimum": 300, "multipleOf": 1, "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "description": "The amount of time after which you want sessions to cease if no requests are received. Allowed values are 300\u20133600 seconds (5\u201360 minutes).", + "markdownDescription": "The amount of time after which you want sessions to cease if no requests are received. Allowed values are 300\u20133600 seconds (5\u201360 minutes).\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, "MaximumTTL": { "maximum": 3600, "minimum": 300, "multipleOf": 1, "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "description": "The maximum amount of time to consider requests from the viewer as being part of the same session. Allowed values are 300\u20133600 seconds (5\u201360 minutes).", + "markdownDescription": "The maximum amount of time to consider requests from the viewer as being part of the same session. Allowed values are 300\u20133600 seconds (5\u201360 minutes).\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" } }, "required": [ @@ -109,7 +119,8 @@ "MaximumTTL" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Session stickiness provides the ability to define multiple requests from a single viewer as a single session. This prevents the potentially inconsistent experience of sending some of a given user's requests to your staging distribution, while others are sent to your primary distribution. Define the session duration using TTL values.", + "markdownDescription": "Session stickiness provides the ability to define multiple requests from a single viewer as a single session. This prevents the potentially inconsistent experience of sending some of a given user's requests to your staging distribution, while others are sent to your primary distribution. Define the session duration using TTL values.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SingleHeaderConfig": { "additionalProperties": false, @@ -118,13 +129,15 @@ "maxLength": 256, "minLength": 1, "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "description": "The request header name that you want CloudFront to send to your staging distribution. The header must contain the prefix ``aws-cf-cd-``.", + "markdownDescription": "The request header name that you want CloudFront to send to your staging distribution. The header must contain the prefix ``aws-cf-cd-``.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" }, "Value": { "maxLength": 1783, "minLength": 1, "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1783 \nUpdate requires: No interruption" + "description": "The request header value.", + "markdownDescription": "The request header value.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1783 \nUpdate requires: No interruption" } }, "required": [ @@ -132,36 +145,45 @@ "Value" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Determines which HTTP requests are sent to the staging distribution.", + "markdownDescription": "Determines which HTTP requests are sent to the staging distribution.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SingleWeightConfig": { "additionalProperties": false, "properties": { "SessionStickinessConfig": { - "$ref": "#/definitions/SessionStickinessConfig" + "$ref": "#/definitions/SessionStickinessConfig", + "description": "Session stickiness provides the ability to define multiple requests from a single viewer as a single session. This prevents the potentially inconsistent experience of sending some of a given user's requests to your staging distribution, while others are sent to your primary distribution. Define the session duration using TTL values.", + "markdownDescription": "Session stickiness provides the ability to define multiple requests from a single viewer as a single session. This prevents the potentially inconsistent experience of sending some of a given user's requests to your staging distribution, while others are sent to your primary distribution. Define the session duration using TTL values.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Weight": { "maximum": 1, "minimum": 0, "multipleOf": 0.01, "type": "number", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "description": "The percentage of traffic to send to a staging distribution, expressed as a decimal number between 0 and 0.15. For example, a value of 0.10 means 10% of traffic is sent to the staging distribution.", + "markdownDescription": "The percentage of traffic to send to a staging distribution, expressed as a decimal number between 0 and 0.15. For example, a value of 0.10 means 10% of traffic is sent to the staging distribution.\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" } }, "required": [ "Weight" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "This configuration determines the percentage of HTTP requests that are sent to the staging distribution.", + "markdownDescription": "This configuration determines the percentage of HTTP requests that are sent to the staging distribution.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "TrafficConfig": { "additionalProperties": false, "properties": { "SingleHeaderConfig": { - "$ref": "#/definitions/SingleHeaderConfig" + "$ref": "#/definitions/SingleHeaderConfig", + "description": "Determines which HTTP requests are sent to the staging distribution.", + "markdownDescription": "Determines which HTTP requests are sent to the staging distribution.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "SingleWeightConfig": { - "$ref": "#/definitions/SingleWeightConfig" + "$ref": "#/definitions/SingleWeightConfig", + "description": "Contains the percentage of traffic to send to the staging distribution.", + "markdownDescription": "Contains the percentage of traffic to send to the staging distribution.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Type": { "enum": [ @@ -169,17 +191,19 @@ "SingleHeader" ], "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: SingleWeight | SingleHeader \nUpdate requires: No interruption" + "description": "The type of traffic configuration.", + "markdownDescription": "The type of traffic configuration.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: SingleWeight | SingleHeader \nUpdate requires: No interruption" } }, "required": [ "Type" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "The traffic configuration of your continuous deployment.", + "markdownDescription": "The traffic configuration of your continuous deployment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "description": "Resource Type definition for AWS::CloudFront::ContinuousDeploymentPolicy", + "description": "Creates a continuous deployment policy that routes a subset of production traffic from a primary distribution to a staging distribution.\n After you create and update a staging distribution, you can use a continuous deployment policy to incrementally move traffic to the staging distribution. This enables you to test changes to a distribution's configuration before moving all of your production traffic to the new configuration.\n For more information, see [Using CloudFront continuous deployment to safely test CDN configuration changes](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/continuous-deployment.html) in the *Amazon CloudFront Developer Guide*.", "handlers": { "create": { "permissions": [ @@ -214,7 +238,9 @@ ], "properties": { "ContinuousDeploymentPolicyConfig": { - "$ref": "#/definitions/ContinuousDeploymentPolicyConfig" + "$ref": "#/definitions/ContinuousDeploymentPolicyConfig", + "description": "Contains the configuration for a continuous deployment policy.", + "markdownDescription": "Contains the configuration for a continuous deployment policy.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "readOnlyProperties": [ @@ -234,10 +260,12 @@ "attributes": { "Id": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "LastModifiedTime": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } diff --git a/server/schema/resources/aws-cloudfront-distribution.json b/server/schema/resources/aws-cloudfront-distribution.json index 944457f6..e9b8531f 100644 --- a/server/schema/resources/aws-cloudfront-distribution.json +++ b/server/schema/resources/aws-cloudfront-distribution.json @@ -69,6 +69,11 @@ "description": "A list of CloudFront functions that are associated with this cache behavior. CloudFront functions must be published to the ``LIVE`` stage to associate them with a cache behavior.", "markdownDescription": "A list of CloudFront functions that are associated with this cache behavior. CloudFront functions must be published to the ``LIVE`` stage to associate them with a cache behavior.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "GrpcConfig": { + "$ref": "#/definitions/GrpcConfig", + "description": "The gRPC configuration for your cache behavior.", + "markdownDescription": "The gRPC configuration for your cache behavior.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "LambdaFunctionAssociations": { "items": { "$ref": "#/definitions/LambdaFunctionAssociation" @@ -153,8 +158,8 @@ "ViewerProtocolPolicy" ], "type": "object", - "description": "A complex type that describes how CloudFront processes requests.\n You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to serve objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin is never used.\n For the current quota (formerly known as limit) on the number of cache behaviors that you can add to a distribution, see [Quotas](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) in the *Amazon CloudFront Developer Guide*.\n If you don't want to specify any cache behaviors, include only an empty ``CacheBehaviors`` element. Don't include an empty ``CacheBehavior`` element because this is invalid.\n To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty ``CacheBehaviors`` element.\n To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.\n For more information about cache behaviors, see [Cache Behavior Settings](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior) in the *Amazon CloudFront Developer Guide*.", - "markdownDescription": "A complex type that describes how CloudFront processes requests.\n You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to serve objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin is never used.\n For the current quota (formerly known as limit) on the number of cache behaviors that you can add to a distribution, see [Quotas](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) in the *Amazon CloudFront Developer Guide*.\n If you don't want to specify any cache behaviors, include only an empty ``CacheBehaviors`` element. Don't include an empty ``CacheBehavior`` element because this is invalid.\n To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty ``CacheBehaviors`` element.\n To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.\n For more information about cache behaviors, see [Cache Behavior Settings](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior) in the *Amazon CloudFront Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A complex type that describes how CloudFront processes requests.\n You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to serve objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin is never used.\n For the current quota (formerly known as limit) on the number of cache behaviors that you can add to a distribution, see [Quotas](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) in the *Amazon CloudFront Developer Guide*.\n If you don't want to specify any cache behaviors, include only an empty ``CacheBehaviors`` element. Don't specify an empty individual ``CacheBehavior`` element, because this is invalid. For more information, see [CacheBehaviors](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CacheBehaviors.html). \n To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty ``CacheBehaviors`` element.\n To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.\n For more information about cache behaviors, see [Cache Behavior Settings](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior) in the *Amazon CloudFront Developer Guide*.", + "markdownDescription": "A complex type that describes how CloudFront processes requests.\n You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to serve objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin is never used.\n For the current quota (formerly known as limit) on the number of cache behaviors that you can add to a distribution, see [Quotas](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) in the *Amazon CloudFront Developer Guide*.\n If you don't want to specify any cache behaviors, include only an empty ``CacheBehaviors`` element. Don't specify an empty individual ``CacheBehavior`` element, because this is invalid. For more information, see [CacheBehaviors](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CacheBehaviors.html). \n To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty ``CacheBehaviors`` element.\n To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.\n For more information about cache behaviors, see [Cache Behavior Settings](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior) in the *Amazon CloudFront Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Cookies": { "additionalProperties": false, @@ -232,8 +237,8 @@ "OriginKeepaliveTimeout": { "default": 5, "type": "integer", - "description": "Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 5 seconds.\n For more information, see [Origin Keep-alive Timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout) in the *Amazon CloudFront Developer Guide*.", - "markdownDescription": "Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 5 seconds.\n For more information, see [Origin Keep-alive Timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout) in the *Amazon CloudFront Developer Guide*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "description": "Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 5 seconds.\n For more information, see [Keep-alive timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout) in the *Amazon CloudFront Developer Guide*.", + "markdownDescription": "Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 5 seconds.\n For more information, see [Keep-alive timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout) in the *Amazon CloudFront Developer Guide*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "OriginProtocolPolicy": { "type": "string", @@ -243,8 +248,8 @@ "OriginReadTimeout": { "default": 30, "type": "integer", - "description": "Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout*. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 30 seconds.\n For more information, see [Origin Response Timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide*.", - "markdownDescription": "Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout*. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 30 seconds.\n For more information, see [Origin Response Timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "description": "Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout*. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 30 seconds.\n For more information, see [Response timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide*.", + "markdownDescription": "Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout*. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 30 seconds.\n For more information, see [Response timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "OriginSSLProtocols": { "default": [ @@ -334,8 +339,13 @@ }, "type": "array", "uniqueItems": false, - "description": "A list of CloudFront functions that are associated with this cache behavior. CloudFront functions must be published to the ``LIVE`` stage to associate them with a cache behavior.", - "markdownDescription": "A list of CloudFront functions that are associated with this cache behavior. CloudFront functions must be published to the ``LIVE`` stage to associate them with a cache behavior.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "A list of CloudFront functions that are associated with this cache behavior. Your functions must be published to the ``LIVE`` stage to associate them with a cache behavior.", + "markdownDescription": "A list of CloudFront functions that are associated with this cache behavior. Your functions must be published to the ``LIVE`` stage to associate them with a cache behavior.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "GrpcConfig": { + "$ref": "#/definitions/GrpcConfig", + "description": "The gRPC configuration for your cache behavior.", + "markdownDescription": "The gRPC configuration for your cache behavior.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "LambdaFunctionAssociations": { "items": { @@ -434,6 +444,11 @@ "description": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.", "markdownDescription": "A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "AnycastIpListId": { + "type": "string", + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "CNAMEs": { "items": { "type": "string", @@ -441,8 +456,8 @@ }, "type": "array", "uniqueItems": false, - "description": "", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "An alias for the CF distribution's domain name.\n This property is legacy. We recommend that you use [Aliases](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-aliases) instead.", + "markdownDescription": "An alias for the CF distribution's domain name.\n This property is legacy. We recommend that you use [Aliases](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-aliases) instead.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "CacheBehaviors": { "items": { @@ -475,8 +490,8 @@ }, "CustomOrigin": { "$ref": "#/definitions/LegacyCustomOrigin", - "description": "", - "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "description": "The user-defined HTTP server that serves as the origin for content that CF distributes.\n This property is legacy. We recommend that you use [Origin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html) instead.", + "markdownDescription": "The user-defined HTTP server that serves as the origin for content that CF distributes.\n This property is legacy. We recommend that you use [Origin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html) instead.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "DefaultCacheBehavior": { "$ref": "#/definitions/DefaultCacheBehavior", @@ -486,8 +501,8 @@ "DefaultRootObject": { "default": "", "type": "string", - "description": "The object that you want CloudFront to request from your origin (for example, ``index.html``) when a viewer requests the root URL for your distribution (``https://www.example.com``) instead of an object in your distribution (``https://www.example.com/product-description.html``). Specifying a default root object avoids exposing the contents of your distribution.\n Specify only the object name, for example, ``index.html``. Don't add a ``/`` before the object name.\n If you don't want to specify a default root object when you create a distribution, include an empty ``DefaultRootObject`` element.\n To delete the default root object from an existing distribution, update the distribution configuration and include an empty ``DefaultRootObject`` element.\n To replace the default root object, update the distribution configuration and specify the new object.\n For more information about the default root object, see [Creating a Default Root Object](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html) in the *Amazon CloudFront Developer Guide*.", - "markdownDescription": "The object that you want CloudFront to request from your origin (for example, ``index.html``) when a viewer requests the root URL for your distribution (``https://www.example.com``) instead of an object in your distribution (``https://www.example.com/product-description.html``). Specifying a default root object avoids exposing the contents of your distribution.\n Specify only the object name, for example, ``index.html``. Don't add a ``/`` before the object name.\n If you don't want to specify a default root object when you create a distribution, include an empty ``DefaultRootObject`` element.\n To delete the default root object from an existing distribution, update the distribution configuration and include an empty ``DefaultRootObject`` element.\n To replace the default root object, update the distribution configuration and specify the new object.\n For more information about the default root object, see [Creating a Default Root Object](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html) in the *Amazon CloudFront Developer Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "When a viewer requests the root URL for your distribution, the default root object is the object that you want CloudFront to request from your origin. For example, if your root URL is ``https://www.example.com``, you can specify CloudFront to return the ``index.html`` file as the default root object. You can specify a default root object so that viewers see a specific file or object, instead of another object in your distribution (for example, ``https://www.example.com/product-description.html``). A default root object avoids exposing the contents of your distribution.\n You can specify the object name or a path to the object name (for example, ``index.html`` or ``exampleFolderName/index.html``). Your string can't begin with a forward slash (``/``). Only specify the object name or the path to the object.\n If you don't want to specify a default root object when you create a distribution, include an empty ``DefaultRootObject`` element.\n To delete the default root object from an existing distribution, update the distribution configuration and include an empty ``DefaultRootObject`` element.\n To replace the default root object, update the distribution configuration and specify the new object.\n For more information about the default root object, see [Specify a default root object](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html) in the *Amazon CloudFront Developer Guide*.", + "markdownDescription": "When a viewer requests the root URL for your distribution, the default root object is the object that you want CloudFront to request from your origin. For example, if your root URL is ``https://www.example.com``, you can specify CloudFront to return the ``index.html`` file as the default root object. You can specify a default root object so that viewers see a specific file or object, instead of another object in your distribution (for example, ``https://www.example.com/product-description.html``). A default root object avoids exposing the contents of your distribution.\n You can specify the object name or a path to the object name (for example, ``index.html`` or ``exampleFolderName/index.html``). Your string can't begin with a forward slash (``/``). Only specify the object name or the path to the object.\n If you don't want to specify a default root object when you create a distribution, include an empty ``DefaultRootObject`` element.\n To delete the default root object from an existing distribution, update the distribution configuration and include an empty ``DefaultRootObject`` element.\n To replace the default root object, update the distribution configuration and specify the new object.\n For more information about the default root object, see [Specify a default root object](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html) in the *Amazon CloudFront Developer Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Enabled": { "type": "boolean", @@ -497,8 +512,8 @@ "HttpVersion": { "default": "http1.1", "type": "string", - "description": "(Optional) Specify the maximum HTTP version(s) that you want viewers to use to communicate with CF. The default value for new distributions is ``http1.1``.\n For viewers and CF to use HTTP/2, viewers must support TLSv1.2 or later, and must support Server Name Indication (SNI).\n For viewers and CF to use HTTP/3, viewers must support TLSv1.3 and Server Name Indication (SNI). CF supports HTTP/3 connection migration to allow the viewer to switch networks without losing connection. For more information about connection migration, see [Connection Migration](https://docs.aws.amazon.com/https://www.rfc-editor.org/rfc/rfc9000.html#name-connection-migration) at RFC 9000. For more information about supported TLSv1.3 ciphers, see [Supported protocols and ciphers between viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html).", - "markdownDescription": "(Optional) Specify the maximum HTTP version(s) that you want viewers to use to communicate with CF. The default value for new distributions is ``http1.1``.\n For viewers and CF to use HTTP/2, viewers must support TLSv1.2 or later, and must support Server Name Indication (SNI).\n For viewers and CF to use HTTP/3, viewers must support TLSv1.3 and Server Name Indication (SNI). CF supports HTTP/3 connection migration to allow the viewer to switch networks without losing connection. For more information about connection migration, see [Connection Migration](https://docs.aws.amazon.com/https://www.rfc-editor.org/rfc/rfc9000.html#name-connection-migration) at RFC 9000. For more information about supported TLSv1.3 ciphers, see [Supported protocols and ciphers between viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "(Optional) Specify the HTTP version(s) that you want viewers to use to communicate with CF. The default value for new distributions is ``http1.1``.\n For viewers and CF to use HTTP/2, viewers must support TLSv1.2 or later, and must support Server Name Indication (SNI).\n For viewers and CF to use HTTP/3, viewers must support TLSv1.3 and Server Name Indication (SNI). CF supports HTTP/3 connection migration to allow the viewer to switch networks without losing connection. For more information about connection migration, see [Connection Migration](https://docs.aws.amazon.com/https://www.rfc-editor.org/rfc/rfc9000.html#name-connection-migration) at RFC 9000. For more information about supported TLSv1.3 ciphers, see [Supported protocols and ciphers between viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html).", + "markdownDescription": "(Optional) Specify the HTTP version(s) that you want viewers to use to communicate with CF. The default value for new distributions is ``http1.1``.\n For viewers and CF to use HTTP/2, viewers must support TLSv1.2 or later, and must support Server Name Indication (SNI).\n For viewers and CF to use HTTP/3, viewers must support TLSv1.3 and Server Name Indication (SNI). CF supports HTTP/3 connection migration to allow the viewer to switch networks without losing connection. For more information about connection migration, see [Connection Migration](https://docs.aws.amazon.com/https://www.rfc-editor.org/rfc/rfc9000.html#name-connection-migration) at RFC 9000. For more information about supported TLSv1.3 ciphers, see [Supported protocols and ciphers between viewers and CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "IPV6Enabled": { "type": "boolean", @@ -512,8 +527,8 @@ }, "OriginGroups": { "$ref": "#/definitions/OriginGroups", - "description": "A complex type that contains information about origin groups for this distribution.", - "markdownDescription": "A complex type that contains information about origin groups for this distribution.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "description": "A complex type that contains information about origin groups for this distribution.\n Specify a value for either the ``Origins`` or ``OriginGroups`` property.", + "markdownDescription": "A complex type that contains information about origin groups for this distribution.\n Specify a value for either the ``Origins`` or ``OriginGroups`` property.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Origins": { "items": { @@ -522,8 +537,8 @@ "type": "array", "insertionOrder": false, "uniqueItems": false, - "description": "A complex type that contains information about origins for this distribution.", - "markdownDescription": "A complex type that contains information about origins for this distribution.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "A complex type that contains information about origins for this distribution.\n Specify a value for either the ``Origins`` or ``OriginGroups`` property.", + "markdownDescription": "A complex type that contains information about origins for this distribution.\n Specify a value for either the ``Origins`` or ``OriginGroups`` property.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "PriceClass": { "default": "PriceClass_All", @@ -543,8 +558,8 @@ }, "S3Origin": { "$ref": "#/definitions/LegacyS3Origin", - "description": "", - "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "description": "The origin as an S3 bucket.\n This property is legacy. We recommend that you use [Origin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html) instead.", + "markdownDescription": "The origin as an S3 bucket.\n This property is legacy. We recommend that you use [Origin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html) instead.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Staging": { "type": "boolean", @@ -562,8 +577,8 @@ "WebACLId": { "default": "", "type": "string", - "description": "A unique identifier that specifies the WAF web ACL, if any, to associate with this distribution. To specify a web ACL created using the latest version of WAF, use the ACL ARN, for example ``arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a``. To specify a web ACL created using WAF Classic, use the ACL ID, for example ``473e64fd-f30b-4765-81a0-62ad96dd167a``.\n WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that are forwarded to CloudFront, and lets you control access to your content. Based on conditions that you specify, such as the IP addresses that requests originate from or the values of query strings, CloudFront responds to requests either with the requested content or with an HTTP 403 status code (Forbidden). You can also configure CloudFront to return a custom error page when a request is blocked. For more information about WAF, see the [Developer Guide](https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html).", - "markdownDescription": "A unique identifier that specifies the WAF web ACL, if any, to associate with this distribution. To specify a web ACL created using the latest version of WAF, use the ACL ARN, for example ``arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a``. To specify a web ACL created using WAF Classic, use the ACL ID, for example ``473e64fd-f30b-4765-81a0-62ad96dd167a``.\n WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that are forwarded to CloudFront, and lets you control access to your content. Based on conditions that you specify, such as the IP addresses that requests originate from or the values of query strings, CloudFront responds to requests either with the requested content or with an HTTP 403 status code (Forbidden). You can also configure CloudFront to return a custom error page when a request is blocked. For more information about WAF, see the [Developer Guide](https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A unique identifier that specifies the WAF web ACL, if any, to associate with this distribution. To specify a web ACL created using the latest version of WAF, use the ACL ARN, for example ``arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111``. To specify a web ACL created using WAF Classic, use the ACL ID, for example ``a1b2c3d4-5678-90ab-cdef-EXAMPLE11111``.\n WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that are forwarded to CloudFront, and lets you control access to your content. Based on conditions that you specify, such as the IP addresses that requests originate from or the values of query strings, CloudFront responds to requests either with the requested content or with an HTTP 403 status code (Forbidden). You can also configure CloudFront to return a custom error page when a request is blocked. For more information about WAF, see the [Developer Guide](https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html).", + "markdownDescription": "A unique identifier that specifies the WAF web ACL, if any, to associate with this distribution. To specify a web ACL created using the latest version of WAF, use the ACL ARN, for example ``arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111``. To specify a web ACL created using WAF Classic, use the ACL ID, for example ``a1b2c3d4-5678-90ab-cdef-EXAMPLE11111``.\n WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that are forwarded to CloudFront, and lets you control access to your content. Based on conditions that you specify, such as the IP addresses that requests originate from or the values of query strings, CloudFront responds to requests either with the requested content or with an HTTP 403 status code (Forbidden). You can also configure CloudFront to return a custom error page when a request is blocked. For more information about WAF, see the [Developer Guide](https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -662,6 +677,22 @@ "description": "A complex type that controls the countries in which your content is distributed. CF determines the location of your users using ``MaxMind`` GeoIP databases. To disable geo restriction, remove the [Restrictions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-restrictions) property from your stack template.", "markdownDescription": "A complex type that controls the countries in which your content is distributed. CF determines the location of your users using ``MaxMind`` GeoIP databases. To disable geo restriction, remove the [Restrictions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-restrictions) property from your stack template.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GrpcConfig": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean", + "description": "Enables your CloudFront distribution to receive gRPC requests and to proxy them directly to your origins.", + "markdownDescription": "Enables your CloudFront distribution to receive gRPC requests and to proxy them directly to your origins.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + } + }, + "required": [ + "Enabled" + ], + "type": "object", + "description": "Amazon CloudFront supports gRPC, an open-source remote procedure call (RPC) framework built on HTTP/2. gRPC offers bi-directional streaming and binary protocol that buffers payloads, making it suitable for applications that require low latency communications.\n To enable your distribution to handle gRPC requests, you must include HTTP/2 as one of the supported ``HTTP`` versions and allow ``HTTP`` methods, including ``POST``.\n For more information, see [Using gRPC with CloudFront distributions](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-using-grpc.html) in the *Amazon CloudFront Developer Guide*.", + "markdownDescription": "Amazon CloudFront supports gRPC, an open-source remote procedure call (RPC) framework built on HTTP/2. gRPC offers bi-directional streaming and binary protocol that buffers payloads, making it suitable for applications that require low latency communications.\n To enable your distribution to handle gRPC requests, you must include HTTP/2 as one of the supported ``HTTP`` versions and allow ``HTTP`` methods, including ``POST``.\n For more information, see [Using gRPC with CloudFront distributions](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-using-grpc.html) in the *Amazon CloudFront Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "LambdaFunctionAssociation": { "additionalProperties": false, "properties": { @@ -690,25 +721,25 @@ "properties": { "DNSName": { "type": "string", - "description": "", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The domain name assigned to your CF distribution.", + "markdownDescription": "The domain name assigned to your CF distribution.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "HTTPPort": { "default": 80, "type": "integer", - "description": "", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "description": "The HTTP port that CF uses to connect to the origin. Specify the HTTP port that the origin listens on.", + "markdownDescription": "The HTTP port that CF uses to connect to the origin. Specify the HTTP port that the origin listens on.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "HTTPSPort": { "default": 443, "type": "integer", - "description": "", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "description": "The HTTPS port that CF uses to connect to the origin. Specify the HTTPS port that the origin listens on.", + "markdownDescription": "The HTTPS port that CF uses to connect to the origin. Specify the HTTPS port that the origin listens on.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "OriginProtocolPolicy": { "type": "string", - "description": "", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "Specifies the protocol (HTTP or HTTPS) that CF uses to connect to the origin.", + "markdownDescription": "Specifies the protocol (HTTP or HTTPS) that CF uses to connect to the origin.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "OriginSSLProtocols": { "items": { @@ -717,8 +748,8 @@ }, "type": "array", "uniqueItems": false, - "description": "", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "description": "The minimum SSL/TLS protocol version that CF uses when communicating with your origin server over HTTPs.\n For more information, see [Minimum Origin SSL Protocol](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols) in the *Developer Guide*.", + "markdownDescription": "The minimum SSL/TLS protocol version that CF uses when communicating with your origin server over HTTPs.\n For more information, see [Minimum Origin SSL Protocol](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols) in the *Developer Guide*.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ @@ -727,38 +758,38 @@ "OriginSSLProtocols" ], "type": "object", - "description": "", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A custom origin. A custom origin is any origin that is *not* an S3 bucket, with one exception. An S3 bucket that is [configured with static website hosting](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) *is* a custom origin.\n This property is legacy. We recommend that you use [Origin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html) instead.", + "markdownDescription": "A custom origin. A custom origin is any origin that is *not* an S3 bucket, with one exception. An S3 bucket that is [configured with static website hosting](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) *is* a custom origin.\n This property is legacy. We recommend that you use [Origin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html) instead.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "LegacyS3Origin": { "additionalProperties": false, "properties": { "DNSName": { "type": "string", - "description": "", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The domain name assigned to your CF distribution.", + "markdownDescription": "The domain name assigned to your CF distribution.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "OriginAccessIdentity": { "default": "", "type": "string", - "description": "", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The CF origin access identity to associate with the distribution. Use an origin access identity to configure the distribution so that end users can only access objects in an S3 through CF.\n This property is legacy. We recommend that you use [OriginAccessControl](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.html) instead.", + "markdownDescription": "The CF origin access identity to associate with the distribution. Use an origin access identity to configure the distribution so that end users can only access objects in an S3 through CF.\n This property is legacy. We recommend that you use [OriginAccessControl](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.html) instead.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ "DNSName" ], "type": "object", - "description": "", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "The origin as an S3 bucket. \n This property is legacy. We recommend that you use [Origin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html) instead.", + "markdownDescription": "The origin as an S3 bucket. \n This property is legacy. We recommend that you use [Origin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html) instead.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Logging": { "additionalProperties": false, "properties": { "Bucket": { "type": "string", - "description": "The Amazon S3 bucket to store the access logs in, for example, ``myawslogbucket.s3.amazonaws.com``.", - "markdownDescription": "The Amazon S3 bucket to store the access logs in, for example, ``myawslogbucket.s3.amazonaws.com``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The Amazon S3 bucket to store the access logs in, for example, ``amzn-s3-demo-bucket.s3.amazonaws.com``.", + "markdownDescription": "The Amazon S3 bucket to store the access logs in, for example, ``amzn-s3-demo-bucket.s3.amazonaws.com``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "IncludeCookies": { "default": false, @@ -773,12 +804,9 @@ "markdownDescription": "An optional string that you want CloudFront to prefix to the access log ``filenames`` for this distribution, for example, ``myprefix/``. If you want to enable logging, but you don't want to specify a prefix, you still must include an empty ``Prefix`` element in the ``Logging`` element.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "required": [ - "Bucket" - ], "type": "object", - "description": "A complex type that controls whether access logs are written for the distribution.", - "markdownDescription": "A complex type that controls whether access logs are written for the distribution.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A complex type that specifies whether access logs are written for the distribution.\n If you already enabled standard logging (legacy) and you want to enable standard logging (v2) to send your access logs to Amazon S3, we recommend that you specify a *different* Amazon S3 bucket or use a *separate path* in the same bucket (for example, use a log prefix or partitioning). This helps you keep track of which log files are associated with which logging subscription and prevents log files from overwriting each other. For more information, see [Standard logging (access logs)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) in the *Amazon CloudFront Developer Guide*.", + "markdownDescription": "A complex type that specifies whether access logs are written for the distribution.\n If you already enabled standard logging (legacy) and you want to enable standard logging (v2) to send your access logs to Amazon S3, we recommend that you specify a *different* Amazon S3 bucket or use a *separate path* in the same bucket (for example, use a log prefix or partitioning). This helps you keep track of which log files are associated with which logging subscription and prevents log files from overwriting each other. For more information, see [Standard logging (access logs)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) in the *Amazon CloudFront Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Origin": { "additionalProperties": false, @@ -886,6 +914,11 @@ "$ref": "#/definitions/OriginGroupMembers", "description": "A complex type that contains information about the origins in an origin group.", "markdownDescription": "A complex type that contains information about the origins in an origin group.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, + "SelectionCriteria": { + "$ref": "#/definitions/OriginGroupSelectionCriteria", + "description": "The selection criteria for the origin group. For more information, see [Create an origin group](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html#concept_origin_groups.creating) in the *Amazon CloudFront Developer Guide*.", + "markdownDescription": "The selection criteria for the origin group. For more information, see [Create an origin group](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html#concept_origin_groups.creating) in the *Amazon CloudFront Developer Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ @@ -894,8 +927,8 @@ "Members" ], "type": "object", - "description": "An origin group includes two origins (a primary origin and a second origin to failover to) and a failover criteria that you specify. You create an origin group to support origin failover in CloudFront. When you create or update a distribution, you can specify the origin group instead of a single origin, and CloudFront will failover from the primary origin to the second origin under the failover conditions that you've chosen.", - "markdownDescription": "An origin group includes two origins (a primary origin and a second origin to failover to) and a failover criteria that you specify. You create an origin group to support origin failover in CloudFront. When you create or update a distribution, you can specify the origin group instead of a single origin, and CloudFront will failover from the primary origin to the second origin under the failover conditions that you've chosen.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "An origin group includes two origins (a primary origin and a secondary origin to failover to) and a failover criteria that you specify. You create an origin group to support origin failover in CloudFront. When you create or update a distribution, you can specify the origin group instead of a single origin, and CloudFront will failover from the primary origin to the secondary origin under the failover conditions that you've chosen.\n Optionally, you can choose selection criteria for your origin group to specify how your origins are selected when your distribution routes viewer requests.", + "markdownDescription": "An origin group includes two origins (a primary origin and a secondary origin to failover to) and a failover criteria that you specify. You create an origin group to support origin failover in CloudFront. When you create or update a distribution, you can specify the origin group instead of a single origin, and CloudFront will failover from the primary origin to the secondary origin under the failover conditions that you've chosen.\n Optionally, you can choose selection criteria for your origin group to specify how your origins are selected when your distribution routes viewer requests.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "OriginGroupFailoverCriteria": { "additionalProperties": false, @@ -955,6 +988,14 @@ "description": "A complex data type for the origins included in an origin group.", "markdownDescription": "A complex data type for the origins included in an origin group.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "OriginGroupSelectionCriteria": { + "enum": [ + "default", + "media-quality-based" + ], + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: default | media-quality-based \nUpdate requires: No interruption" + }, "OriginGroups": { "additionalProperties": false, "properties": { @@ -1020,8 +1061,8 @@ "OriginAccessIdentity": { "default": "", "type": "string", - "description": "The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that viewers can *only* access objects in an Amazon S3 bucket through CloudFront. The format of the value is:\n origin-access-identity/cloudfront/*ID-of-origin-access-identity* \n where ``ID-of-origin-access-identity`` is the value that CloudFront returned in the ``ID`` element when you created the origin access identity.\n If you want viewers to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty ``OriginAccessIdentity`` element.\n To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty ``OriginAccessIdentity`` element.\n To replace the origin access identity, update the distribution configuration and specify the new origin access identity.\n For more information about the origin access identity, see [Serving Private Content through CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.", - "markdownDescription": "The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that viewers can *only* access objects in an Amazon S3 bucket through CloudFront. The format of the value is:\n origin-access-identity/cloudfront/*ID-of-origin-access-identity* \n where ``ID-of-origin-access-identity`` is the value that CloudFront returned in the ``ID`` element when you created the origin access identity.\n If you want viewers to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty ``OriginAccessIdentity`` element.\n To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty ``OriginAccessIdentity`` element.\n To replace the origin access identity, update the distribution configuration and specify the new origin access identity.\n For more information about the origin access identity, see [Serving Private Content through CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "If you're using origin access control (OAC) instead of origin access identity, specify an empty ``OriginAccessIdentity`` element. For more information, see [Restricting access to an](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-origin.html) in the *Amazon CloudFront Developer Guide*.\n The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that viewers can *only* access objects in an Amazon S3 bucket through CloudFront. The format of the value is:\n ``origin-access-identity/cloudfront/ID-of-origin-access-identity`` \n The ``ID-of-origin-access-identity`` is the value that CloudFront returned in the ``ID`` element when you created the origin access identity.\n If you want viewers to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty ``OriginAccessIdentity`` element.\n To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty ``OriginAccessIdentity`` element.\n To replace the origin access identity, update the distribution configuration and specify the new origin access identity.\n For more information about the origin access identity, see [Serving Private Content through CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.", + "markdownDescription": "If you're using origin access control (OAC) instead of origin access identity, specify an empty ``OriginAccessIdentity`` element. For more information, see [Restricting access to an](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-origin.html) in the *Amazon CloudFront Developer Guide*.\n The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that viewers can *only* access objects in an Amazon S3 bucket through CloudFront. The format of the value is:\n ``origin-access-identity/cloudfront/ID-of-origin-access-identity`` \n The ``ID-of-origin-access-identity`` is the value that CloudFront returned in the ``ID`` element when you created the origin access identity.\n If you want viewers to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty ``OriginAccessIdentity`` element.\n To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty ``OriginAccessIdentity`` element.\n To replace the origin access identity, update the distribution configuration and specify the new origin access identity.\n For more information about the origin access identity, see [Serving Private Content through CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the *Amazon CloudFront Developer Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "type": "object", diff --git a/server/schema/resources/aws-cloudfront-function.json b/server/schema/resources/aws-cloudfront-function.json index 2aeb6058..d7b7260d 100644 --- a/server/schema/resources/aws-cloudfront-function.json +++ b/server/schema/resources/aws-cloudfront-function.json @@ -6,11 +6,13 @@ "properties": { "Comment": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "A comment to describe the function.", + "markdownDescription": "A comment to describe the function.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Runtime": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The function's runtime environment version.", + "markdownDescription": "The function's runtime environment version.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "KeyValueStoreAssociations": { "items": { @@ -18,7 +20,8 @@ }, "type": "array", "uniqueItems": true, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "The configuration for the key value store associations.", + "markdownDescription": "The configuration for the key value store associations.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ @@ -26,35 +29,40 @@ "Runtime" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Contains configuration information about a CloudFront function.", + "markdownDescription": "Contains configuration information about a CloudFront function.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "FunctionMetadata": { "additionalProperties": false, "properties": { "FunctionARN": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The Amazon Resource Name (ARN) of the function. The ARN uniquely identifies the function.", + "markdownDescription": "The Amazon Resource Name (ARN) of the function. The ARN uniquely identifies the function.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Contains metadata about a CloudFront function.", + "markdownDescription": "Contains metadata about a CloudFront function.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "KeyValueStoreAssociation": { "additionalProperties": false, "properties": { "KeyValueStoreARN": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The Amazon Resource Name (ARN) of the key value store association.", + "markdownDescription": "The Amazon Resource Name (ARN) of the key value store association.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "KeyValueStoreARN" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "The key value store association.", + "markdownDescription": "The key value store association.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "description": "Resource Type definition for AWS::CloudFront::Function", + "description": "Creates a CF function.\n To create a function, you provide the function code and some configuration information about the function. The response contains an Amazon Resource Name (ARN) that uniquely identifies the function, and the function\u2019s stage.\n By default, when you create a function, it\u2019s in the ``DEVELOPMENT`` stage. In this stage, you can [test the function](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/test-function.html) in the CF console (or with ``TestFunction`` in the CF API).\n When you\u2019re ready to use your function with a CF distribution, publish the function to the ``LIVE`` stage. You can do this in the CF console, with ``PublishFunction`` in the CF API, or by updating the ``AWS::CloudFront::Function`` resource with the ``AutoPublish`` property set to ``true``. When the function is published to the ``LIVE`` stage, you can attach it to a distribution\u2019s cache behavior, using the function\u2019s ARN.\n To automatically publish the function to the ``LIVE`` stage when it\u2019s created, set the ``AutoPublish`` property to ``true``.", "handlers": { "create": { "permissions": [ @@ -94,21 +102,28 @@ "properties": { "AutoPublish": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "description": "A flag that determines whether to automatically publish the function to the ``LIVE`` stage when it\u2019s created. To automatically publish to the ``LIVE`` stage, set this property to ``true``.", + "markdownDescription": "A flag that determines whether to automatically publish the function to the ``LIVE`` stage when it\u2019s created. To automatically publish to the ``LIVE`` stage, set this property to ``true``.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "FunctionCode": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The function code. For more information about writing a CloudFront function, see [Writing function code for CloudFront Functions](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/writing-function-code.html) in the *Amazon CloudFront Developer Guide*.", + "markdownDescription": "The function code. For more information about writing a CloudFront function, see [Writing function code for CloudFront Functions](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/writing-function-code.html) in the *Amazon CloudFront Developer Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "FunctionConfig": { - "$ref": "#/definitions/FunctionConfig" + "$ref": "#/definitions/FunctionConfig", + "description": "Contains configuration information about a CloudFront function.", + "markdownDescription": "Contains configuration information about a CloudFront function.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "FunctionMetadata": { - "$ref": "#/definitions/FunctionMetadata" + "$ref": "#/definitions/FunctionMetadata", + "description": "Contains metadata about a CloudFront function.", + "markdownDescription": "Contains metadata about a CloudFront function.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Name": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "A name to identify the function.", + "markdownDescription": "A name to identify the function.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "readOnlyProperties": [ @@ -134,10 +149,12 @@ "attributes": { "FunctionARN": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Stage": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } diff --git a/server/schema/resources/aws-cloudfront-keygroup.json b/server/schema/resources/aws-cloudfront-keygroup.json index 85bb0e29..87e016c3 100644 --- a/server/schema/resources/aws-cloudfront-keygroup.json +++ b/server/schema/resources/aws-cloudfront-keygroup.json @@ -6,7 +6,8 @@ "properties": { "Comment": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A comment to describe the key group. The comment cannot be longer than 128 characters.", + "markdownDescription": "A comment to describe the key group. The comment cannot be longer than 128 characters.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Items": { "items": { @@ -15,11 +16,13 @@ }, "type": "array", "uniqueItems": false, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "description": "A list of the identifiers of the public keys in the key group.", + "markdownDescription": "A list of the identifiers of the public keys in the key group.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, "Name": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "A name to identify the key group.", + "markdownDescription": "A name to identify the key group.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -27,10 +30,11 @@ "Items" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A key group configuration.\n A key group contains a list of public keys that you can use with [CloudFront signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html).", + "markdownDescription": "A key group configuration.\n A key group contains a list of public keys that you can use with [CloudFront signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "description": "Resource Type definition for AWS::CloudFront::KeyGroup", + "description": "A key group.\n A key group contains a list of public keys that you can use with [CloudFront signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html).", "handlers": { "create": { "permissions": [ @@ -65,7 +69,9 @@ ], "properties": { "KeyGroupConfig": { - "$ref": "#/definitions/KeyGroupConfig" + "$ref": "#/definitions/KeyGroupConfig", + "description": "The key group configuration.", + "markdownDescription": "The key group configuration.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "readOnlyProperties": [ @@ -85,10 +91,12 @@ "attributes": { "Id": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "LastModifiedTime": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } diff --git a/server/schema/resources/aws-cloudfront-keyvaluestore.json b/server/schema/resources/aws-cloudfront-keyvaluestore.json index 4b33358c..31a2d44e 100644 --- a/server/schema/resources/aws-cloudfront-keyvaluestore.json +++ b/server/schema/resources/aws-cloudfront-keyvaluestore.json @@ -6,11 +6,13 @@ "properties": { "SourceType": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The source type of the import source for the key value store.", + "markdownDescription": "The source type of the import source for the key value store.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "SourceArn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The Amazon Resource Name (ARN) of the import source for the key value store.", + "markdownDescription": "The Amazon Resource Name (ARN) of the import source for the key value store.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -18,10 +20,11 @@ "SourceArn" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "The import source for the key value store.", + "markdownDescription": "The import source for the key value store.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "description": "Resource Type definition for AWS::CloudFront::KeyValueStore", + "description": "The key value store. Use this to separate data from function code, allowing you to update data without having to publish a new version of a function. The key value store holds keys and their corresponding values.", "handlers": { "create": { "permissions": [ @@ -58,14 +61,18 @@ "properties": { "Name": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "description": "The name of the key value store.", + "markdownDescription": "The name of the key value store.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "Comment": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A comment for the key value store.", + "markdownDescription": "A comment for the key value store.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "ImportSource": { - "$ref": "#/definitions/ImportSource" + "$ref": "#/definitions/ImportSource", + "description": "The import source for the key value store.", + "markdownDescription": "The import source for the key value store.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "primaryIdentifier": [ @@ -95,14 +102,17 @@ "attributes": { "Arn": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Id": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Status": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } diff --git a/server/schema/resources/aws-cloudfront-monitoringsubscription.json b/server/schema/resources/aws-cloudfront-monitoringsubscription.json index a4662f40..8f443eb2 100644 --- a/server/schema/resources/aws-cloudfront-monitoringsubscription.json +++ b/server/schema/resources/aws-cloudfront-monitoringsubscription.json @@ -8,11 +8,14 @@ "additionalProperties": false, "properties": { "RealtimeMetricsSubscriptionConfig": { - "$ref": "#/definitions/RealtimeMetricsSubscriptionConfig" + "$ref": "#/definitions/RealtimeMetricsSubscriptionConfig", + "description": "A subscription configuration for additional CloudWatch metrics.", + "markdownDescription": "A subscription configuration for additional CloudWatch metrics.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A monitoring subscription. This structure contains information about whether additional CloudWatch metrics are enabled for a given CloudFront distribution.", + "markdownDescription": "A monitoring subscription. This structure contains information about whether additional CloudWatch metrics are enabled for a given CloudFront distribution.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "RealtimeMetricsSubscriptionConfig": { "additionalProperties": false, @@ -23,17 +26,19 @@ "Disabled" ], "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Enabled | Disabled \nUpdate requires: No interruption" + "description": "A flag that indicates whether additional CloudWatch metrics are enabled for a given CloudFront distribution.", + "markdownDescription": "A flag that indicates whether additional CloudWatch metrics are enabled for a given CloudFront distribution.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Enabled | Disabled \nUpdate requires: No interruption" } }, "required": [ "RealtimeMetricsSubscriptionStatus" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A subscription configuration for additional CloudWatch metrics.", + "markdownDescription": "A subscription configuration for additional CloudWatch metrics.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "description": "Resource Type definition for AWS::CloudFront::MonitoringSubscription", + "description": "A monitoring subscription. This structure contains information about whether additional CloudWatch metrics are enabled for a given CloudFront distribution.", "handlers": { "create": { "permissions": [ @@ -57,10 +62,13 @@ "properties": { "DistributionId": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "description": "The ID of the distribution that you are enabling metrics for.", + "markdownDescription": "The ID of the distribution that you are enabling metrics for.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "MonitoringSubscription": { - "$ref": "#/definitions/MonitoringSubscription" + "$ref": "#/definitions/MonitoringSubscription", + "description": "A subscription configuration for additional CloudWatch metrics.", + "markdownDescription": "A subscription configuration for additional CloudWatch metrics.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-cloudfront-originaccesscontrol.json b/server/schema/resources/aws-cloudfront-originaccesscontrol.json index 6ca2ec1d..8e0b6c0b 100644 --- a/server/schema/resources/aws-cloudfront-originaccesscontrol.json +++ b/server/schema/resources/aws-cloudfront-originaccesscontrol.json @@ -6,23 +6,28 @@ "properties": { "Description": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A description of the origin access control.", + "markdownDescription": "A description of the origin access control.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Name": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "A name to identify the origin access control. You can specify up to 64 characters.", + "markdownDescription": "A name to identify the origin access control. You can specify up to 64 characters.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "OriginAccessControlOriginType": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(s3|mediastore|lambda|mediapackagev2)$ \nUpdate requires: No interruption" + "description": "The type of origin that this origin access control is for.", + "markdownDescription": "The type of origin that this origin access control is for.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(s3|mediastore|lambda|mediapackagev2)$ \nUpdate requires: No interruption" }, "SigningBehavior": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(never|no-override|always)$ \nUpdate requires: No interruption" + "description": "Specifies which requests CloudFront signs (adds authentication information to). Specify ``always`` for the most common use case. For more information, see [origin access control advanced settings](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html#oac-advanced-settings) in the *Amazon CloudFront Developer Guide*.\n This field can have one of the following values:\n + ``always`` \u2013 CloudFront signs all origin requests, overwriting the ``Authorization`` header from the viewer request if one exists.\n + ``never`` \u2013 CloudFront doesn't sign any origin requests. This value turns off origin access control for all origins in all distributions that use this origin access control.\n + ``no-override`` \u2013 If the viewer request doesn't contain the ``Authorization`` header, then CloudFront signs the origin request. If the viewer request contains the ``Authorization`` header, then CloudFront doesn't sign the origin request and instead passes along the ``Authorization`` header from the viewer request. *WARNING: To pass along the Authorization header from the viewer request, you must add the Authorization header to a cache policy for all cache behaviors that use origins associated with this origin access control.*", + "markdownDescription": "Specifies which requests CloudFront signs (adds authentication information to). Specify ``always`` for the most common use case. For more information, see [origin access control advanced settings](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html#oac-advanced-settings) in the *Amazon CloudFront Developer Guide*.\n This field can have one of the following values:\n + ``always`` \u2013 CloudFront signs all origin requests, overwriting the ``Authorization`` header from the viewer request if one exists.\n + ``never`` \u2013 CloudFront doesn't sign any origin requests. This value turns off origin access control for all origins in all distributions that use this origin access control.\n + ``no-override`` \u2013 If the viewer request doesn't contain the ``Authorization`` header, then CloudFront signs the origin request. If the viewer request contains the ``Authorization`` header, then CloudFront doesn't sign the origin request and instead passes along the ``Authorization`` header from the viewer request. *WARNING: To pass along the Authorization header from the viewer request, you must add the Authorization header to a cache policy for all cache behaviors that use origins associated with this origin access control.*\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(never|no-override|always)$ \nUpdate requires: No interruption" }, "SigningProtocol": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(sigv4)$ \nUpdate requires: No interruption" + "description": "The signing protocol of the origin access control, which determines how CloudFront signs (authenticates) requests. The only valid value is ``sigv4``.", + "markdownDescription": "The signing protocol of the origin access control, which determines how CloudFront signs (authenticates) requests. The only valid value is ``sigv4``.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(sigv4)$ \nUpdate requires: No interruption" } }, "required": [ @@ -32,10 +37,11 @@ "OriginAccessControlOriginType" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Creates a new origin access control in CloudFront. After you create an origin access control, you can add it to an origin in a CloudFront distribution so that CloudFront sends authenticated (signed) requests to the origin.\n This makes it possible to block public access to the origin, allowing viewers (users) to access the origin's content only through CloudFront.\n For more information about using a CloudFront origin access control, see [Restricting access to an origin](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-origin.html) in the *Amazon CloudFront Developer Guide*.", + "markdownDescription": "Creates a new origin access control in CloudFront. After you create an origin access control, you can add it to an origin in a CloudFront distribution so that CloudFront sends authenticated (signed) requests to the origin.\n This makes it possible to block public access to the origin, allowing viewers (users) to access the origin's content only through CloudFront.\n For more information about using a CloudFront origin access control, see [Restricting access to an origin](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-origin.html) in the *Amazon CloudFront Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "description": "Resource Type definition for AWS::CloudFront::OriginAccessControl", + "description": "Creates a new origin access control in CloudFront. After you create an origin access control, you can add it to an origin in a CloudFront distribution so that CloudFront sends authenticated (signed) requests to the origin.\n This makes it possible to block public access to the origin, allowing viewers (users) to access the origin's content only through CloudFront.\n For more information about using a CloudFront origin access control, see [Restricting access to an origin](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-origin.html) in the *Amazon CloudFront Developer Guide*.", "handlers": { "create": { "permissions": [ @@ -70,7 +76,9 @@ ], "properties": { "OriginAccessControlConfig": { - "$ref": "#/definitions/OriginAccessControlConfig" + "$ref": "#/definitions/OriginAccessControlConfig", + "description": "The origin access control.", + "markdownDescription": "The origin access control.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "readOnlyProperties": [ @@ -89,6 +97,7 @@ "attributes": { "Id": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } diff --git a/server/schema/resources/aws-cloudfront-originrequestpolicy.json b/server/schema/resources/aws-cloudfront-originrequestpolicy.json index bb337ce6..d1633717 100644 --- a/server/schema/resources/aws-cloudfront-originrequestpolicy.json +++ b/server/schema/resources/aws-cloudfront-originrequestpolicy.json @@ -6,7 +6,8 @@ "properties": { "CookieBehavior": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(none|whitelist|all|allExcept)$ \nUpdate requires: No interruption" + "description": "Determines whether cookies in viewer requests are included in requests that CloudFront sends to the origin. Valid values are:\n + ``none`` \u2013 No cookies in viewer requests are included in requests that CloudFront sends to the origin. Even when this field is set to ``none``, any cookies that are listed in a ``CachePolicy`` *are* included in origin requests.\n + ``whitelist`` \u2013 Only the cookies in viewer requests that are listed in the ``CookieNames`` type are included in requests that CloudFront sends to the origin.\n + ``all`` \u2013 All cookies in viewer requests are included in requests that CloudFront sends to the origin.\n + ``allExcept`` \u2013 All cookies in viewer requests are included in requests that CloudFront sends to the origin, *except* for those listed in the ``CookieNames`` type, which are not included.", + "markdownDescription": "Determines whether cookies in viewer requests are included in requests that CloudFront sends to the origin. Valid values are:\n + ``none`` \u2013 No cookies in viewer requests are included in requests that CloudFront sends to the origin. Even when this field is set to ``none``, any cookies that are listed in a ``CachePolicy`` *are* included in origin requests.\n + ``whitelist`` \u2013 Only the cookies in viewer requests that are listed in the ``CookieNames`` type are included in requests that CloudFront sends to the origin.\n + ``all`` \u2013 All cookies in viewer requests are included in requests that CloudFront sends to the origin.\n + ``allExcept`` \u2013 All cookies in viewer requests are included in requests that CloudFront sends to the origin, *except* for those listed in the ``CookieNames`` type, which are not included.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(none|whitelist|all|allExcept)$ \nUpdate requires: No interruption" }, "Cookies": { "items": { @@ -15,21 +16,24 @@ }, "type": "array", "uniqueItems": false, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "Contains a list of cookie names.", + "markdownDescription": "Contains a list of cookie names.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ "CookieBehavior" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "An object that determines whether any cookies in viewer requests (and if so, which cookies) are included in requests that CloudFront sends to the origin.", + "markdownDescription": "An object that determines whether any cookies in viewer requests (and if so, which cookies) are included in requests that CloudFront sends to the origin.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "HeadersConfig": { "additionalProperties": false, "properties": { "HeaderBehavior": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(none|whitelist|allViewer|allViewerAndWhitelistCloudFront|allExcept)$ \nUpdate requires: No interruption" + "description": "Determines whether any HTTP headers are included in requests that CloudFront sends to the origin. Valid values are:\n + ``none`` \u2013 No HTTP headers in viewer requests are included in requests that CloudFront sends to the origin. Even when this field is set to ``none``, any headers that are listed in a ``CachePolicy`` *are* included in origin requests.\n + ``whitelist`` \u2013 Only the HTTP headers that are listed in the ``Headers`` type are included in requests that CloudFront sends to the origin.\n + ``allViewer`` \u2013 All HTTP headers in viewer requests are included in requests that CloudFront sends to the origin.\n + ``allViewerAndWhitelistCloudFront`` \u2013 All HTTP headers in viewer requests and the additional CloudFront headers that are listed in the ``Headers`` type are included in requests that CloudFront sends to the origin. The additional headers are added by CloudFront.\n + ``allExcept`` \u2013 All HTTP headers in viewer requests are included in requests that CloudFront sends to the origin, *except* for those listed in the ``Headers`` type, which are not included.", + "markdownDescription": "Determines whether any HTTP headers are included in requests that CloudFront sends to the origin. Valid values are:\n + ``none`` \u2013 No HTTP headers in viewer requests are included in requests that CloudFront sends to the origin. Even when this field is set to ``none``, any headers that are listed in a ``CachePolicy`` *are* included in origin requests.\n + ``whitelist`` \u2013 Only the HTTP headers that are listed in the ``Headers`` type are included in requests that CloudFront sends to the origin.\n + ``allViewer`` \u2013 All HTTP headers in viewer requests are included in requests that CloudFront sends to the origin.\n + ``allViewerAndWhitelistCloudFront`` \u2013 All HTTP headers in viewer requests and the additional CloudFront headers that are listed in the ``Headers`` type are included in requests that CloudFront sends to the origin. The additional headers are added by CloudFront.\n + ``allExcept`` \u2013 All HTTP headers in viewer requests are included in requests that CloudFront sends to the origin, *except* for those listed in the ``Headers`` type, which are not included.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(none|whitelist|allViewer|allViewerAndWhitelistCloudFront|allExcept)$ \nUpdate requires: No interruption" }, "Headers": { "items": { @@ -38,34 +42,44 @@ }, "type": "array", "uniqueItems": false, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "Contains a list of HTTP header names.", + "markdownDescription": "Contains a list of HTTP header names.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ "HeaderBehavior" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "An object that determines whether any HTTP headers (and if so, which headers) are included in requests that CloudFront sends to the origin.", + "markdownDescription": "An object that determines whether any HTTP headers (and if so, which headers) are included in requests that CloudFront sends to the origin.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "OriginRequestPolicyConfig": { "additionalProperties": false, "properties": { "Comment": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A comment to describe the origin request policy. The comment cannot be longer than 128 characters.", + "markdownDescription": "A comment to describe the origin request policy. The comment cannot be longer than 128 characters.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "CookiesConfig": { - "$ref": "#/definitions/CookiesConfig" + "$ref": "#/definitions/CookiesConfig", + "description": "The cookies from viewer requests to include in origin requests.", + "markdownDescription": "The cookies from viewer requests to include in origin requests.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "HeadersConfig": { - "$ref": "#/definitions/HeadersConfig" + "$ref": "#/definitions/HeadersConfig", + "description": "The HTTP headers to include in origin requests. These can include headers from viewer requests and additional headers added by CloudFront.", + "markdownDescription": "The HTTP headers to include in origin requests. These can include headers from viewer requests and additional headers added by CloudFront.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "Name": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "A unique name to identify the origin request policy.", + "markdownDescription": "A unique name to identify the origin request policy.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "QueryStringsConfig": { - "$ref": "#/definitions/QueryStringsConfig" + "$ref": "#/definitions/QueryStringsConfig", + "description": "The URL query strings from viewer requests to include in origin requests.", + "markdownDescription": "The URL query strings from viewer requests to include in origin requests.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ @@ -75,14 +89,16 @@ "QueryStringsConfig" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "An origin request policy configuration.\n This configuration determines the values that CloudFront includes in requests that it sends to the origin. Each request that CloudFront sends to the origin includes the following:\n + The request body and the URL path (without the domain name) from the viewer request.\n + The headers that CloudFront automatically includes in every origin request, including ``Host``, ``User-Agent``, and ``X-Amz-Cf-Id``.\n + All HTTP headers, cookies, and URL query strings that are specified in the cache policy or the origin request policy. These can include items from the viewer request and, in the case of headers, additional ones that are added by CloudFront.\n \n CloudFront sends a request when it can't find an object in its cache that matches the request. If you want to send values to the origin and also include them in the cache key, use ``CachePolicy``.", + "markdownDescription": "An origin request policy configuration.\n This configuration determines the values that CloudFront includes in requests that it sends to the origin. Each request that CloudFront sends to the origin includes the following:\n + The request body and the URL path (without the domain name) from the viewer request.\n + The headers that CloudFront automatically includes in every origin request, including ``Host``, ``User-Agent``, and ``X-Amz-Cf-Id``.\n + All HTTP headers, cookies, and URL query strings that are specified in the cache policy or the origin request policy. These can include items from the viewer request and, in the case of headers, additional ones that are added by CloudFront.\n \n CloudFront sends a request when it can't find an object in its cache that matches the request. If you want to send values to the origin and also include them in the cache key, use ``CachePolicy``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "QueryStringsConfig": { "additionalProperties": false, "properties": { "QueryStringBehavior": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(none|whitelist|all|allExcept)$ \nUpdate requires: No interruption" + "description": "Determines whether any URL query strings in viewer requests are included in requests that CloudFront sends to the origin. Valid values are:\n + ``none`` \u2013 No query strings in viewer requests are included in requests that CloudFront sends to the origin. Even when this field is set to ``none``, any query strings that are listed in a ``CachePolicy`` *are* included in origin requests.\n + ``whitelist`` \u2013 Only the query strings in viewer requests that are listed in the ``QueryStringNames`` type are included in requests that CloudFront sends to the origin.\n + ``all`` \u2013 All query strings in viewer requests are included in requests that CloudFront sends to the origin.\n + ``allExcept`` \u2013 All query strings in viewer requests are included in requests that CloudFront sends to the origin, *except* for those listed in the ``QueryStringNames`` type, which are not included.", + "markdownDescription": "Determines whether any URL query strings in viewer requests are included in requests that CloudFront sends to the origin. Valid values are:\n + ``none`` \u2013 No query strings in viewer requests are included in requests that CloudFront sends to the origin. Even when this field is set to ``none``, any query strings that are listed in a ``CachePolicy`` *are* included in origin requests.\n + ``whitelist`` \u2013 Only the query strings in viewer requests that are listed in the ``QueryStringNames`` type are included in requests that CloudFront sends to the origin.\n + ``all`` \u2013 All query strings in viewer requests are included in requests that CloudFront sends to the origin.\n + ``allExcept`` \u2013 All query strings in viewer requests are included in requests that CloudFront sends to the origin, *except* for those listed in the ``QueryStringNames`` type, which are not included.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(none|whitelist|all|allExcept)$ \nUpdate requires: No interruption" }, "QueryStrings": { "items": { @@ -91,17 +107,19 @@ }, "type": "array", "uniqueItems": false, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "Contains a list of query string names.", + "markdownDescription": "Contains a list of query string names.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ "QueryStringBehavior" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "An object that determines whether any URL query strings in viewer requests (and if so, which query strings) are included in requests that CloudFront sends to the origin.", + "markdownDescription": "An object that determines whether any URL query strings in viewer requests (and if so, which query strings) are included in requests that CloudFront sends to the origin.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "description": "Resource Type definition for AWS::CloudFront::OriginRequestPolicy", + "description": "An origin request policy.\n When it's attached to a cache behavior, the origin request policy determines the values that CloudFront includes in requests that it sends to the origin. Each request that CloudFront sends to the origin includes the following:\n + The request body and the URL path (without the domain name) from the viewer request.\n + The headers that CloudFront automatically includes in every origin request, including ``Host``, ``User-Agent``, and ``X-Amz-Cf-Id``.\n + All HTTP headers, cookies, and URL query strings that are specified in the cache policy or the origin request policy. These can include items from the viewer request and, in the case of headers, additional ones that are added by CloudFront.\n \n CloudFront sends a request when it can't find an object in its cache that matches the request. If you want to send values to the origin and also include them in the cache key, use ``CachePolicy``.", "handlers": { "create": { "permissions": [ @@ -136,7 +154,9 @@ ], "properties": { "OriginRequestPolicyConfig": { - "$ref": "#/definitions/OriginRequestPolicyConfig" + "$ref": "#/definitions/OriginRequestPolicyConfig", + "description": "The origin request policy configuration.", + "markdownDescription": "The origin request policy configuration.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "readOnlyProperties": [ @@ -156,10 +176,12 @@ "attributes": { "Id": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "LastModifiedTime": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } diff --git a/server/schema/resources/aws-cloudfront-publickey.json b/server/schema/resources/aws-cloudfront-publickey.json index 9852ab5b..b1d6f10b 100644 --- a/server/schema/resources/aws-cloudfront-publickey.json +++ b/server/schema/resources/aws-cloudfront-publickey.json @@ -6,19 +6,23 @@ "properties": { "CallerReference": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "A string included in the request to help make sure that the request can't be replayed.", + "markdownDescription": "A string included in the request to help make sure that the request can't be replayed.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Comment": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A comment to describe the public key. The comment cannot be longer than 128 characters.", + "markdownDescription": "A comment to describe the public key. The comment cannot be longer than 128 characters.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "EncodedKey": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The public key that you can use with [signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html), or with [field-level encryption](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html).", + "markdownDescription": "The public key that you can use with [signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html), or with [field-level encryption](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html).\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Name": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "A name to help identify the public key.", + "markdownDescription": "A name to help identify the public key.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -27,10 +31,11 @@ "EncodedKey" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Configuration information about a public key that you can use with [signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html), or with [field-level encryption](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html).", + "markdownDescription": "Configuration information about a public key that you can use with [signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html), or with [field-level encryption](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "description": "Resource Type definition for AWS::CloudFront::PublicKey", + "description": "A public key that you can use with [signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html), or with [field-level encryption](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html).", "handlers": { "create": { "permissions": [ @@ -65,7 +70,9 @@ ], "properties": { "PublicKeyConfig": { - "$ref": "#/definitions/PublicKeyConfig" + "$ref": "#/definitions/PublicKeyConfig", + "description": "Configuration information about a public key that you can use with [signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html), or with [field-level encryption](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html).", + "markdownDescription": "Configuration information about a public key that you can use with [signed URLs and signed cookies](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html), or with [field-level encryption](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html).\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "readOnlyProperties": [ @@ -85,10 +92,12 @@ "attributes": { "CreatedTime": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Id": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } diff --git a/server/schema/resources/aws-cloudfront-realtimelogconfig.json b/server/schema/resources/aws-cloudfront-realtimelogconfig.json index c3289900..91ba19be 100644 --- a/server/schema/resources/aws-cloudfront-realtimelogconfig.json +++ b/server/schema/resources/aws-cloudfront-realtimelogconfig.json @@ -8,11 +8,14 @@ "additionalProperties": false, "properties": { "KinesisStreamConfig": { - "$ref": "#/definitions/KinesisStreamConfig" + "$ref": "#/definitions/KinesisStreamConfig", + "description": "Contains information about the Amazon Kinesis data stream where you are sending real-time log data.", + "markdownDescription": "Contains information about the Amazon Kinesis data stream where you are sending real-time log data.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "StreamType": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The type of data stream where you are sending real-time log data. The only valid value is ``Kinesis``.", + "markdownDescription": "The type of data stream where you are sending real-time log data. The only valid value is ``Kinesis``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -20,18 +23,21 @@ "StreamType" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Contains information about the Amazon Kinesis data stream where you are sending real-time log data in a real-time log configuration.", + "markdownDescription": "Contains information about the Amazon Kinesis data stream where you are sending real-time log data in a real-time log configuration.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "KinesisStreamConfig": { "additionalProperties": false, "properties": { "RoleArn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The Amazon Resource Name (ARN) of an IAMlong (IAM) role that CloudFront can use to send real-time log data to your Kinesis data stream.\n For more information the IAM role, see [Real-time log configuration IAM role](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-iam-role) in the *Amazon CloudFront Developer Guide*.", + "markdownDescription": "The Amazon Resource Name (ARN) of an IAMlong (IAM) role that CloudFront can use to send real-time log data to your Kinesis data stream.\n For more information the IAM role, see [Real-time log configuration IAM role](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-iam-role) in the *Amazon CloudFront Developer Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "StreamArn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The Amazon Resource Name (ARN) of the Kinesis data stream where you are sending real-time log data.", + "markdownDescription": "The Amazon Resource Name (ARN) of the Kinesis data stream where you are sending real-time log data.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -39,10 +45,11 @@ "StreamArn" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Contains information about the Amazon Kinesis data stream where you are sending real-time log data.", + "markdownDescription": "Contains information about the Amazon Kinesis data stream where you are sending real-time log data.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "description": "Resource Type definition for AWS::CloudFront::RealtimeLogConfig", + "description": "A real-time log configuration.", "handlers": { "create": { "permissions": [ @@ -85,7 +92,8 @@ "minItems": 1, "type": "array", "uniqueItems": false, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "description": "Contains information about the Amazon Kinesis data stream where you are sending real-time log data for this real-time log configuration.", + "markdownDescription": "Contains information about the Amazon Kinesis data stream where you are sending real-time log data for this real-time log configuration.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, "Fields": { "items": { @@ -95,18 +103,21 @@ "minItems": 1, "type": "array", "uniqueItems": false, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "description": "A list of fields that are included in each real-time log record. In an API response, the fields are provided in the same order in which they are sent to the Amazon Kinesis data stream.\n For more information about fields, see [Real-time log configuration fields](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-fields) in the *Amazon CloudFront Developer Guide*.", + "markdownDescription": "A list of fields that are included in each real-time log record. In an API response, the fields are provided in the same order in which they are sent to the Amazon Kinesis data stream.\n For more information about fields, see [Real-time log configuration fields](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-fields) in the *Amazon CloudFront Developer Guide*.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, "Name": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "description": "The unique name of this real-time log configuration.", + "markdownDescription": "The unique name of this real-time log configuration.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "SamplingRate": { "maximum": 100, "minimum": 1, "multipleOf": 1.0, "type": "number", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "description": "The sampling rate for this real-time log configuration. The sampling rate determines the percentage of viewer requests that are represented in the real-time log data. The sampling rate is an integer between 1 and 100, inclusive.", + "markdownDescription": "The sampling rate for this real-time log configuration. The sampling rate determines the percentage of viewer requests that are represented in the real-time log data. The sampling rate is an integer between 1 and 100, inclusive.\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" } }, "readOnlyProperties": [ @@ -128,6 +139,7 @@ "attributes": { "Arn": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } diff --git a/server/schema/resources/aws-cloudfront-responseheaderspolicy.json b/server/schema/resources/aws-cloudfront-responseheaderspolicy.json index f5dc7cc1..e277391f 100644 --- a/server/schema/resources/aws-cloudfront-responseheaderspolicy.json +++ b/server/schema/resources/aws-cloudfront-responseheaderspolicy.json @@ -11,14 +11,16 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "type": "array", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "description": "The list of HTTP header names. You can specify ``*`` to allow all headers.", + "markdownDescription": "The list of HTTP header names. You can specify ``*`` to allow all headers.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ "Items" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A list of HTTP header names that CloudFront includes as values for the ``Access-Control-Allow-Headers`` HTTP response header.\n For more information about the ``Access-Control-Allow-Headers`` HTTP response header, see [Access-Control-Allow-Headers](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers) in the MDN Web Docs.", + "markdownDescription": "A list of HTTP header names that CloudFront includes as values for the ``Access-Control-Allow-Headers`` HTTP response header.\n For more information about the ``Access-Control-Allow-Headers`` HTTP response header, see [Access-Control-Allow-Headers](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers) in the MDN Web Docs.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AccessControlAllowMethods": { "additionalProperties": false, @@ -30,14 +32,16 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "type": "array", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "description": "The list of HTTP methods. Valid values are:\n + ``GET`` \n + ``DELETE`` \n + ``HEAD`` \n + ``OPTIONS`` \n + ``PATCH`` \n + ``POST`` \n + ``PUT`` \n + ``ALL`` \n \n ``ALL`` is a special value that includes all of the listed HTTP methods.", + "markdownDescription": "The list of HTTP methods. Valid values are:\n + ``GET`` \n + ``DELETE`` \n + ``HEAD`` \n + ``OPTIONS`` \n + ``PATCH`` \n + ``POST`` \n + ``PUT`` \n + ``ALL`` \n \n ``ALL`` is a special value that includes all of the listed HTTP methods.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ "Items" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A list of HTTP methods that CloudFront includes as values for the ``Access-Control-Allow-Methods`` HTTP response header.\n For more information about the ``Access-Control-Allow-Methods`` HTTP response header, see [Access-Control-Allow-Methods](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods) in the MDN Web Docs.", + "markdownDescription": "A list of HTTP methods that CloudFront includes as values for the ``Access-Control-Allow-Methods`` HTTP response header.\n For more information about the ``Access-Control-Allow-Methods`` HTTP response header, see [Access-Control-Allow-Methods](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods) in the MDN Web Docs.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AccessControlAllowOrigins": { "additionalProperties": false, @@ -49,14 +53,16 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "type": "array", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "description": "The list of origins (domain names). You can specify ``*`` to allow all origins.", + "markdownDescription": "The list of origins (domain names). You can specify ``*`` to allow all origins.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ "Items" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A list of origins (domain names) that CloudFront can use as the value for the ``Access-Control-Allow-Origin`` HTTP response header.\n For more information about the ``Access-Control-Allow-Origin`` HTTP response header, see [Access-Control-Allow-Origin](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin) in the MDN Web Docs.", + "markdownDescription": "A list of origins (domain names) that CloudFront can use as the value for the ``Access-Control-Allow-Origin`` HTTP response header.\n For more information about the ``Access-Control-Allow-Origin`` HTTP response header, see [Access-Control-Allow-Origin](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin) in the MDN Web Docs.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AccessControlExposeHeaders": { "additionalProperties": false, @@ -68,25 +74,29 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "type": "array", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "description": "The list of HTTP headers. You can specify ``*`` to expose all headers.", + "markdownDescription": "The list of HTTP headers. You can specify ``*`` to expose all headers.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ "Items" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A list of HTTP headers that CloudFront includes as values for the ``Access-Control-Expose-Headers`` HTTP response header.\n For more information about the ``Access-Control-Expose-Headers`` HTTP response header, see [Access-Control-Expose-Headers](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers) in the MDN Web Docs.", + "markdownDescription": "A list of HTTP headers that CloudFront includes as values for the ``Access-Control-Expose-Headers`` HTTP response header.\n For more information about the ``Access-Control-Expose-Headers`` HTTP response header, see [Access-Control-Expose-Headers](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers) in the MDN Web Docs.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ContentSecurityPolicy": { "additionalProperties": false, "properties": { "ContentSecurityPolicy": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The policy directives and their values that CloudFront includes as values for the ``Content-Security-Policy`` HTTP response header.\n For more information about the ``Content-Security-Policy`` HTTP response header, see [Content-Security-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) in the MDN Web Docs.", + "markdownDescription": "The policy directives and their values that CloudFront includes as values for the ``Content-Security-Policy`` HTTP response header.\n For more information about the ``Content-Security-Policy`` HTTP response header, see [Content-Security-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) in the MDN Web Docs.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Override": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + "description": "A Boolean that determines whether CloudFront overrides the ``Content-Security-Policy`` HTTP response header received from the origin with the one specified in this response headers policy.", + "markdownDescription": "A Boolean that determines whether CloudFront overrides the ``Content-Security-Policy`` HTTP response header received from the origin with the one specified in this response headers policy.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ @@ -94,48 +104,62 @@ "ContentSecurityPolicy" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "The policy directives and their values that CloudFront includes as values for the ``Content-Security-Policy`` HTTP response header.\n For more information about the ``Content-Security-Policy`` HTTP response header, see [Content-Security-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) in the MDN Web Docs.", + "markdownDescription": "The policy directives and their values that CloudFront includes as values for the ``Content-Security-Policy`` HTTP response header.\n For more information about the ``Content-Security-Policy`` HTTP response header, see [Content-Security-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) in the MDN Web Docs.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ContentTypeOptions": { "additionalProperties": false, "properties": { "Override": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + "description": "A Boolean that determines whether CloudFront overrides the ``X-Content-Type-Options`` HTTP response header received from the origin with the one specified in this response headers policy.", + "markdownDescription": "A Boolean that determines whether CloudFront overrides the ``X-Content-Type-Options`` HTTP response header received from the origin with the one specified in this response headers policy.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ "Override" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Determines whether CloudFront includes the ``X-Content-Type-Options`` HTTP response header with its value set to ``nosniff``.\n For more information about the ``X-Content-Type-Options`` HTTP response header, see [X-Content-Type-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) in the MDN Web Docs.", + "markdownDescription": "Determines whether CloudFront includes the ``X-Content-Type-Options`` HTTP response header with its value set to ``nosniff``.\n For more information about the ``X-Content-Type-Options`` HTTP response header, see [X-Content-Type-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) in the MDN Web Docs.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "CorsConfig": { "additionalProperties": false, "properties": { "AccessControlAllowCredentials": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + "description": "A Boolean that CloudFront uses as the value for the ``Access-Control-Allow-Credentials`` HTTP response header.\n For more information about the ``Access-Control-Allow-Credentials`` HTTP response header, see [Access-Control-Allow-Credentials](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials) in the MDN Web Docs.", + "markdownDescription": "A Boolean that CloudFront uses as the value for the ``Access-Control-Allow-Credentials`` HTTP response header.\n For more information about the ``Access-Control-Allow-Credentials`` HTTP response header, see [Access-Control-Allow-Credentials](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials) in the MDN Web Docs.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" }, "AccessControlAllowHeaders": { - "$ref": "#/definitions/AccessControlAllowHeaders" + "$ref": "#/definitions/AccessControlAllowHeaders", + "description": "A list of HTTP header names that CloudFront includes as values for the ``Access-Control-Allow-Headers`` HTTP response header.\n For more information about the ``Access-Control-Allow-Headers`` HTTP response header, see [Access-Control-Allow-Headers](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers) in the MDN Web Docs.", + "markdownDescription": "A list of HTTP header names that CloudFront includes as values for the ``Access-Control-Allow-Headers`` HTTP response header.\n For more information about the ``Access-Control-Allow-Headers`` HTTP response header, see [Access-Control-Allow-Headers](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers) in the MDN Web Docs.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "AccessControlAllowMethods": { - "$ref": "#/definitions/AccessControlAllowMethods" + "$ref": "#/definitions/AccessControlAllowMethods", + "description": "A list of HTTP methods that CloudFront includes as values for the ``Access-Control-Allow-Methods`` HTTP response header.\n For more information about the ``Access-Control-Allow-Methods`` HTTP response header, see [Access-Control-Allow-Methods](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods) in the MDN Web Docs.", + "markdownDescription": "A list of HTTP methods that CloudFront includes as values for the ``Access-Control-Allow-Methods`` HTTP response header.\n For more information about the ``Access-Control-Allow-Methods`` HTTP response header, see [Access-Control-Allow-Methods](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods) in the MDN Web Docs.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "AccessControlAllowOrigins": { - "$ref": "#/definitions/AccessControlAllowOrigins" + "$ref": "#/definitions/AccessControlAllowOrigins", + "description": "A list of origins (domain names) that CloudFront can use as the value for the ``Access-Control-Allow-Origin`` HTTP response header.\n For more information about the ``Access-Control-Allow-Origin`` HTTP response header, see [Access-Control-Allow-Origin](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin) in the MDN Web Docs.", + "markdownDescription": "A list of origins (domain names) that CloudFront can use as the value for the ``Access-Control-Allow-Origin`` HTTP response header.\n For more information about the ``Access-Control-Allow-Origin`` HTTP response header, see [Access-Control-Allow-Origin](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin) in the MDN Web Docs.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "AccessControlExposeHeaders": { - "$ref": "#/definitions/AccessControlExposeHeaders" + "$ref": "#/definitions/AccessControlExposeHeaders", + "description": "A list of HTTP headers that CloudFront includes as values for the ``Access-Control-Expose-Headers`` HTTP response header.\n For more information about the ``Access-Control-Expose-Headers`` HTTP response header, see [Access-Control-Expose-Headers](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers) in the MDN Web Docs.", + "markdownDescription": "A list of HTTP headers that CloudFront includes as values for the ``Access-Control-Expose-Headers`` HTTP response header.\n For more information about the ``Access-Control-Expose-Headers`` HTTP response header, see [Access-Control-Expose-Headers](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers) in the MDN Web Docs.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "AccessControlMaxAgeSec": { "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "description": "A number that CloudFront uses as the value for the ``Access-Control-Max-Age`` HTTP response header.\n For more information about the ``Access-Control-Max-Age`` HTTP response header, see [Access-Control-Max-Age](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Max-Age) in the MDN Web Docs.", + "markdownDescription": "A number that CloudFront uses as the value for the ``Access-Control-Max-Age`` HTTP response header.\n For more information about the ``Access-Control-Max-Age`` HTTP response header, see [Access-Control-Max-Age](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Max-Age) in the MDN Web Docs.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "OriginOverride": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + "description": "A Boolean that determines whether CloudFront overrides HTTP response headers received from the origin with the ones specified in this response headers policy.", + "markdownDescription": "A Boolean that determines whether CloudFront overrides HTTP response headers received from the origin with the ones specified in this response headers policy.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ @@ -146,22 +170,26 @@ "OriginOverride" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A configuration for a set of HTTP response headers that are used for cross-origin resource sharing (CORS). CloudFront adds these headers to HTTP responses that it sends for CORS requests that match a cache behavior associated with this response headers policy.\n For more information about CORS, see [Cross-Origin Resource Sharing (CORS)](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) in the MDN Web Docs.", + "markdownDescription": "A configuration for a set of HTTP response headers that are used for cross-origin resource sharing (CORS). CloudFront adds these headers to HTTP responses that it sends for CORS requests that match a cache behavior associated with this response headers policy.\n For more information about CORS, see [Cross-Origin Resource Sharing (CORS)](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) in the MDN Web Docs.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "CustomHeader": { "additionalProperties": false, "properties": { "Header": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The HTTP response header name.", + "markdownDescription": "The HTTP response header name.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Override": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + "description": "A Boolean that determines whether CloudFront overrides a response header with the same name received from the origin with the header specified here.", + "markdownDescription": "A Boolean that determines whether CloudFront overrides a response header with the same name received from the origin with the header specified here.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" }, "Value": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The value for the HTTP response header.", + "markdownDescription": "The value for the HTTP response header.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -170,7 +198,8 @@ "Override" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "An HTTP response header name and its value. CloudFront includes this header in HTTP responses that it sends for requests that match a cache behavior that's associated with this response headers policy.", + "markdownDescription": "An HTTP response header name and its value. CloudFront includes this header in HTTP responses that it sends for requests that match a cache behavior that's associated with this response headers policy.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "CustomHeadersConfig": { "additionalProperties": false, @@ -182,25 +211,29 @@ }, "type": "array", "uniqueItems": false, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "description": "The list of HTTP response headers and their values.", + "markdownDescription": "The list of HTTP response headers and their values.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ "Items" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A list of HTTP response header names and their values. CloudFront includes these headers in HTTP responses that it sends for requests that match a cache behavior that's associated with this response headers policy.", + "markdownDescription": "A list of HTTP response header names and their values. CloudFront includes these headers in HTTP responses that it sends for requests that match a cache behavior that's associated with this response headers policy.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "FrameOptions": { "additionalProperties": false, "properties": { "FrameOption": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(DENY|SAMEORIGIN)$ \nUpdate requires: No interruption" + "description": "The value of the ``X-Frame-Options`` HTTP response header. Valid values are ``DENY`` and ``SAMEORIGIN``.\n For more information about these values, see [X-Frame-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) in the MDN Web Docs.", + "markdownDescription": "The value of the ``X-Frame-Options`` HTTP response header. Valid values are ``DENY`` and ``SAMEORIGIN``.\n For more information about these values, see [X-Frame-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) in the MDN Web Docs.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(DENY|SAMEORIGIN)$ \nUpdate requires: No interruption" }, "Override": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + "description": "A Boolean that determines whether CloudFront overrides the ``X-Frame-Options`` HTTP response header received from the origin with the one specified in this response headers policy.", + "markdownDescription": "A Boolean that determines whether CloudFront overrides the ``X-Frame-Options`` HTTP response header received from the origin with the one specified in this response headers policy.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ @@ -208,18 +241,21 @@ "FrameOption" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Determines whether CloudFront includes the ``X-Frame-Options`` HTTP response header and the header's value.\n For more information about the ``X-Frame-Options`` HTTP response header, see [X-Frame-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) in the MDN Web Docs.", + "markdownDescription": "Determines whether CloudFront includes the ``X-Frame-Options`` HTTP response header and the header's value.\n For more information about the ``X-Frame-Options`` HTTP response header, see [X-Frame-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) in the MDN Web Docs.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ReferrerPolicy": { "additionalProperties": false, "properties": { "Override": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + "description": "A Boolean that determines whether CloudFront overrides the ``Referrer-Policy`` HTTP response header received from the origin with the one specified in this response headers policy.", + "markdownDescription": "A Boolean that determines whether CloudFront overrides the ``Referrer-Policy`` HTTP response header received from the origin with the one specified in this response headers policy.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" }, "ReferrerPolicy": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(no-referrer|no-referrer-when-downgrade|origin|origin-when-cross-origin|same-origin|strict-origin|strict-origin-when-cross-origin|unsafe-url)$ \nUpdate requires: No interruption" + "description": "Determines whether CloudFront includes the ``Referrer-Policy`` HTTP response header and the header's value.\n For more information about the ``Referrer-Policy`` HTTP response header, see [Referrer-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) in the MDN Web Docs.", + "markdownDescription": "Determines whether CloudFront includes the ``Referrer-Policy`` HTTP response header and the header's value.\n For more information about the ``Referrer-Policy`` HTTP response header, see [Referrer-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) in the MDN Web Docs.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(no-referrer|no-referrer-when-downgrade|origin|origin-when-cross-origin|same-origin|strict-origin|strict-origin-when-cross-origin|unsafe-url)$ \nUpdate requires: No interruption" } }, "required": [ @@ -227,21 +263,24 @@ "ReferrerPolicy" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Determines whether CloudFront includes the ``Referrer-Policy`` HTTP response header and the header's value.\n For more information about the ``Referrer-Policy`` HTTP response header, see [Referrer-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) in the MDN Web Docs.", + "markdownDescription": "Determines whether CloudFront includes the ``Referrer-Policy`` HTTP response header and the header's value.\n For more information about the ``Referrer-Policy`` HTTP response header, see [Referrer-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) in the MDN Web Docs.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "RemoveHeader": { "additionalProperties": false, "properties": { "Header": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The HTTP header name.", + "markdownDescription": "The HTTP header name.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "Header" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "The name of an HTTP header that CloudFront removes from HTTP responses to requests that match the cache behavior that this response headers policy is attached to.", + "markdownDescription": "The name of an HTTP header that CloudFront removes from HTTP responses to requests that match the cache behavior that this response headers policy is attached to.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "RemoveHeadersConfig": { "additionalProperties": false, @@ -253,113 +292,148 @@ }, "type": "array", "uniqueItems": true, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "description": "The list of HTTP header names.", + "markdownDescription": "The list of HTTP header names.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ "Items" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A list of HTTP header names that CloudFront removes from HTTP responses to requests that match the cache behavior that this response headers policy is attached to.", + "markdownDescription": "A list of HTTP header names that CloudFront removes from HTTP responses to requests that match the cache behavior that this response headers policy is attached to.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ResponseHeadersPolicyConfig": { "additionalProperties": false, "properties": { "Comment": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A comment to describe the response headers policy.\n The comment cannot be longer than 128 characters.", + "markdownDescription": "A comment to describe the response headers policy.\n The comment cannot be longer than 128 characters.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "CorsConfig": { - "$ref": "#/definitions/CorsConfig" + "$ref": "#/definitions/CorsConfig", + "description": "A configuration for a set of HTTP response headers that are used for cross-origin resource sharing (CORS).", + "markdownDescription": "A configuration for a set of HTTP response headers that are used for cross-origin resource sharing (CORS).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "CustomHeadersConfig": { - "$ref": "#/definitions/CustomHeadersConfig" + "$ref": "#/definitions/CustomHeadersConfig", + "description": "A configuration for a set of custom HTTP response headers.", + "markdownDescription": "A configuration for a set of custom HTTP response headers.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Name": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "A name to identify the response headers policy.\n The name must be unique for response headers policies in this AWS-account.", + "markdownDescription": "A name to identify the response headers policy.\n The name must be unique for response headers policies in this AWS-account.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "RemoveHeadersConfig": { - "$ref": "#/definitions/RemoveHeadersConfig" + "$ref": "#/definitions/RemoveHeadersConfig", + "description": "A configuration for a set of HTTP headers to remove from the HTTP response.", + "markdownDescription": "A configuration for a set of HTTP headers to remove from the HTTP response.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "SecurityHeadersConfig": { - "$ref": "#/definitions/SecurityHeadersConfig" + "$ref": "#/definitions/SecurityHeadersConfig", + "description": "A configuration for a set of security-related HTTP response headers.", + "markdownDescription": "A configuration for a set of security-related HTTP response headers.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "ServerTimingHeadersConfig": { - "$ref": "#/definitions/ServerTimingHeadersConfig" + "$ref": "#/definitions/ServerTimingHeadersConfig", + "description": "A configuration for enabling the ``Server-Timing`` header in HTTP responses sent from CloudFront.", + "markdownDescription": "A configuration for enabling the ``Server-Timing`` header in HTTP responses sent from CloudFront.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ "Name" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A response headers policy configuration.\n A response headers policy configuration contains metadata about the response headers policy, and configurations for sets of HTTP response headers.", + "markdownDescription": "A response headers policy configuration.\n A response headers policy configuration contains metadata about the response headers policy, and configurations for sets of HTTP response headers.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SecurityHeadersConfig": { "additionalProperties": false, "properties": { "ContentSecurityPolicy": { - "$ref": "#/definitions/ContentSecurityPolicy" + "$ref": "#/definitions/ContentSecurityPolicy", + "description": "The policy directives and their values that CloudFront includes as values for the ``Content-Security-Policy`` HTTP response header.\n For more information about the ``Content-Security-Policy`` HTTP response header, see [Content-Security-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) in the MDN Web Docs.", + "markdownDescription": "The policy directives and their values that CloudFront includes as values for the ``Content-Security-Policy`` HTTP response header.\n For more information about the ``Content-Security-Policy`` HTTP response header, see [Content-Security-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) in the MDN Web Docs.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "ContentTypeOptions": { - "$ref": "#/definitions/ContentTypeOptions" + "$ref": "#/definitions/ContentTypeOptions", + "description": "Determines whether CloudFront includes the ``X-Content-Type-Options`` HTTP response header with its value set to ``nosniff``.\n For more information about the ``X-Content-Type-Options`` HTTP response header, see [X-Content-Type-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) in the MDN Web Docs.", + "markdownDescription": "Determines whether CloudFront includes the ``X-Content-Type-Options`` HTTP response header with its value set to ``nosniff``.\n For more information about the ``X-Content-Type-Options`` HTTP response header, see [X-Content-Type-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) in the MDN Web Docs.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "FrameOptions": { - "$ref": "#/definitions/FrameOptions" + "$ref": "#/definitions/FrameOptions", + "description": "Determines whether CloudFront includes the ``X-Frame-Options`` HTTP response header and the header's value.\n For more information about the ``X-Frame-Options`` HTTP response header, see [X-Frame-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) in the MDN Web Docs.", + "markdownDescription": "Determines whether CloudFront includes the ``X-Frame-Options`` HTTP response header and the header's value.\n For more information about the ``X-Frame-Options`` HTTP response header, see [X-Frame-Options](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) in the MDN Web Docs.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "ReferrerPolicy": { - "$ref": "#/definitions/ReferrerPolicy" + "$ref": "#/definitions/ReferrerPolicy", + "description": "Determines whether CloudFront includes the ``Referrer-Policy`` HTTP response header and the header's value.\n For more information about the ``Referrer-Policy`` HTTP response header, see [Referrer-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) in the MDN Web Docs.", + "markdownDescription": "Determines whether CloudFront includes the ``Referrer-Policy`` HTTP response header and the header's value.\n For more information about the ``Referrer-Policy`` HTTP response header, see [Referrer-Policy](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) in the MDN Web Docs.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "StrictTransportSecurity": { - "$ref": "#/definitions/StrictTransportSecurity" + "$ref": "#/definitions/StrictTransportSecurity", + "description": "Determines whether CloudFront includes the ``Strict-Transport-Security`` HTTP response header and the header's value.\n For more information about the ``Strict-Transport-Security`` HTTP response header, see [Security headers](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/understanding-response-headers-policies.html#understanding-response-headers-policies-security) in the *Amazon CloudFront Developer Guide* and [Strict-Transport-Security](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) in the MDN Web Docs.", + "markdownDescription": "Determines whether CloudFront includes the ``Strict-Transport-Security`` HTTP response header and the header's value.\n For more information about the ``Strict-Transport-Security`` HTTP response header, see [Security headers](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/understanding-response-headers-policies.html#understanding-response-headers-policies-security) in the *Amazon CloudFront Developer Guide* and [Strict-Transport-Security](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) in the MDN Web Docs.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "XSSProtection": { - "$ref": "#/definitions/XSSProtection" + "$ref": "#/definitions/XSSProtection", + "description": "Determines whether CloudFront includes the ``X-XSS-Protection`` HTTP response header and the header's value.\n For more information about the ``X-XSS-Protection`` HTTP response header, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.", + "markdownDescription": "Determines whether CloudFront includes the ``X-XSS-Protection`` HTTP response header and the header's value.\n For more information about the ``X-XSS-Protection`` HTTP response header, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A configuration for a set of security-related HTTP response headers. CloudFront adds these headers to HTTP responses that it sends for requests that match a cache behavior associated with this response headers policy.", + "markdownDescription": "A configuration for a set of security-related HTTP response headers. CloudFront adds these headers to HTTP responses that it sends for requests that match a cache behavior associated with this response headers policy.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ServerTimingHeadersConfig": { "additionalProperties": false, "properties": { "Enabled": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + "description": "A Boolean that determines whether CloudFront adds the ``Server-Timing`` header to HTTP responses that it sends in response to requests that match a cache behavior that's associated with this response headers policy.", + "markdownDescription": "A Boolean that determines whether CloudFront adds the ``Server-Timing`` header to HTTP responses that it sends in response to requests that match a cache behavior that's associated with this response headers policy.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" }, "SamplingRate": { "maximum": 100, "minimum": 0, "multipleOf": 0.0001, "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "description": "A number 0\u2013100 (inclusive) that specifies the percentage of responses that you want CloudFront to add the ``Server-Timing`` header to. When you set the sampling rate to 100, CloudFront adds the ``Server-Timing`` header to the HTTP response for every request that matches the cache behavior that this response headers policy is attached to. When you set it to 50, CloudFront adds the header to 50% of the responses for requests that match the cache behavior. You can set the sampling rate to any number 0\u2013100 with up to four decimal places.", + "markdownDescription": "A number 0\u2013100 (inclusive) that specifies the percentage of responses that you want CloudFront to add the ``Server-Timing`` header to. When you set the sampling rate to 100, CloudFront adds the ``Server-Timing`` header to the HTTP response for every request that matches the cache behavior that this response headers policy is attached to. When you set it to 50, CloudFront adds the header to 50% of the responses for requests that match the cache behavior. You can set the sampling rate to any number 0\u2013100 with up to four decimal places.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" } }, "required": [ "Enabled" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A configuration for enabling the ``Server-Timing`` header in HTTP responses sent from CloudFront.", + "markdownDescription": "A configuration for enabling the ``Server-Timing`` header in HTTP responses sent from CloudFront.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "StrictTransportSecurity": { "additionalProperties": false, "properties": { "AccessControlMaxAgeSec": { "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "description": "A number that CloudFront uses as the value for the ``max-age`` directive in the ``Strict-Transport-Security`` HTTP response header.", + "markdownDescription": "A number that CloudFront uses as the value for the ``max-age`` directive in the ``Strict-Transport-Security`` HTTP response header.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, "IncludeSubdomains": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "description": "A Boolean that determines whether CloudFront includes the ``includeSubDomains`` directive in the ``Strict-Transport-Security`` HTTP response header.", + "markdownDescription": "A Boolean that determines whether CloudFront includes the ``includeSubDomains`` directive in the ``Strict-Transport-Security`` HTTP response header.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "Override": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + "description": "A Boolean that determines whether CloudFront overrides the ``Strict-Transport-Security`` HTTP response header received from the origin with the one specified in this response headers policy.", + "markdownDescription": "A Boolean that determines whether CloudFront overrides the ``Strict-Transport-Security`` HTTP response header received from the origin with the one specified in this response headers policy.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" }, "Preload": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "description": "A Boolean that determines whether CloudFront includes the ``preload`` directive in the ``Strict-Transport-Security`` HTTP response header.", + "markdownDescription": "A Boolean that determines whether CloudFront includes the ``preload`` directive in the ``Strict-Transport-Security`` HTTP response header.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ @@ -367,26 +441,31 @@ "AccessControlMaxAgeSec" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Determines whether CloudFront includes the ``Strict-Transport-Security`` HTTP response header and the header's value.\n For more information about the ``Strict-Transport-Security`` HTTP response header, see [Strict-Transport-Security](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) in the MDN Web Docs.", + "markdownDescription": "Determines whether CloudFront includes the ``Strict-Transport-Security`` HTTP response header and the header's value.\n For more information about the ``Strict-Transport-Security`` HTTP response header, see [Strict-Transport-Security](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) in the MDN Web Docs.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "XSSProtection": { "additionalProperties": false, "properties": { "ModeBlock": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "description": "A Boolean that determines whether CloudFront includes the ``mode=block`` directive in the ``X-XSS-Protection`` header.\n For more information about this directive, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.", + "markdownDescription": "A Boolean that determines whether CloudFront includes the ``mode=block`` directive in the ``X-XSS-Protection`` header.\n For more information about this directive, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "Override": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + "description": "A Boolean that determines whether CloudFront overrides the ``X-XSS-Protection`` HTTP response header received from the origin with the one specified in this response headers policy.", + "markdownDescription": "A Boolean that determines whether CloudFront overrides the ``X-XSS-Protection`` HTTP response header received from the origin with the one specified in this response headers policy.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" }, "Protection": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + "description": "A Boolean that determines the value of the ``X-XSS-Protection`` HTTP response header. When this setting is ``true``, the value of the ``X-XSS-Protection`` header is ``1``. When this setting is ``false``, the value of the ``X-XSS-Protection`` header is ``0``.\n For more information about these settings, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.", + "markdownDescription": "A Boolean that determines the value of the ``X-XSS-Protection`` HTTP response header. When this setting is ``true``, the value of the ``X-XSS-Protection`` header is ``1``. When this setting is ``false``, the value of the ``X-XSS-Protection`` header is ``0``.\n For more information about these settings, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" }, "ReportUri": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A reporting URI, which CloudFront uses as the value of the ``report`` directive in the ``X-XSS-Protection`` header.\n You cannot specify a ``ReportUri`` when ``ModeBlock`` is ``true``.\n For more information about using a reporting URL, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.", + "markdownDescription": "A reporting URI, which CloudFront uses as the value of the ``report`` directive in the ``X-XSS-Protection`` header.\n You cannot specify a ``ReportUri`` when ``ModeBlock`` is ``true``.\n For more information about using a reporting URL, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -394,10 +473,11 @@ "Protection" ], "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Determines whether CloudFront includes the ``X-XSS-Protection`` HTTP response header and the header's value.\n For more information about the ``X-XSS-Protection`` HTTP response header, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.", + "markdownDescription": "Determines whether CloudFront includes the ``X-XSS-Protection`` HTTP response header and the header's value.\n For more information about the ``X-XSS-Protection`` HTTP response header, see [X-XSS-Protection](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection) in the MDN Web Docs.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "description": "Resource Type definition for AWS::CloudFront::ResponseHeadersPolicy", + "description": "A response headers policy.\n A response headers policy contains information about a set of HTTP response headers.\n After you create a response headers policy, you can use its ID to attach it to one or more cache behaviors in a CloudFront distribution. When it's attached to a cache behavior, the response headers policy affects the HTTP headers that CloudFront includes in HTTP responses to requests that match the cache behavior. CloudFront adds or removes response headers according to the configuration of the response headers policy.\n For more information, see [Adding or removing HTTP headers in CloudFront responses](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/modifying-response-headers.html) in the *Amazon CloudFront Developer Guide*.", "handlers": { "create": { "permissions": [ @@ -432,7 +512,9 @@ ], "properties": { "ResponseHeadersPolicyConfig": { - "$ref": "#/definitions/ResponseHeadersPolicyConfig" + "$ref": "#/definitions/ResponseHeadersPolicyConfig", + "description": "A response headers policy configuration.", + "markdownDescription": "A response headers policy configuration.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "readOnlyProperties": [ @@ -452,10 +534,12 @@ "attributes": { "Id": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "LastModifiedTime": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } diff --git a/server/schema/resources/aws-cloudtrail-dashboard.json b/server/schema/resources/aws-cloudtrail-dashboard.json new file mode 100644 index 00000000..b9700b77 --- /dev/null +++ b/server/schema/resources/aws-cloudtrail-dashboard.json @@ -0,0 +1,269 @@ +{ + "typeName": "AWS::CloudTrail::Dashboard", + "description": "The Amazon CloudTrail dashboard resource allows customers to manage managed dashboards and create custom dashboards. You can manually refresh custom and managed dashboards. For custom dashboards, you can also set up an automatic refresh schedule and modify dashboard widgets.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudtrail.git", + "definitions": { + "RefreshSchedule": { + "description": "Configures the automatic refresh schedule for the dashboard. Includes the frequency unit (DAYS or HOURS) and value, as well as the status (ENABLED or DISABLED) of the refresh schedule.", + "type": "object", + "additionalProperties": false, + "properties": { + "Frequency": { + "type": "object", + "additionalProperties": false, + "properties": { + "Unit": { + "description": "The frequency unit. Supported values are HOURS and DAYS.", + "type": "string", + "enum": [ + "HOURS", + "DAYS" + ], + "markdownDescription": "The frequency unit. Supported values are HOURS and DAYS.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: HOURS | DAYS \nUpdate requires: No interruption" + }, + "Value": { + "description": "The frequency value.", + "type": "integer", + "markdownDescription": "The frequency value.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + } + }, + "required": [ + "Unit", + "Value" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TimeOfDay": { + "type": "string", + "description": "StartTime of the automatic schedule refresh.", + "markdownDescription": "StartTime of the automatic schedule refresh.\n\n---\n\nRequired: No \nType: String \nPattern: ^[0-9]{2}:[0-9]{2} \nUpdate requires: No interruption" + }, + "Status": { + "type": "string", + "description": "The status of the schedule. Supported values are ENABLED and DISABLED.", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "The status of the schedule. Supported values are ENABLED and DISABLED.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + } + }, + "required": [], + "markdownDescription": "Configures the automatic refresh schedule for the dashboard. Includes the frequency unit (DAYS or HOURS) and value, as well as the status (ENABLED or DISABLED) of the refresh schedule.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "QueryParameter": { + "type": "string", + "description": "The value of the QueryParameter. Possible values: $StartTime$, $EndTime$, $Period$.", + "minLength": 1, + "maxLength": 1024, + "markdownDescription": "The value of the QueryParameter. Possible values: $StartTime$, $EndTime$, $Period$.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nPattern: .* \nUpdate requires: No interruption" + }, + "Widget": { + "description": "The dashboard widget", + "type": "object", + "additionalProperties": false, + "properties": { + "QueryStatement": { + "description": "The SQL query statement on one or more event data stores.", + "type": "string", + "minLength": 1, + "maxLength": 10000, + "markdownDescription": "The SQL query statement on one or more event data stores.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 10000 \nPattern: (?s).* \nUpdate requires: No interruption" + }, + "QueryParameters": { + "description": "The placeholder keys in the QueryStatement. For example: $StartTime$, $EndTime$, $Period$.", + "type": "array", + "items": { + "$ref": "#/definitions/QueryParameter" + }, + "minItems": 1, + "maxItems": 10, + "uniqueItems": false, + "insertionOrder": true, + "markdownDescription": "The placeholder keys in the QueryStatement. For example: $StartTime$, $EndTime$, $Period$.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ViewProperties": { + "description": "The view properties of the widget.", + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9._-]{3,128}$": { + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9._\\- ]+$ \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The view properties of the widget.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "required": [ + "QueryStatement" + ], + "markdownDescription": "The dashboard widget\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tag": { + "description": "An arbitrary set of tags (key-value pairs) for this dashboard.", + "type": "object", + "additionalProperties": false, + "properties": { + "Key": { + "description": "The key name of the tag. You can specify a value that is 1 to 127 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "type": "string", + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 127 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Value": { + "description": "The value for the tag. You can specify a value that is 1 to 255 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "type": "string", + "markdownDescription": "The value for the tag. You can specify a value that is 1 to 255 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Value", + "Key" + ], + "markdownDescription": "An arbitrary set of tags (key-value pairs) for this dashboard.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Timestamp": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "properties": { + "Widgets": { + "description": "List of widgets on the dashboard", + "type": "array", + "items": { + "$ref": "#/definitions/Widget" + }, + "uniqueItems": true, + "insertionOrder": true, + "markdownDescription": "List of widgets on the dashboard\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "RefreshSchedule": { + "description": "Configures the automatic refresh schedule for the dashboard. Includes the frequency unit (DAYS or HOURS) and value, as well as the status (ENABLED or DISABLED) of the refresh schedule.", + "$ref": "#/definitions/RefreshSchedule", + "markdownDescription": "Configures the automatic refresh schedule for the dashboard. Includes the frequency unit (DAYS or HOURS) and value, as well as the status (ENABLED or DISABLED) of the refresh schedule.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Name": { + "description": "The name of the dashboard.", + "type": "string", + "markdownDescription": "The name of the dashboard.\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-zA-Z0-9_\\-]+$ \nUpdate requires: No interruption" + }, + "TerminationProtectionEnabled": { + "description": "Indicates whether the dashboard is protected from termination.", + "type": "boolean", + "markdownDescription": "Indicates whether the dashboard is protected from termination.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "Tags": { + "type": "array", + "uniqueItems": false, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [], + "readOnlyProperties": [ + "/properties/DashboardArn", + "/properties/CreatedTimestamp", + "/properties/UpdatedTimestamp", + "/properties/Status", + "/properties/Type" + ], + "primaryIdentifier": [ + "/properties/DashboardArn" + ], + "handlers": { + "create": { + "permissions": [ + "CloudTrail:CreateDashboard", + "CloudTrail:AddTags", + "CloudTrail:StartQuery", + "CloudTrail:StartDashboardRefresh" + ] + }, + "read": { + "permissions": [ + "CloudTrail:GetDashboard", + "CloudTrail:ListDashboards", + "CloudTrail:ListTags" + ] + }, + "update": { + "permissions": [ + "CloudTrail:UpdateDashboard", + "CloudTrail:AddTags", + "CloudTrail:RemoveTags", + "CloudTrail:StartQuery", + "CloudTrail:StartDashboardRefresh" + ] + }, + "delete": { + "permissions": [ + "CloudTrail:DeleteDashboard", + "CloudTrail:UpdateDashboard" + ] + }, + "list": { + "permissions": [ + "CloudTrail:ListDashboards", + "CloudTrail:GetDashboard", + "CloudTrail:ListTags" + ] + } + }, + "additionalProperties": false, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "CloudTrail:AddTags", + "CloudTrail:RemoveTags", + "CloudTrail:ListTags" + ] + }, + "attributes": { + "CreatedTimestamp": { + "description": "The timestamp of the dashboard creation.", + "$ref": "#/definitions/Timestamp", + "markdownDescription": "The timestamp of the dashboard creation.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "DashboardArn": { + "description": "The ARN of the dashboard.", + "type": "string", + "markdownDescription": "The ARN of the dashboard.\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-zA-Z0-9._/\\-:]+$ \nUpdate requires: No interruption" + }, + "Status": { + "description": "The status of the dashboard. Values are CREATING, CREATED, UPDATING, UPDATED and DELETING.", + "type": "string", + "enum": [ + "CREATING", + "CREATED", + "UPDATING", + "UPDATED", + "DELETING" + ], + "markdownDescription": "The status of the dashboard. Values are CREATING, CREATED, UPDATING, UPDATED and DELETING.\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATING | CREATED | UPDATING | UPDATED | DELETING \nUpdate requires: No interruption" + }, + "Type": { + "description": "The type of the dashboard. Values are CUSTOM and MANAGED.", + "type": "string", + "enum": [ + "MANAGED", + "CUSTOM" + ], + "markdownDescription": "The type of the dashboard. Values are CUSTOM and MANAGED.\n\n---\n\nRequired: No \nType: String \nAllowed Values: MANAGED | CUSTOM \nUpdate requires: No interruption" + }, + "UpdatedTimestamp": { + "description": "The timestamp showing when the dashboard was updated, if applicable. UpdatedTimestamp is always either the same or newer than the time shown in CreatedTimestamp.", + "$ref": "#/definitions/Timestamp", + "markdownDescription": "The timestamp showing when the dashboard was updated, if applicable. UpdatedTimestamp is always either the same or newer than the time shown in CreatedTimestamp.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-cloudtrail-trail.json b/server/schema/resources/aws-cloudtrail-trail.json index a57102ee..f0ed902c 100644 --- a/server/schema/resources/aws-cloudtrail-trail.json +++ b/server/schema/resources/aws-cloudtrail-trail.json @@ -1,12 +1,187 @@ { + "tagging": { + "permissions": [ + "CloudTrail:AddTags", + "CloudTrail:RemoveTags", + "CloudTrail:ListTags" + ], + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": false + }, "typeName": "AWS::CloudTrail::Trail", + "readOnlyProperties": [ + "/properties/Arn", + "/properties/SnsTopicArn" + ], "description": "Creates a trail that specifies the settings for delivery of log data to an Amazon S3 bucket. A maximum of five trails can exist in a region, irrespective of the region in which they were created.", + "createOnlyProperties": [ + "/properties/TrailName" + ], + "primaryIdentifier": [ + "/properties/TrailName" + ], + "required": [ + "S3BucketName", + "IsLogging" + ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudtrail.git", + "propertyTransform": { + "/properties/KMSKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KMSKeyId])" + }, + "handlers": { + "read": { + "permissions": [ + "CloudTrail:GetTrail", + "CloudTrail:GetTrailStatus", + "CloudTrail:ListTags", + "CloudTrail:GetEventSelectors", + "CloudTrail:GetInsightSelectors", + "CloudTrail:DescribeTrails" + ] + }, + "create": { + "permissions": [ + "CloudTrail:CreateTrail", + "CloudTrail:StartLogging", + "CloudTrail:AddTags", + "CloudTrail:PutEventSelectors", + "CloudTrail:PutInsightSelectors", + "iam:GetRole", + "iam:PassRole", + "iam:CreateServiceLinkedRole", + "organizations:DescribeOrganization", + "organizations:ListAWSServiceAccessForOrganization" + ] + }, + "update": { + "permissions": [ + "CloudTrail:UpdateTrail", + "CloudTrail:StartLogging", + "CloudTrail:StopLogging", + "CloudTrail:AddTags", + "CloudTrail:RemoveTags", + "CloudTrail:PutEventSelectors", + "CloudTrail:PutInsightSelectors", + "iam:GetRole", + "iam:PassRole", + "iam:CreateServiceLinkedRole", + "organizations:DescribeOrganization", + "organizations:ListAWSServiceAccessForOrganization", + "CloudTrail:GetTrail", + "CloudTrail:DescribeTrails" + ] + }, + "list": { + "permissions": [ + "CloudTrail:ListTrails", + "CloudTrail:GetTrail", + "CloudTrail:GetTrailStatus", + "CloudTrail:ListTags", + "CloudTrail:GetEventSelectors", + "CloudTrail:GetInsightSelectors", + "CloudTrail:DescribeTrails" + ] + }, + "delete": { + "permissions": [ + "CloudTrail:DeleteTrail" + ] + } + }, + "additionalProperties": false, "definitions": { + "AdvancedEventSelector": { + "description": "Advanced event selectors let you create fine-grained selectors for the following AWS CloudTrail event record \ufb01elds. They help you control costs by logging only those events that are important to you.", + "additionalProperties": false, + "type": "object", + "properties": { + "FieldSelectors": { + "minItems": 1, + "uniqueItems": true, + "description": "Contains all selector statements in an advanced event selector.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/AdvancedFieldSelector" + }, + "markdownDescription": "Contains all selector statements in an advanced event selector.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "Name": { + "minLength": 1, + "description": "An optional, descriptive name for an advanced event selector, such as \"Log data events for only two S3 buckets\".", + "type": "string", + "maxLength": 1000, + "markdownDescription": "An optional, descriptive name for an advanced event selector, such as \"Log data events for only two S3 buckets\".\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nUpdate requires: No interruption" + } + }, + "required": [ + "FieldSelectors" + ], + "markdownDescription": "Advanced event selectors let you create fine-grained selectors for the following AWS CloudTrail event record \ufb01elds. They help you control costs by logging only those events that are important to you.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "InsightSelector": { + "description": "A string that contains insight types that are logged on a trail.", + "additionalProperties": false, + "type": "object", + "properties": { + "InsightType": { + "description": "The type of insight to log on a trail.", + "type": "string", + "markdownDescription": "The type of insight to log on a trail.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "A string that contains insight types that are logged on a trail.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EventSelector": { + "description": "The type of email sending events to publish to the event destination.", + "additionalProperties": false, + "type": "object", + "properties": { + "IncludeManagementEvents": { + "description": "Specify if you want your event selector to include management events for your trail.", + "type": "boolean", + "markdownDescription": "Specify if you want your event selector to include management events for your trail.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "ReadWriteType": { + "description": "Specify if you want your trail to log read-only events, write-only events, or all. For example, the EC2 GetConsoleOutput is a read-only API operation and RunInstances is a write-only API operation.", + "type": "string", + "enum": [ + "All", + "ReadOnly", + "WriteOnly" + ], + "markdownDescription": "Specify if you want your trail to log read-only events, write-only events, or all. For example, the EC2 GetConsoleOutput is a read-only API operation and RunInstances is a write-only API operation.\n\n---\n\nRequired: No \nType: String \nAllowed Values: All | ReadOnly | WriteOnly \nUpdate requires: No interruption" + }, + "ExcludeManagementEventSources": { + "uniqueItems": true, + "description": "An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out AWS Key Management Service events by containing \"kms.amazonaws.com\". By default, ExcludeManagementEventSources is empty, and AWS KMS events are included in events that are logged to your trail.", + "insertionOrder": false, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out AWS Key Management Service events by containing \"kms.amazonaws.com\". By default, ExcludeManagementEventSources is empty, and AWS KMS events are included in events that are logged to your trail.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "DataResources": { + "uniqueItems": true, + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/DataResource" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The type of email sending events to publish to the event destination.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "DataResource": { "description": "CloudTrail supports data event logging for Amazon S3 objects and AWS Lambda functions. You can specify up to 250 resources for an individual event selector, but the total number of data resources cannot exceed 250 across all event selectors in a trail. This limit does not apply if you configure resource logging for all data events.", - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "Type": { "description": "The resource type in which you want to log data events. You can specify AWS::S3::Object or AWS::Lambda::Function resources.", @@ -14,10 +189,10 @@ "markdownDescription": "The resource type in which you want to log data events. You can specify AWS::S3::Object or AWS::Lambda::Function resources.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Values": { - "description": "An array of Amazon Resource Name (ARN) strings or partial ARN strings for the specified objects.", - "type": "array", "uniqueItems": true, + "description": "An array of Amazon Resource Name (ARN) strings or partial ARN strings for the specified objects.", "insertionOrder": false, + "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" @@ -30,282 +205,157 @@ ], "markdownDescription": "CloudTrail supports data event logging for Amazon S3 objects and AWS Lambda functions. You can specify up to 250 resources for an individual event selector, but the total number of data resources cannot exceed 250 across all event selectors in a trail. This limit does not apply if you configure resource logging for all data events.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "Tag": { + "description": "An arbitrary set of tags (key-value pairs) for this trail.", + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "description": "The value for the tag. You can specify a value that is 1 to 255 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "type": "string", + "markdownDescription": "The value for the tag. You can specify a value that is 1 to 255 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Key": { + "description": "The key name of the tag. You can specify a value that is 1 to 127 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "type": "string", + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 127 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Value", + "Key" + ], + "markdownDescription": "An arbitrary set of tags (key-value pairs) for this trail.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "AdvancedFieldSelector": { "description": "A single selector statement in an advanced event selector.", - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "Field": { + "minLength": 1, "description": "A field in an event record on which to filter events to be logged. Supported fields include readOnly, eventCategory, eventSource (for management events), eventName, resources.type, and resources.ARN.", "type": "string", - "minLength": 1, "maxLength": 1000, "markdownDescription": "A field in an event record on which to filter events to be logged. Supported fields include readOnly, eventCategory, eventSource (for management events), eventName, resources.type, and resources.ARN.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nPattern: ([\\w|\\d|\\.|_]+) \nUpdate requires: No interruption" }, "Equals": { - "description": "An operator that includes events that match the exact value of the event record field specified as the value of Field. This is the only valid operator that you can use with the readOnly, eventCategory, and resources.type fields.", - "type": "array", + "minItems": 1, "uniqueItems": true, + "description": "An operator that includes events that match the exact value of the event record field specified as the value of Field. This is the only valid operator that you can use with the readOnly, eventCategory, and resources.type fields.", "insertionOrder": false, - "minItems": 1, + "type": "array", "items": { - "type": "string", "minLength": 1, + "type": "string", "maxLength": 2048, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: (.+) \nUpdate requires: No interruption" }, "markdownDescription": "An operator that includes events that match the exact value of the event record field specified as the value of Field. This is the only valid operator that you can use with the readOnly, eventCategory, and resources.type fields.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "StartsWith": { - "description": "An operator that includes events that match the first few characters of the event record field specified as the value of Field.", - "type": "array", + "NotStartsWith": { + "minItems": 1, "uniqueItems": true, + "description": "An operator that excludes events that match the first few characters of the event record field specified as the value of Field.", "insertionOrder": false, - "minItems": 1, + "type": "array", "items": { - "type": "string", "minLength": 1, + "type": "string", "maxLength": 2048, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: (.+) \nUpdate requires: No interruption" }, - "markdownDescription": "An operator that includes events that match the first few characters of the event record field specified as the value of Field.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "An operator that excludes events that match the first few characters of the event record field specified as the value of Field.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "EndsWith": { - "description": "An operator that includes events that match the last few characters of the event record field specified as the value of Field.", - "type": "array", + "NotEndsWith": { + "minItems": 1, "uniqueItems": true, + "description": "An operator that excludes events that match the last few characters of the event record field specified as the value of Field.", "insertionOrder": false, - "minItems": 1, + "type": "array", "items": { - "type": "string", "minLength": 1, + "type": "string", "maxLength": 2048, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: (.+) \nUpdate requires: No interruption" }, - "markdownDescription": "An operator that includes events that match the last few characters of the event record field specified as the value of Field.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "An operator that excludes events that match the last few characters of the event record field specified as the value of Field.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "NotEquals": { - "description": "An operator that excludes events that match the exact value of the event record field specified as the value of Field.", - "type": "array", + "StartsWith": { + "minItems": 1, "uniqueItems": true, + "description": "An operator that includes events that match the first few characters of the event record field specified as the value of Field.", "insertionOrder": false, - "minItems": 1, + "type": "array", "items": { - "type": "string", "minLength": 1, + "type": "string", "maxLength": 2048, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: (.+) \nUpdate requires: No interruption" }, - "markdownDescription": "An operator that excludes events that match the exact value of the event record field specified as the value of Field.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "An operator that includes events that match the first few characters of the event record field specified as the value of Field.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "NotStartsWith": { - "description": "An operator that excludes events that match the first few characters of the event record field specified as the value of Field.", - "type": "array", + "EndsWith": { + "minItems": 1, "uniqueItems": true, + "description": "An operator that includes events that match the last few characters of the event record field specified as the value of Field.", "insertionOrder": false, - "minItems": 1, + "type": "array", "items": { - "type": "string", "minLength": 1, + "type": "string", "maxLength": 2048, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: (.+) \nUpdate requires: No interruption" }, - "markdownDescription": "An operator that excludes events that match the first few characters of the event record field specified as the value of Field.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "An operator that includes events that match the last few characters of the event record field specified as the value of Field.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "NotEndsWith": { - "description": "An operator that excludes events that match the last few characters of the event record field specified as the value of Field.", - "type": "array", + "NotEquals": { + "minItems": 1, "uniqueItems": true, + "description": "An operator that excludes events that match the exact value of the event record field specified as the value of Field.", "insertionOrder": false, - "minItems": 1, + "type": "array", "items": { - "type": "string", "minLength": 1, + "type": "string", "maxLength": 2048, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: (.+) \nUpdate requires: No interruption" }, - "markdownDescription": "An operator that excludes events that match the last few characters of the event record field specified as the value of Field.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "An operator that excludes events that match the exact value of the event record field specified as the value of Field.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ "Field" ], "markdownDescription": "A single selector statement in an advanced event selector.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "AdvancedEventSelector": { - "description": "Advanced event selectors let you create fine-grained selectors for the following AWS CloudTrail event record \ufb01elds. They help you control costs by logging only those events that are important to you.", - "type": "object", - "additionalProperties": false, - "properties": { - "Name": { - "description": "An optional, descriptive name for an advanced event selector, such as \"Log data events for only two S3 buckets\".", - "type": "string", - "minLength": 1, - "maxLength": 1000, - "markdownDescription": "An optional, descriptive name for an advanced event selector, such as \"Log data events for only two S3 buckets\".\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nUpdate requires: No interruption" - }, - "FieldSelectors": { - "description": "Contains all selector statements in an advanced event selector.", - "type": "array", - "uniqueItems": true, - "insertionOrder": false, - "minItems": 1, - "items": { - "$ref": "#/definitions/AdvancedFieldSelector" - }, - "markdownDescription": "Contains all selector statements in an advanced event selector.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - } - }, - "required": [ - "FieldSelectors" - ], - "markdownDescription": "Advanced event selectors let you create fine-grained selectors for the following AWS CloudTrail event record \ufb01elds. They help you control costs by logging only those events that are important to you.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "EventSelector": { - "description": "The type of email sending events to publish to the event destination.", - "type": "object", - "additionalProperties": false, - "properties": { - "DataResources": { - "type": "array", - "uniqueItems": true, - "insertionOrder": false, - "items": { - "$ref": "#/definitions/DataResource" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "IncludeManagementEvents": { - "description": "Specify if you want your event selector to include management events for your trail.", - "type": "boolean", - "markdownDescription": "Specify if you want your event selector to include management events for your trail.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "ReadWriteType": { - "description": "Specify if you want your trail to log read-only events, write-only events, or all. For example, the EC2 GetConsoleOutput is a read-only API operation and RunInstances is a write-only API operation.", - "type": "string", - "enum": [ - "All", - "ReadOnly", - "WriteOnly" - ], - "markdownDescription": "Specify if you want your trail to log read-only events, write-only events, or all. For example, the EC2 GetConsoleOutput is a read-only API operation and RunInstances is a write-only API operation.\n\n---\n\nRequired: No \nType: String \nAllowed Values: All | ReadOnly | WriteOnly \nUpdate requires: No interruption" - }, - "ExcludeManagementEventSources": { - "description": "An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out AWS Key Management Service events by containing \"kms.amazonaws.com\". By default, ExcludeManagementEventSources is empty, and AWS KMS events are included in events that are logged to your trail.", - "type": "array", - "uniqueItems": true, - "insertionOrder": false, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out AWS Key Management Service events by containing \"kms.amazonaws.com\". By default, ExcludeManagementEventSources is empty, and AWS KMS events are included in events that are logged to your trail.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - } - }, - "markdownDescription": "The type of email sending events to publish to the event destination.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Tag": { - "description": "An arbitrary set of tags (key-value pairs) for this trail.", - "type": "object", - "additionalProperties": false, - "properties": { - "Key": { - "description": "The key name of the tag. You can specify a value that is 1 to 127 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", - "type": "string", - "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 127 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "Value": { - "description": "The value for the tag. You can specify a value that is 1 to 255 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", - "type": "string", - "markdownDescription": "The value for the tag. You can specify a value that is 1 to 255 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - } - }, - "required": [ - "Value", - "Key" - ], - "markdownDescription": "An arbitrary set of tags (key-value pairs) for this trail.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "InsightSelector": { - "description": "A string that contains insight types that are logged on a trail.", - "type": "object", - "additionalProperties": false, - "properties": { - "InsightType": { - "description": "The type of insight to log on a trail.", - "type": "string", - "markdownDescription": "The type of insight to log on a trail.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "markdownDescription": "A string that contains insight types that are logged on a trail.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { - "CloudWatchLogsLogGroupArn": { - "description": "Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered. Not required unless you specify CloudWatchLogsRoleArn.", - "type": "string", - "markdownDescription": "Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered. Not required unless you specify CloudWatchLogsRoleArn.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "CloudWatchLogsRoleArn": { - "description": "Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.", - "type": "string", - "markdownDescription": "Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "EnableLogFileValidation": { - "description": "Specifies whether log file validation is enabled. The default is false.", + "IncludeGlobalServiceEvents": { + "description": "Specifies whether the trail is publishing events from global services such as IAM to the log files.", "type": "boolean", - "markdownDescription": "Specifies whether log file validation is enabled. The default is false.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "AdvancedEventSelectors": { - "description": "The advanced event selectors that were used to select events for the data store.", - "type": "array", - "items": { - "$ref": "#/definitions/AdvancedEventSelector" - }, - "uniqueItems": true, - "insertionOrder": false, - "markdownDescription": "The advanced event selectors that were used to select events for the data store.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies whether the trail is publishing events from global services such as IAM to the log files.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "EventSelectors": { + "maxItems": 5, + "uniqueItems": true, "description": "Use event selectors to further specify the management and data event settings for your trail. By default, trails created without specific event selectors will be configured to log all read and write management events, and no data events. When an event occurs in your account, CloudTrail evaluates the event selector for all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event. You can configure up to five event selectors for a trail.", + "insertionOrder": false, "type": "array", "items": { "$ref": "#/definitions/EventSelector" }, - "maxItems": 5, - "uniqueItems": true, - "insertionOrder": false, "markdownDescription": "Use event selectors to further specify the management and data event settings for your trail. By default, trails created without specific event selectors will be configured to log all read and write management events, and no data events. When an event occurs in your account, CloudTrail evaluates the event selector for all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event. You can configure up to five event selectors for a trail.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "IncludeGlobalServiceEvents": { - "description": "Specifies whether the trail is publishing events from global services such as IAM to the log files.", - "type": "boolean", - "markdownDescription": "Specifies whether the trail is publishing events from global services such as IAM to the log files.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "IsLogging": { - "description": "Whether the CloudTrail is currently logging AWS API calls.", - "type": "boolean", - "markdownDescription": "Whether the CloudTrail is currently logging AWS API calls.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" - }, - "IsMultiRegionTrail": { - "description": "Specifies whether the trail applies only to the current region or to all regions. The default is false. If the trail exists only in the current region and this value is set to true, shadow trails (replications of the trail) will be created in the other regions. If the trail exists in all regions and this value is set to false, the trail will remain in the region where it was created, and its shadow trails in other regions will be deleted. As a best practice, consider using trails that log events in all regions.", - "type": "boolean", - "markdownDescription": "Specifies whether the trail applies only to the current region or to all regions. The default is false. If the trail exists only in the current region and this value is set to true, shadow trails (replications of the trail) will be created in the other regions. If the trail exists in all regions and this value is set to false, the trail will remain in the region where it was created, and its shadow trails in other regions will be deleted. As a best practice, consider using trails that log events in all regions.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "IsOrganizationTrail": { - "description": "Specifies whether the trail is created for all accounts in an organization in AWS Organizations, or only for the current AWS account. The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the master account for an organization in AWS Organizations.", - "type": "boolean", - "markdownDescription": "Specifies whether the trail is created for all accounts in an organization in AWS Organizations, or only for the current AWS account. The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the master account for an organization in AWS Organizations.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, "KMSKeyId": { "description": "Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The value can be an alias name prefixed by 'alias/', a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.", "type": "string", "markdownDescription": "Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The value can be an alias name prefixed by 'alias/', a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "S3BucketName": { - "description": "Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.", + "CloudWatchLogsRoleArn": { + "description": "Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.", "type": "string", - "markdownDescription": "Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "S3KeyPrefix": { "description": "Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files. The maximum length is 200 characters.", @@ -313,128 +363,84 @@ "maxLength": 200, "markdownDescription": "Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files. The maximum length is 200 characters.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 200 \nUpdate requires: No interruption" }, - "SnsTopicName": { - "description": "Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.", - "type": "string", - "maxLength": 256, - "markdownDescription": "Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" - }, - "Tags": { - "type": "array", - "uniqueItems": false, + "AdvancedEventSelectors": { + "uniqueItems": true, + "description": "The advanced event selectors that were used to select events for the data store.", "insertionOrder": false, + "type": "array", "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AdvancedEventSelector" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The advanced event selectors that were used to select events for the data store.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "TrailName": { - "type": "string", "minLength": 3, + "type": "string", "maxLength": 128, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 3 \nMaximum Length: 128 \nPattern: (^[a-zA-Z0-9]$)|(^[a-zA-Z0-9]([a-zA-Z0-9\\._-])*[a-zA-Z0-9]$) \nUpdate requires: Replacement" }, + "IsOrganizationTrail": { + "description": "Specifies whether the trail is created for all accounts in an organization in AWS Organizations, or only for the current AWS account. The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the master account for an organization in AWS Organizations.", + "type": "boolean", + "markdownDescription": "Specifies whether the trail is created for all accounts in an organization in AWS Organizations, or only for the current AWS account. The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the master account for an organization in AWS Organizations.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, "InsightSelectors": { + "uniqueItems": true, "description": "Lets you enable Insights event logging by specifying the Insights selectors that you want to enable on an existing trail.", + "insertionOrder": false, "type": "array", "items": { "$ref": "#/definitions/InsightSelector" }, - "uniqueItems": true, - "insertionOrder": false, "markdownDescription": "Lets you enable Insights event logging by specifying the Insights selectors that you want to enable on an existing trail.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - } - }, - "required": [ - "S3BucketName", - "IsLogging" - ], - "readOnlyProperties": [ - "/properties/Arn", - "/properties/SnsTopicArn" - ], - "createOnlyProperties": [ - "/properties/TrailName" - ], - "primaryIdentifier": [ - "/properties/TrailName" - ], - "propertyTransform": { - "/properties/KMSKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KMSKeyId])" - }, - "handlers": { - "create": { - "permissions": [ - "CloudTrail:CreateTrail", - "CloudTrail:StartLogging", - "CloudTrail:AddTags", - "CloudTrail:PutEventSelectors", - "CloudTrail:PutInsightSelectors", - "iam:GetRole", - "iam:PassRole", - "iam:CreateServiceLinkedRole", - "organizations:DescribeOrganization", - "organizations:ListAWSServiceAccessForOrganization" - ] }, - "read": { - "permissions": [ - "CloudTrail:GetTrail", - "CloudTrail:GetTrailStatus", - "CloudTrail:ListTags", - "CloudTrail:GetEventSelectors", - "CloudTrail:GetInsightSelectors", - "CloudTrail:DescribeTrails" - ] + "CloudWatchLogsLogGroupArn": { + "description": "Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered. Not required unless you specify CloudWatchLogsRoleArn.", + "type": "string", + "markdownDescription": "Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered. Not required unless you specify CloudWatchLogsRoleArn.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "update": { - "permissions": [ - "CloudTrail:UpdateTrail", - "CloudTrail:StartLogging", - "CloudTrail:StopLogging", - "CloudTrail:AddTags", - "CloudTrail:RemoveTags", - "CloudTrail:PutEventSelectors", - "CloudTrail:PutInsightSelectors", - "iam:GetRole", - "iam:PassRole", - "iam:CreateServiceLinkedRole", - "organizations:DescribeOrganization", - "organizations:ListAWSServiceAccessForOrganization", - "CloudTrail:GetTrail", - "CloudTrail:DescribeTrails" - ] + "SnsTopicName": { + "description": "Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.", + "type": "string", + "maxLength": 256, + "markdownDescription": "Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" }, - "delete": { - "permissions": [ - "CloudTrail:DeleteTrail" - ] + "IsMultiRegionTrail": { + "description": "Specifies whether the trail applies only to the current region or to all regions. The default is false. If the trail exists only in the current region and this value is set to true, shadow trails (replications of the trail) will be created in the other regions. If the trail exists in all regions and this value is set to false, the trail will remain in the region where it was created, and its shadow trails in other regions will be deleted. As a best practice, consider using trails that log events in all regions.", + "type": "boolean", + "markdownDescription": "Specifies whether the trail applies only to the current region or to all regions. The default is false. If the trail exists only in the current region and this value is set to true, shadow trails (replications of the trail) will be created in the other regions. If the trail exists in all regions and this value is set to false, the trail will remain in the region where it was created, and its shadow trails in other regions will be deleted. As a best practice, consider using trails that log events in all regions.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "list": { - "permissions": [ - "CloudTrail:ListTrails", - "CloudTrail:GetTrail", - "CloudTrail:GetTrailStatus", - "CloudTrail:ListTags", - "CloudTrail:GetEventSelectors", - "CloudTrail:GetInsightSelectors", - "CloudTrail:DescribeTrails" - ] + "S3BucketName": { + "description": "Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.", + "type": "string", + "markdownDescription": "Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "EnableLogFileValidation": { + "description": "Specifies whether log file validation is enabled. The default is false.", + "type": "boolean", + "markdownDescription": "Specifies whether log file validation is enabled. The default is false.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "Tags": { + "uniqueItems": false, + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "IsLogging": { + "description": "Whether the CloudTrail is currently logging AWS API calls.", + "type": "boolean", + "markdownDescription": "Whether the CloudTrail is currently logging AWS API calls.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "cloudFormationSystemTags": false - }, "attributes": { - "Arn": { + "SnsTopicArn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SnsTopicArn": { + "Arn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } diff --git a/server/schema/resources/aws-cloudwatch-alarm.json b/server/schema/resources/aws-cloudwatch-alarm.json index 0654dfc9..d7495b68 100644 --- a/server/schema/resources/aws-cloudwatch-alarm.json +++ b/server/schema/resources/aws-cloudwatch-alarm.json @@ -354,7 +354,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "cloudwatch:ListTagsForResource" + ] }, "attributes": { "Arn": { diff --git a/server/schema/resources/aws-cloudwatch-compositealarm.json b/server/schema/resources/aws-cloudwatch-compositealarm.json index 73ce9883..a0119137 100644 --- a/server/schema/resources/aws-cloudwatch-compositealarm.json +++ b/server/schema/resources/aws-cloudwatch-compositealarm.json @@ -7,7 +7,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "cloudwatch:TagResource", + "cloudwatch:UntagResource", + "cloudwatch:ListTagsForResource" + ] }, "properties": { "AlarmName": { diff --git a/server/schema/resources/aws-codebuild-fleet.json b/server/schema/resources/aws-codebuild-fleet.json index d26aa206..db8eae18 100644 --- a/server/schema/resources/aws-codebuild-fleet.json +++ b/server/schema/resources/aws-codebuild-fleet.json @@ -33,9 +33,10 @@ "BUILD_GENERAL1_MEDIUM", "BUILD_GENERAL1_LARGE", "BUILD_GENERAL1_XLARGE", - "BUILD_GENERAL1_2XLARGE" + "BUILD_GENERAL1_2XLARGE", + "ATTRIBUTE_BASED_COMPUTE" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: BUILD_GENERAL1_SMALL | BUILD_GENERAL1_MEDIUM | BUILD_GENERAL1_LARGE | BUILD_GENERAL1_XLARGE | BUILD_GENERAL1_2XLARGE \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: BUILD_GENERAL1_SMALL | BUILD_GENERAL1_MEDIUM | BUILD_GENERAL1_LARGE | BUILD_GENERAL1_XLARGE | BUILD_GENERAL1_2XLARGE | ATTRIBUTE_BASED_COMPUTE \nUpdate requires: No interruption" }, "OverflowBehavior": { "type": "string", @@ -52,6 +53,9 @@ "FleetVpcConfig": { "$ref": "#/definitions/VpcConfig" }, + "FleetProxyConfiguration": { + "$ref": "#/definitions/ProxyConfiguration" + }, "Tags": { "type": "array", "insertionOrder": false, @@ -63,6 +67,12 @@ "ImageId": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^((aws/codebuild/[A-Za-z-]+:[0-9]+(-[0-9._]+)?)|ami-[a-z0-9]{1,1020})$ \nUpdate requires: No interruption" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfigurationInput" + }, + "ComputeConfiguration": { + "$ref": "#/definitions/ComputeConfiguration" } }, "definitions": { @@ -119,6 +129,132 @@ } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ProxyConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "DefaultBehavior": { + "type": "string", + "enum": [ + "ALLOW_ALL", + "DENY_ALL" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ALLOW_ALL | DENY_ALL \nUpdate requires: No interruption" + }, + "OrderedProxyRules": { + "type": "array", + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FleetProxyRule" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "FleetProxyRule": { + "type": "object", + "additionalProperties": false, + "properties": { + "Type": { + "type": "string", + "enum": [ + "DOMAIN", + "IP" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DOMAIN | IP \nUpdate requires: No interruption" + }, + "Effect": { + "type": "string", + "enum": [ + "ALLOW", + "DENY" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ALLOW | DENY \nUpdate requires: No interruption" + }, + "Entities": { + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ScalingConfigurationInput": { + "type": "object", + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "integer", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "ScalingType": { + "type": "string", + "enum": [ + "TARGET_TRACKING_SCALING" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: TARGET_TRACKING_SCALING \nUpdate requires: No interruption" + }, + "TargetTrackingScalingConfigs": { + "type": "array", + "items": { + "$ref": "#/definitions/TargetTrackingScalingConfiguration" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TargetTrackingScalingConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "MetricType": { + "type": "string", + "enum": [ + "FLEET_UTILIZATION_RATE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: FLEET_UTILIZATION_RATE \nUpdate requires: No interruption" + }, + "TargetValue": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ComputeConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "vCpu": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "memory": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "disk": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "machineType": { + "type": "string", + "enum": [ + "GENERAL", + "NVME" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: GENERAL | NVME \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "primaryIdentifier": [ diff --git a/server/schema/resources/aws-codebuild-project.json b/server/schema/resources/aws-codebuild-project.json index 729f1db8..b7a7bae5 100644 --- a/server/schema/resources/aws-codebuild-project.json +++ b/server/schema/resources/aws-codebuild-project.json @@ -68,6 +68,10 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "AutoRetryLimit": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, "SourceVersion": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-codedeploy-application.json b/server/schema/resources/aws-codedeploy-application.json index f0edcb1a..c4875c0f 100644 --- a/server/schema/resources/aws-codedeploy-application.json +++ b/server/schema/resources/aws-codedeploy-application.json @@ -58,7 +58,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "codedeploy:TagResource", + "codedeploy:UntagResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-codeguruprofiler-profilinggroup.json b/server/schema/resources/aws-codeguruprofiler-profilinggroup.json index 18ae739f..9a21a9c6 100644 --- a/server/schema/resources/aws-codeguruprofiler-profilinggroup.json +++ b/server/schema/resources/aws-codeguruprofiler-profilinggroup.json @@ -133,6 +133,18 @@ "/properties/ProfilingGroupName", "/properties/ComputePlatform" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "codeguru-profiler:TagResource", + "codeguru-profiler:ListTagsForResource", + "codeguru-profiler:UntagResource" + ] + }, "handlers": { "create": { "permissions": [ @@ -154,6 +166,7 @@ "update": { "permissions": [ "sns:Publish", + "codeguru-profiler:DescribeProfilingGroup", "codeguru-profiler:AddNotificationChannels", "codeguru-profiler:GetNotificationConfiguration", "codeguru-profiler:RemoveNotificationChannel", @@ -173,7 +186,9 @@ "list": { "permissions": [ "codeguru-profiler:ListProfilingGroups", - "codeguru-profiler:ListTagsForResource" + "codeguru-profiler:ListTagsForResource", + "codeguru-profiler:GetNotificationConfiguration", + "codeguru-profiler:GetPolicy" ] } }, diff --git a/server/schema/resources/aws-codepipeline-pipeline.json b/server/schema/resources/aws-codepipeline-pipeline.json index 28171e4b..e03b0c0e 100644 --- a/server/schema/resources/aws-codepipeline-pipeline.json +++ b/server/schema/resources/aws-codepipeline-pipeline.json @@ -81,9 +81,10 @@ "Test", "Deploy", "Invoke", - "Approval" + "Approval", + "Compute" ], - "markdownDescription": "A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the values below.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Source | Build | Test | Deploy | Invoke | Approval \nUpdate requires: No interruption" + "markdownDescription": "A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the values below.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Source | Build | Test | Deploy | Invoke | Approval | Compute \nUpdate requires: No interruption" }, "Version": { "description": "A string that describes the action version.", @@ -238,6 +239,26 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "Commands": { + "description": "The shell commands to run with your compute action in CodePipeline.", + "type": "array", + "uniqueItems": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The shell commands to run with your compute action in CodePipeline.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "OutputVariables": { + "description": "The list of variables that are to be exported from the compute action.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The list of variables that are to be exported from the compute action.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "Region": { "description": "The action declaration's AWS Region, such as us-east-1.", "type": "string", @@ -533,6 +554,16 @@ "description": "The name of the output of an artifact, such as \"My App\".", "type": "string", "markdownDescription": "The name of the output of an artifact, such as \"My App\".\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Files": { + "description": "The files that you want to associate with the output artifact that will be exported from the compute action.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The files that you want to associate with the output artifact that will be exported from the compute action.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ @@ -549,9 +580,27 @@ "type": "string", "description": "The specified result for when the failure conditions are met, such as rolling back the stage", "enum": [ - "ROLLBACK" + "ROLLBACK", + "RETRY" ], - "markdownDescription": "The specified result for when the failure conditions are met, such as rolling back the stage\n\n---\n\nRequired: No \nType: String \nAllowed Values: ROLLBACK \nUpdate requires: No interruption" + "markdownDescription": "The specified result for when the failure conditions are met, such as rolling back the stage\n\n---\n\nRequired: No \nType: String \nAllowed Values: ROLLBACK | RETRY \nUpdate requires: No interruption" + }, + "RetryConfiguration": { + "description": "The configuration that specifies the retry configuration for a stage", + "type": "object", + "additionalProperties": false, + "properties": { + "RetryMode": { + "type": "string", + "description": "The specified retry mode type for the given stage. FAILED_ACTIONS will retry only the failed actions. ALL_ACTIONS will retry both failed and successful", + "enum": [ + "ALL_ACTIONS", + "FAILED_ACTIONS" + ], + "markdownDescription": "The specified retry mode type for the given stage. FAILED_ACTIONS will retry only the failed actions. ALL_ACTIONS will retry both failed and successful\n\n---\n\nRequired: No \nType: String \nAllowed Values: ALL_ACTIONS | FAILED_ACTIONS \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The configuration that specifies the retry configuration for a stage\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Conditions": { "type": "array", diff --git a/server/schema/resources/aws-cognito-managedloginbranding.json b/server/schema/resources/aws-cognito-managedloginbranding.json new file mode 100644 index 00000000..09adecd0 --- /dev/null +++ b/server/schema/resources/aws-cognito-managedloginbranding.json @@ -0,0 +1,178 @@ +{ + "typeName": "AWS::Cognito::ManagedLoginBranding", + "description": "Resource Type definition for AWS::Cognito::ManagedLoginBranding", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": { + "ManagedLoginBrandingIdType": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[4][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$ \nUpdate requires: No interruption" + }, + "CategoryType": { + "type": "string", + "enum": [ + "FAVICON_ICO", + "FAVICON_SVG", + "EMAIL_GRAPHIC", + "SMS_GRAPHIC", + "AUTH_APP_GRAPHIC", + "PASSWORD_GRAPHIC", + "PASSKEY_GRAPHIC", + "PAGE_HEADER_LOGO", + "PAGE_HEADER_BACKGROUND", + "PAGE_FOOTER_LOGO", + "PAGE_FOOTER_BACKGROUND", + "PAGE_BACKGROUND", + "FORM_BACKGROUND", + "FORM_LOGO", + "IDP_BUTTON_ICON" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: FAVICON_ICO | FAVICON_SVG | EMAIL_GRAPHIC | SMS_GRAPHIC | AUTH_APP_GRAPHIC | PASSWORD_GRAPHIC | PASSKEY_GRAPHIC | PAGE_HEADER_LOGO | PAGE_HEADER_BACKGROUND | PAGE_FOOTER_LOGO | PAGE_FOOTER_BACKGROUND | PAGE_BACKGROUND | FORM_BACKGROUND | FORM_LOGO | IDP_BUTTON_ICON \nUpdate requires: No interruption" + }, + "ColorModeType": { + "type": "string", + "enum": [ + "LIGHT", + "DARK", + "DYNAMIC" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: LIGHT | DARK | DYNAMIC \nUpdate requires: No interruption" + }, + "ExtensionType": { + "type": "string", + "enum": [ + "ICO", + "JPEG", + "PNG", + "SVG", + "WEBP" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ICO | JPEG | PNG | SVG | WEBP \nUpdate requires: No interruption" + }, + "BytesType": { + "type": "string", + "maxLength": 1000000, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1000000 \nUpdate requires: No interruption" + }, + "ResourceIdType": { + "type": "string", + "minLength": 1, + "maxLength": 40, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 40 \nPattern: ^[\\w\\- ]+$ \nUpdate requires: No interruption" + }, + "AssetType": { + "type": "object", + "properties": { + "Category": { + "$ref": "#/definitions/CategoryType" + }, + "ColorMode": { + "$ref": "#/definitions/ColorModeType" + }, + "Extension": { + "$ref": "#/definitions/ExtensionType" + }, + "Bytes": { + "$ref": "#/definitions/BytesType" + }, + "ResourceId": { + "$ref": "#/definitions/ResourceIdType" + } + }, + "additionalProperties": false, + "required": [ + "Category", + "ColorMode", + "Extension" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AssetList": { + "type": "array", + "items": { + "$ref": "#/definitions/AssetType" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "properties": { + "UserPoolId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "ClientId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "UseCognitoProvidedValues": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "Settings": { + "type": "object", + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Assets": { + "$ref": "#/definitions/AssetList" + }, + "ReturnMergedResources": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "additionalProperties": false, + "required": [ + "UserPoolId" + ], + "createOnlyProperties": [ + "/properties/UserPoolId", + "/properties/ClientId" + ], + "readOnlyProperties": [ + "/properties/ManagedLoginBrandingId" + ], + "primaryIdentifier": [ + "/properties/UserPoolId", + "/properties/ManagedLoginBrandingId" + ], + "writeOnlyProperties": [ + "/properties/ClientId", + "/properties/ReturnMergedResources" + ], + "handlers": { + "create": { + "permissions": [ + "cognito-idp:CreateManagedLoginBranding" + ], + "timeoutInMinutes": 2 + }, + "read": { + "permissions": [ + "cognito-idp:DescribeManagedLoginBranding" + ], + "timeoutInMinutes": 2 + }, + "update": { + "permissions": [ + "cognito-idp:UpdateManagedLoginBranding" + ], + "timeoutInMinutes": 2 + }, + "delete": { + "permissions": [ + "cognito-idp:DeleteManagedLoginBranding" + ], + "timeoutInMinutes": 2 + } + }, + "attributes": { + "ManagedLoginBrandingId": { + "$ref": "#/definitions/ManagedLoginBrandingIdType" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-cognito-userpool.json b/server/schema/resources/aws-cognito-userpool.json index f29e1e9d..2996c212 100644 --- a/server/schema/resources/aws-cognito-userpool.json +++ b/server/schema/resources/aws-cognito-userpool.json @@ -50,11 +50,29 @@ "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "SignInPolicy": { + "type": "object", + "properties": { + "AllowedFirstAuthFactors": { + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "Policies": { "type": "object", "properties": { "PasswordPolicy": { "$ref": "#/definitions/PasswordPolicy" + }, + "SignInPolicy": { + "$ref": "#/definitions/SignInPolicy" } }, "additionalProperties": false, @@ -545,6 +563,18 @@ "maxLength": 140, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 6 \nMaximum Length: 140 \nUpdate requires: No interruption" }, + "WebAuthnRelyingPartyID": { + "type": "string", + "minLength": 1, + "maxLength": 63, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 63 \nUpdate requires: No interruption" + }, + "WebAuthnUserVerification": { + "type": "string", + "minLength": 1, + "maxLength": 9, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 9 \nUpdate requires: No interruption" + }, "Schema": { "type": "array", "items": { @@ -574,6 +604,15 @@ }, "UserPoolAddOns": { "$ref": "#/definitions/UserPoolAddOns" + }, + "UserPoolTier": { + "type": "string", + "enum": [ + "LITE", + "ESSENTIALS", + "PLUS" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: LITE | ESSENTIALS | PLUS \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -600,7 +639,8 @@ "cognito-idp:SetUserPoolMfaConfig", "cognito-idp:DescribeUserPool", "kms:CreateGrant", - "iam:CreateServiceLinkedRole" + "iam:CreateServiceLinkedRole", + "cognito-idp:TagResource" ], "timeoutInMinutes": 2 }, diff --git a/server/schema/resources/aws-cognito-userpooldomain.json b/server/schema/resources/aws-cognito-userpooldomain.json index 0914b827..d5e3f3ff 100644 --- a/server/schema/resources/aws-cognito-userpooldomain.json +++ b/server/schema/resources/aws-cognito-userpooldomain.json @@ -11,6 +11,10 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, + "ManagedLoginVersion": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, "CustomDomainConfig": { "$ref": "#/definitions/CustomDomainConfigType" } diff --git a/server/schema/resources/aws-cognito-userpoolidentityprovider.json b/server/schema/resources/aws-cognito-userpoolidentityprovider.json index 56410277..7be0c9fa 100644 --- a/server/schema/resources/aws-cognito-userpoolidentityprovider.json +++ b/server/schema/resources/aws-cognito-userpoolidentityprovider.json @@ -1,42 +1,63 @@ { "typeName": "AWS::Cognito::UserPoolIdentityProvider", "description": "Resource Type definition for AWS::Cognito::UserPoolIdentityProvider", - "additionalProperties": false, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, "properties": { - "ProviderName": { + "UserPoolId": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, - "UserPoolId": { + "ProviderName": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, - "AttributeMapping": { - "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ProviderDetails": { - "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "ProviderType": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, + "ProviderDetails": { + "type": "object", + "patternProperties": { + ".*": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: Yes \nUpdate requires: No interruption" + }, "IdpIdentifiers": { "type": "array", - "uniqueItems": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AttributeMapping": { + "type": "object", + "patternProperties": { + ".*": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "additionalProperties": false, "required": [ - "ProviderName", "UserPoolId", - "ProviderType" + "ProviderName", + "ProviderType", + "ProviderDetails" ], "createOnlyProperties": [ "/properties/UserPoolId", @@ -44,15 +65,51 @@ "/properties/ProviderType" ], "primaryIdentifier": [ - "/properties/Id" - ], - "readOnlyProperties": [ - "/properties/Id" + "/properties/UserPoolId", + "/properties/ProviderName" ], - "attributes": { - "Id": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "handlers": { + "create": { + "permissions": [ + "cognito-idp:CreateIdentityProvider", + "cognito-idp:DescribeIdentityProvider" + ], + "timeoutInMinutes": 2 + }, + "read": { + "permissions": [ + "cognito-idp:DescribeIdentityProvider" + ] + }, + "update": { + "permissions": [ + "cognito-idp:UpdateIdentityProvider", + "cognito-idp:DescribeIdentityProvider" + ], + "timeoutInMinutes": 2 + }, + "delete": { + "permissions": [ + "cognito-idp:DeleteIdentityProvider", + "cognito-idp:DescribeIdentityProvider" + ], + "timeoutInMinutes": 2 + }, + "list": { + "handlerSchema": { + "properties": { + "UserPoolId": { + "$ref": "resource-schema.json#/properties/UserPoolId" + } + }, + "required": [ + "UserPoolId" + ] + }, + "permissions": [ + "cognito-idp:ListIdentityProviders" + ] } - } + }, + "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-comprehend-documentclassifier.json b/server/schema/resources/aws-comprehend-documentclassifier.json index 8a638199..c404dae7 100644 --- a/server/schema/resources/aws-comprehend-documentclassifier.json +++ b/server/schema/resources/aws-comprehend-documentclassifier.json @@ -101,7 +101,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "comprehend:TagResource", + "comprehend:UntagResource" + ] }, "definitions": { "Tag": { diff --git a/server/schema/resources/aws-config-storedquery.json b/server/schema/resources/aws-config-storedquery.json index 758a9919..88b5e695 100644 --- a/server/schema/resources/aws-config-storedquery.json +++ b/server/schema/resources/aws-config-storedquery.json @@ -74,7 +74,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "config:TagResource", + "config:UntagResource", + "config:ListTagsForResource" + ] }, "createOnlyProperties": [ "/properties/QueryName" diff --git a/server/schema/resources/aws-connect-contactflow.json b/server/schema/resources/aws-connect-contactflow.json index 4dd26bf2..d61d2f16 100644 --- a/server/schema/resources/aws-connect-contactflow.json +++ b/server/schema/resources/aws-connect-contactflow.json @@ -78,9 +78,10 @@ "AGENT_WHISPER", "OUTBOUND_WHISPER", "AGENT_TRANSFER", - "QUEUE_TRANSFER" + "QUEUE_TRANSFER", + "CAMPAIGN" ], - "markdownDescription": "The type of the contact flow.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: CONTACT_FLOW | CUSTOMER_QUEUE | CUSTOMER_HOLD | CUSTOMER_WHISPER | AGENT_HOLD | AGENT_WHISPER | OUTBOUND_WHISPER | AGENT_TRANSFER | QUEUE_TRANSFER \nUpdate requires: Replacement" + "markdownDescription": "The type of the contact flow.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: CONTACT_FLOW | CUSTOMER_QUEUE | CUSTOMER_HOLD | CUSTOMER_WHISPER | AGENT_HOLD | AGENT_WHISPER | OUTBOUND_WHISPER | AGENT_TRANSFER | QUEUE_TRANSFER | CAMPAIGN \nUpdate requires: Replacement" }, "Tags": { "description": "One or more tags.", @@ -105,7 +106,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "connect:ListTagsForResource", + "connect:UntagResource", + "connect:TagResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-connect-contactflowmodule.json b/server/schema/resources/aws-connect-contactflowmodule.json index 0a291832..2e374b3d 100644 --- a/server/schema/resources/aws-connect-contactflowmodule.json +++ b/server/schema/resources/aws-connect-contactflowmodule.json @@ -86,7 +86,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "connect:ListTagsForResource", + "connect:UntagResource", + "connect:TagResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-connect-emailaddress.json b/server/schema/resources/aws-connect-emailaddress.json new file mode 100644 index 00000000..b999d291 --- /dev/null +++ b/server/schema/resources/aws-connect-emailaddress.json @@ -0,0 +1,155 @@ +{ + "typeName": "AWS::Connect::EmailAddress", + "description": "Resource Type definition for AWS::Connect::EmailAddress", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect", + "definitions": { + "Tag": { + "description": "A key-value pair to associate with a resource.", + "type": "object", + "properties": { + "Key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "maxLength": 256, + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "InstanceArn": { + "description": "The identifier of the Amazon Connect instance.", + "type": "string", + "minLength": 1, + "maxLength": 250, + "markdownDescription": "The identifier of the Amazon Connect instance.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 250 \nPattern: ^arn:(aws|aws-us-gov):connect:[a-z]{2}-[a-z]+-[0-9]{1}:[0-9]{1,20}:instance/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$ \nUpdate requires: No interruption" + }, + "Description": { + "description": "A description for the email address.", + "type": "string", + "minLength": 1, + "maxLength": 250, + "markdownDescription": "A description for the email address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 250 \nPattern: (^[\\S].*[\\S]$)|(^[\\S]$) \nUpdate requires: No interruption" + }, + "EmailAddress": { + "description": "Email address to be created for this instance", + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "Email address to be created for this instance\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ([^\\s@]+@[^\\s@]+\\.[^\\s@]+) \nUpdate requires: Replacement" + }, + "DisplayName": { + "description": "The display name for the email address.", + "type": "string", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "The display name for the email address.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: (^[\\S].*[\\S]$)|(^[\\S]$) \nUpdate requires: No interruption" + }, + "Tags": { + "type": "array", + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "description": "One or more tags.", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "One or more tags.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "connect:TagResource", + "connect:UntagResource" + ] + }, + "additionalProperties": false, + "required": [ + "InstanceArn", + "EmailAddress" + ], + "readOnlyProperties": [ + "/properties/EmailAddressArn" + ], + "createOnlyProperties": [ + "/properties/EmailAddress" + ], + "primaryIdentifier": [ + "/properties/EmailAddressArn" + ], + "handlers": { + "create": { + "permissions": [ + "connect:CreateEmailAddress", + "connect:TagResource", + "connect:ListIntegrationAssociations", + "ses:GetEmailIdentity", + "ses:DescribeReceiptRule", + "ses:UpdateReceiptRule", + "iam:PassRole" + ] + }, + "read": { + "permissions": [ + "connect:DescribeEmailAddress" + ] + }, + "update": { + "permissions": [ + "connect:UpdateEmailAddressMetadata", + "connect:TagResource", + "connect:UntagResource" + ] + }, + "delete": { + "permissions": [ + "connect:DeleteEmailAddress", + "connect:UntagResource", + "iam:PassRole", + "ses:DescribeReceiptRule", + "ses:UpdateReceiptRule" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "InstanceArn": { + "$ref": "resource-schema.json#/properties/InstanceArn" + } + }, + "required": [ + "InstanceArn" + ] + }, + "permissions": [ + "connect:DescribeEmailAddress", + "connect:SearchEmailAddresses" + ] + } + }, + "attributes": { + "EmailAddressArn": { + "description": "The identifier of the email address.", + "type": "string", + "markdownDescription": "The identifier of the email address.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:(aws|aws-us-gov):connect:[a-z]{2}-[a-z]+-[0-9]{1}:[0-9]{1,20}:instance/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/email-address/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-connect-evaluationform.json b/server/schema/resources/aws-connect-evaluationform.json index 6a82ebbc..cbd64f84 100644 --- a/server/schema/resources/aws-connect-evaluationform.json +++ b/server/schema/resources/aws-connect-evaluationform.json @@ -566,7 +566,12 @@ "tagOnCreate": false, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "connect:ListTagsForResource", + "connect:UntagResource", + "connect:TagResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-connect-hoursofoperation.json b/server/schema/resources/aws-connect-hoursofoperation.json index f681a6f1..5de6b13e 100644 --- a/server/schema/resources/aws-connect-hoursofoperation.json +++ b/server/schema/resources/aws-connect-hoursofoperation.json @@ -1,89 +1,25 @@ { - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect", - "tagging": { - "permissions": [ - "connect:TagResource", - "connect:UntagResource" - ], - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "tagProperty": "/properties/Tags", - "cloudFormationSystemTags": true - }, - "handlers": { - "read": { - "permissions": [ - "connect:DescribeHoursOfOperation", - "connect:ListHoursOfOperationOverrides" - ] - }, - "create": { - "permissions": [ - "connect:CreateHoursOfOperation", - "connect:TagResource", - "connect:CreateHoursOfOperationOverride" - ] - }, - "update": { - "permissions": [ - "connect:UpdateHoursOfOperation", - "connect:CreateHoursOfOperationOverride", - "connect:UpdateHoursOfOperationOverride", - "connect:DeleteHoursOfOperationOverride", - "connect:TagResource", - "connect:UntagResource" - ] - }, - "list": { - "permissions": [ - "connect:ListHoursOfOperations" - ], - "handlerSchema": { - "properties": { - "InstanceArn": { - "$ref": "resource-schema.json#/properties/InstanceArn" - } - }, - "required": [ - "InstanceArn" - ] - } - }, - "delete": { - "permissions": [ - "connect:DeleteHoursOfOperation", - "connect:UntagResource" - ] - } - }, "typeName": "AWS::Connect::HoursOfOperation", - "readOnlyProperties": [ - "/properties/HoursOfOperationArn" - ], "description": "Resource Type definition for AWS::Connect::HoursOfOperation", - "additionalProperties": false, - "primaryIdentifier": [ - "/properties/HoursOfOperationArn" - ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect", "definitions": { "HoursOfOperationTimeSlice": { "description": "The start time or end time for an hours of operation.", - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { "Hours": { - "description": "The hours.", - "maximum": 23, "type": "integer", + "description": "The hours.", "minimum": 0, + "maximum": 23, "markdownDescription": "The hours.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, "Minutes": { - "description": "The minutes.", - "maximum": 59, "type": "integer", + "description": "The minutes.", "minimum": 0, + "maximum": 59, "markdownDescription": "The minutes.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" } }, @@ -95,22 +31,12 @@ }, "HoursOfOperationConfig": { "description": "Contains information about the hours of operation.", - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { - "EndTime": { - "description": "The end time that your contact center closes.", - "$ref": "#/definitions/HoursOfOperationTimeSlice", - "markdownDescription": "The end time that your contact center closes.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" - }, - "StartTime": { - "description": "The start time that your contact center opens.", - "$ref": "#/definitions/HoursOfOperationTimeSlice", - "markdownDescription": "The start time that your contact center opens.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" - }, "Day": { - "description": "The day that the hours of operation applies to.", "type": "string", + "description": "The day that the hours of operation applies to.", "enum": [ "SUNDAY", "MONDAY", @@ -121,6 +47,16 @@ "SATURDAY" ], "markdownDescription": "The day that the hours of operation applies to.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: SUNDAY | MONDAY | TUESDAY | WEDNESDAY | THURSDAY | FRIDAY | SATURDAY \nUpdate requires: No interruption" + }, + "StartTime": { + "description": "The start time that your contact center opens.", + "$ref": "#/definitions/HoursOfOperationTimeSlice", + "markdownDescription": "The start time that your contact center opens.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, + "EndTime": { + "description": "The end time that your contact center closes.", + "$ref": "#/definitions/HoursOfOperationTimeSlice", + "markdownDescription": "The end time that your contact center closes.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ @@ -132,21 +68,21 @@ }, "Tag": { "description": "A key-value pair to associate with a resource.", - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { - "Value": { - "description": "The value for the tag. You can specify a value that is maximum of 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ", - "type": "string", - "maxLength": 256, - "markdownDescription": "The value for the tag. You can specify a value that is maximum of 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. \n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" - }, "Key": { - "minLength": 1, - "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ", "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ", + "minLength": 1, "maxLength": 128, "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. \n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:)[a-zA-Z+-=._:/]+$ \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is maximum of 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ", + "maxLength": 256, + "markdownDescription": "The value for the tag. You can specify a value that is maximum of 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. \n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" } }, "required": [ @@ -154,62 +90,272 @@ "Value" ], "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "OverrideTimeSlice": { + "description": "The start time or end time for an an hours of operation override.", + "type": "object", + "additionalProperties": false, + "properties": { + "Hours": { + "type": "integer", + "description": "The hours.", + "minimum": 0, + "maximum": 23, + "markdownDescription": "The hours.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "Minutes": { + "type": "integer", + "description": "The minutes.", + "minimum": 0, + "maximum": 59, + "markdownDescription": "The minutes.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + } + }, + "required": [ + "Hours", + "Minutes" + ], + "markdownDescription": "The start time or end time for an an hours of operation override.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "HoursOfOperationOverrideConfig": { + "description": "Contains information about the hours of operation override.", + "type": "object", + "additionalProperties": false, + "properties": { + "Day": { + "type": "string", + "description": "The day that the hours of operation override applies to.", + "enum": [ + "SUNDAY", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY" + ], + "markdownDescription": "The day that the hours of operation override applies to.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: SUNDAY | MONDAY | TUESDAY | WEDNESDAY | THURSDAY | FRIDAY | SATURDAY \nUpdate requires: No interruption" + }, + "StartTime": { + "description": "The new start time that your contact center opens for the overriden days.", + "$ref": "#/definitions/OverrideTimeSlice", + "markdownDescription": "The new start time that your contact center opens for the overriden days.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, + "EndTime": { + "description": "The new end time that your contact center closes for the overriden days.", + "$ref": "#/definitions/OverrideTimeSlice", + "markdownDescription": "The new end time that your contact center closes for the overriden days.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + } + }, + "required": [ + "Day", + "StartTime", + "EndTime" + ], + "markdownDescription": "Contains information about the hours of operation override.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "HoursOfOperationOverride": { + "description": "Overrides attached to the hours of operation.", + "type": "object", + "additionalProperties": false, + "properties": { + "OverrideName": { + "$ref": "#/definitions/OverrideName" + }, + "OverrideDescription": { + "$ref": "#/definitions/OverrideDescription" + }, + "EffectiveFrom": { + "$ref": "#/definitions/EffectiveFrom" + }, + "EffectiveTill": { + "$ref": "#/definitions/EffectiveTill" + }, + "OverrideConfig": { + "$ref": "#/definitions/OverrideConfig" + }, + "HoursOfOperationOverrideId": { + "$ref": "#/definitions/HoursOfOperationOverrideId" + } + }, + "required": [ + "OverrideName", + "EffectiveFrom", + "EffectiveTill", + "OverrideConfig" + ], + "markdownDescription": "Overrides attached to the hours of operation.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "OverrideName": { + "description": "The name of the hours of operation override.", + "type": "string", + "minLength": 1, + "maxLength": 127, + "markdownDescription": "The name of the hours of operation override.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" + }, + "OverrideDescription": { + "description": "The description of the hours of operation override.", + "type": "string", + "minLength": 1, + "maxLength": 250, + "markdownDescription": "The description of the hours of operation override.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 250 \nUpdate requires: No interruption" + }, + "EffectiveFrom": { + "description": "The date from which the hours of operation override would be effective.", + "type": "string", + "markdownDescription": "The date from which the hours of operation override would be effective.\n\n---\n\nRequired: No \nType: String \nPattern: ^\\d{4}-\\d{2}-\\d{2}$ \nUpdate requires: No interruption" + }, + "EffectiveTill": { + "description": "The date till which the hours of operation override would be effective.", + "type": "string", + "markdownDescription": "The date till which the hours of operation override would be effective.\n\n---\n\nRequired: No \nType: String \nPattern: ^\\d{4}-\\d{2}-\\d{2}$ \nUpdate requires: No interruption" + }, + "OverrideConfig": { + "description": "Configuration information for the hours of operation override: day, start time, and end time.", + "type": "array", + "maxItems": 100, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/HoursOfOperationOverrideConfig" + }, + "markdownDescription": "Configuration information for the hours of operation override: day, start time, and end time.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "HoursOfOperationOverrideId": { + "description": "The Resource Identifier for the hours of operation override.", + "type": "string", + "markdownDescription": "The Resource Identifier for the hours of operation override.\n\n---\n\nRequired: No \nType: String \nPattern: ^[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" } }, - "required": [ - "InstanceArn", - "Name", - "TimeZone", - "Config" - ], "properties": { - "TimeZone": { - "description": "The time zone of the hours of operation.", + "InstanceArn": { + "description": "The identifier of the Amazon Connect instance.", "type": "string", - "markdownDescription": "The time zone of the hours of operation.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The identifier of the Amazon Connect instance.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" }, - "Description": { + "Name": { + "description": "The name of the hours of operation.", + "type": "string", "minLength": 1, + "maxLength": 127, + "markdownDescription": "The name of the hours of operation.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" + }, + "Description": { "description": "The description of the hours of operation.", "type": "string", + "minLength": 1, "maxLength": 250, "markdownDescription": "The description of the hours of operation.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 250 \nUpdate requires: No interruption" }, + "TimeZone": { + "description": "The time zone of the hours of operation.", + "type": "string", + "markdownDescription": "The time zone of the hours of operation.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, "Config": { + "description": "Configuration information for the hours of operation: day, start time, and end time.", + "type": "array", "maxItems": 100, "uniqueItems": true, - "description": "Configuration information for the hours of operation: day, start time, and end time.", "insertionOrder": false, - "type": "array", "items": { "$ref": "#/definitions/HoursOfOperationConfig" }, "markdownDescription": "Configuration information for the hours of operation: day, start time, and end time.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, - "InstanceArn": { - "description": "The identifier of the Amazon Connect instance.", - "type": "string", - "markdownDescription": "The identifier of the Amazon Connect instance.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" - }, "Tags": { + "description": "One or more tags.", + "type": "array", "maxItems": 50, "uniqueItems": true, - "description": "One or more tags.", "insertionOrder": false, - "type": "array", "items": { "$ref": "#/definitions/Tag" }, "markdownDescription": "One or more tags.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Name": { - "minLength": 1, - "description": "The name of the hours of operation.", - "type": "string", - "maxLength": 127, - "markdownDescription": "The name of the hours of operation.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" + "HoursOfOperationOverrides": { + "description": "One or more hours of operation overrides assigned to an hour of operation.", + "type": "array", + "maxItems": 50, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/HoursOfOperationOverride" + }, + "markdownDescription": "One or more hours of operation overrides assigned to an hour of operation.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, + "required": [ + "InstanceArn", + "Name", + "TimeZone", + "Config" + ], + "handlers": { + "create": { + "permissions": [ + "connect:CreateHoursOfOperation", + "connect:TagResource", + "connect:CreateHoursOfOperationOverride" + ] + }, + "read": { + "permissions": [ + "connect:DescribeHoursOfOperation", + "connect:ListHoursOfOperationOverrides" + ] + }, + "delete": { + "permissions": [ + "connect:DeleteHoursOfOperation", + "connect:UntagResource" + ] + }, + "update": { + "permissions": [ + "connect:UpdateHoursOfOperation", + "connect:CreateHoursOfOperationOverride", + "connect:UpdateHoursOfOperationOverride", + "connect:DeleteHoursOfOperationOverride", + "connect:ListHoursOfOperationOverrides", + "connect:TagResource", + "connect:UntagResource" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "InstanceArn": { + "$ref": "resource-schema.json#/properties/InstanceArn" + } + }, + "required": [ + "InstanceArn" + ] + }, + "permissions": [ + "connect:ListHoursOfOperations" + ] + } + }, + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/HoursOfOperationArn" + ], + "readOnlyProperties": [ + "/properties/HoursOfOperationArn" + ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "connect:TagResource", + "connect:UntagResource" + ] + }, "attributes": { "HoursOfOperationArn": { "description": "The Amazon Resource Name (ARN) for the hours of operation.", diff --git a/server/schema/resources/aws-connect-queue.json b/server/schema/resources/aws-connect-queue.json index 7f472888..266a2241 100644 --- a/server/schema/resources/aws-connect-queue.json +++ b/server/schema/resources/aws-connect-queue.json @@ -1,238 +1,258 @@ { - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect", - "tagging": { - "permissions": [ - "connect:TagResource", - "connect:UntagResource" - ], - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "tagProperty": "/properties/Tags", - "cloudFormationSystemTags": true - }, - "handlers": { - "read": { - "permissions": [ - "connect:DescribeQueue", - "connect:ListQueueQuickConnects" - ] - }, - "create": { - "permissions": [ - "connect:CreateQueue", - "connect:TagResource" - ] - }, - "update": { - "permissions": [ - "connect:UpdateQueueHoursOfOperation", - "connect:UpdateQueueMaxContacts", - "connect:UpdateQueueName", - "connect:UpdateQueueOutboundCallerConfig", - "connect:UpdateQueueOutboundEmailConfig", - "connect:UpdateQueueStatus", - "connect:AssociateQueueQuickConnects", - "connect:DisassociateQueueQuickConnects", - "connect:TagResource", - "connect:UntagResource" - ] - }, - "list": { - "permissions": [ - "connect:ListQueues", - "connect:ListQueueQuickConnects" - ], - "handlerSchema": { - "properties": { - "InstanceArn": { - "$ref": "resource-schema.json#/properties/InstanceArn" - } - }, - "required": [ - "InstanceArn" - ] - } - }, - "delete": { - "permissions": [ - "connect:DeleteQueue", - "connect:UntagResource" - ] - } - }, "typeName": "AWS::Connect::Queue", - "readOnlyProperties": [ - "/properties/QueueArn", - "/properties/Type" - ], "description": "Resource Type definition for AWS::Connect::Queue", - "additionalProperties": false, - "primaryIdentifier": [ - "/properties/QueueArn" - ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect", "definitions": { + "OutboundCallerIdName": { + "description": "The caller ID name.", + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "The caller ID name.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" + }, "OutboundCallerIdNumberArn": { "description": "The caller ID number.", "type": "string", "markdownDescription": "The caller ID number.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:phone-number/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" }, "OutboundFlowArn": { - "minLength": 1, "description": "The outbound whisper flow to be used during an outbound call.", "type": "string", + "minLength": 1, "maxLength": 500, "markdownDescription": "The outbound whisper flow to be used during an outbound call.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 500 \nPattern: ^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/contact-flow/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" }, - "QuickConnectArn": { - "description": "The Amazon Resource Name (ARN) for the quick connect.", + "OutboundEmailAddressId": { + "description": "The email address connect resource ID.", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) for the quick connect.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/transfer-destination/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" + "markdownDescription": "The email address connect resource ID.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/email-address/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, + "Tag": { + "description": "A key-value pair to associate with a resource.", + "type": "object", + "properties": { + "Key": { + "$ref": "#/definitions/Key" + }, + "Value": { + "$ref": "#/definitions/Value" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:)[a-zA-Z+-=._:/]+$ \nUpdate requires: No interruption" }, "Value": { - "minLength": 0, - "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength": 0, "maxLength": 256, "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" }, "OutboundCallerConfig": { "description": "The outbound caller ID name, number, and outbound whisper flow.", - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { + "OutboundCallerIdName": { + "$ref": "#/definitions/OutboundCallerIdName" + }, "OutboundCallerIdNumberArn": { "$ref": "#/definitions/OutboundCallerIdNumberArn" }, "OutboundFlowArn": { "$ref": "#/definitions/OutboundFlowArn" - }, - "OutboundCallerIdName": { - "$ref": "#/definitions/OutboundCallerIdName" } }, "markdownDescription": "The outbound caller ID name, number, and outbound whisper flow.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "OutboundCallerIdName": { - "minLength": 1, - "description": "The caller ID name.", - "type": "string", - "maxLength": 255, - "markdownDescription": "The caller ID name.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" - }, - "Tag": { - "description": "A key-value pair to associate with a resource.", - "additionalProperties": false, + "OutboundEmailConfig": { + "description": "The outbound email address ID.", "type": "object", + "additionalProperties": false, "properties": { - "Value": { - "$ref": "#/definitions/Value" - }, - "Key": { - "$ref": "#/definitions/Key" + "OutboundEmailAddressId": { + "$ref": "#/definitions/OutboundEmailAddressId" } }, - "required": [ - "Key", - "Value" - ], - "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The outbound email address ID.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Key": { - "minLength": 1, - "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "QuickConnectArn": { + "description": "The Amazon Resource Name (ARN) for the quick connect.", "type": "string", - "maxLength": 128, - "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:)[a-zA-Z+-=._:/]+$ \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) for the quick connect.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/transfer-destination/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" } }, - "required": [ - "InstanceArn", - "HoursOfOperationArn", - "Name" - ], "properties": { - "Status": { - "description": "The status of the queue.", + "InstanceArn": { + "description": "The identifier of the Amazon Connect instance.", "type": "string", - "enum": [ - "ENABLED", - "DISABLED" - ], - "markdownDescription": "The status of the queue.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + "markdownDescription": "The identifier of the Amazon Connect instance.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, + "Description": { + "description": "The description of the queue.", + "type": "string", + "minLength": 1, + "maxLength": 250, + "markdownDescription": "The description of the queue.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 250 \nUpdate requires: No interruption" }, "HoursOfOperationArn": { "description": "The identifier for the hours of operation.", "type": "string", "markdownDescription": "The identifier for the hours of operation.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/operating-hours/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" }, - "Description": { - "minLength": 1, - "description": "The description of the queue.", + "MaxContacts": { + "description": "The maximum number of contacts that can be in the queue before it is considered full.", + "type": "integer", + "minimum": 0, + "markdownDescription": "The maximum number of contacts that can be in the queue before it is considered full.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Name": { + "description": "The name of the queue.", "type": "string", - "maxLength": 250, - "markdownDescription": "The description of the queue.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 250 \nUpdate requires: No interruption" + "minLength": 1, + "maxLength": 127, + "markdownDescription": "The name of the queue.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" }, - "InstanceArn": { - "description": "The identifier of the Amazon Connect instance.", + "OutboundCallerConfig": { + "description": "The outbound caller ID name, number, and outbound whisper flow.", + "$ref": "#/definitions/OutboundCallerConfig", + "markdownDescription": "The outbound caller ID name, number, and outbound whisper flow.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "OutboundEmailConfig": { + "description": "The outbound email address ID.", + "$ref": "#/definitions/OutboundEmailConfig", + "markdownDescription": "The outbound email address ID.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Status": { + "description": "The status of the queue.", "type": "string", - "markdownDescription": "The identifier of the Amazon Connect instance.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "The status of the queue.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" }, "QuickConnectArns": { - "minItems": 1, - "maxItems": 50, "description": "The quick connects available to agents who are working the queue.", - "insertionOrder": false, "type": "array", + "minItems": 1, + "insertionOrder": false, "items": { "$ref": "#/definitions/QuickConnectArn" }, "markdownDescription": "The quick connects available to agents who are working the queue.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "OutboundCallerConfig": { - "description": "The outbound caller ID name, number, and outbound whisper flow.", - "$ref": "#/definitions/OutboundCallerConfig", - "markdownDescription": "The outbound caller ID name, number, and outbound whisper flow.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "MaxContacts": { - "description": "The maximum number of contacts that can be in the queue before it is considered full.", - "type": "integer", - "minimum": 0, - "markdownDescription": "The maximum number of contacts that can be in the queue before it is considered full.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, "Tags": { + "type": "array", "maxItems": 50, "uniqueItems": true, - "description": "An array of key-value pairs to apply to this resource.", "insertionOrder": false, - "type": "array", + "description": "An array of key-value pairs to apply to this resource.", "items": { "$ref": "#/definitions/Tag" }, "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "handlers": { + "create": { + "permissions": [ + "connect:CreateQueue", + "connect:TagResource" + ] }, - "Name": { - "minLength": 1, - "description": "The name of the queue.", - "type": "string", - "maxLength": 127, - "markdownDescription": "The name of the queue.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" + "read": { + "permissions": [ + "connect:DescribeQueue", + "connect:ListQueueQuickConnects" + ] + }, + "delete": { + "permissions": [ + "connect:DeleteQueue", + "connect:UntagResource" + ] + }, + "update": { + "permissions": [ + "connect:UpdateQueueHoursOfOperation", + "connect:UpdateQueueMaxContacts", + "connect:UpdateQueueName", + "connect:UpdateQueueOutboundCallerConfig", + "connect:UpdateQueueOutboundEmailConfig", + "connect:UpdateQueueStatus", + "connect:AssociateQueueQuickConnects", + "connect:DisassociateQueueQuickConnects", + "connect:TagResource", + "connect:UntagResource" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "InstanceArn": { + "$ref": "resource-schema.json#/properties/InstanceArn" + } + }, + "required": [ + "InstanceArn" + ] + }, + "permissions": [ + "connect:ListQueues", + "connect:ListQueueQuickConnects" + ] } }, + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/QueueArn" + ], + "readOnlyProperties": [ + "/properties/QueueArn", + "/properties/Type" + ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "connect:TagResource", + "connect:UntagResource" + ] + }, + "required": [ + "InstanceArn", + "HoursOfOperationArn", + "Name" + ], "attributes": { + "QueueArn": { + "description": "The Amazon Resource Name (ARN) for the queue.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) for the queue.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/queue/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, "Type": { - "description": "The type of queue.", "type": "string", + "description": "The type of queue.", "enum": [ "STANDARD", "AGENT" ], "markdownDescription": "The type of queue.\n\n---\n\nRequired: No \nType: String \nAllowed Values: STANDARD | AGENT \nUpdate requires: No interruption" - }, - "QueueArn": { - "description": "The Amazon Resource Name (ARN) for the queue.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) for the queue.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/queue/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-connect-rule.json b/server/schema/resources/aws-connect-rule.json index c6d0744d..4f56a9bb 100644 --- a/server/schema/resources/aws-connect-rule.json +++ b/server/schema/resources/aws-connect-rule.json @@ -1,45 +1,51 @@ { "typeName": "AWS::Connect::Rule", - "description": "Resource Type definition for AWS:Connect::Rule", + "description": "Creates a rule for the specified CON instance.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect", "definitions": { "FieldValue": { - "description": "The value of the field.", + "description": "Object for case field values.", "type": "object", "properties": { "StringValue": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "BooleanValue": { "type": "boolean", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "DoubleValue": { "type": "number", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, "EmptyValue": { "type": "object", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "additionalProperties": false, - "markdownDescription": "The value of the field.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Object for case field values.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Field": { - "description": "The field of the case.", + "description": "", "type": "object", "properties": { "Id": { - "description": "The Id of the field", + "description": "", "type": "string", "minLength": 1, "maxLength": 500, - "markdownDescription": "The Id of the field\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 500 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 500 \nUpdate requires: No interruption" }, "Value": { - "$ref": "#/definitions/FieldValue" + "$ref": "#/definitions/FieldValue", + "description": "", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ @@ -47,7 +53,7 @@ "Value" ], "additionalProperties": false, - "markdownDescription": "The field of the case.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Fields": { "description": "An array of case fields", @@ -71,7 +77,7 @@ "type": "object", "properties": { "UserTags": { - "description": "The collection of recipients who are identified by user tags", + "description": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }. CON users with the specified tags will be notified.", "patternProperties": { "^(?=.{1,128}$).+$": { "type": "string", @@ -79,10 +85,10 @@ } }, "additionalProperties": false, - "markdownDescription": "The collection of recipients who are identified by user tags\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }. CON users with the specified tags will be notified.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "UserArns": { - "description": "The list of recipients by user arns.", + "description": "The Amazon Resource Name (ARN) of the user account.", "type": "array", "minItems": 1, "maxItems": 5, @@ -91,19 +97,20 @@ "items": { "$ref": "#/definitions/UserArn" }, - "markdownDescription": "The list of recipients by user arns.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the user account.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "additionalProperties": false, "markdownDescription": "The type of notification recipient.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Reference": { - "description": "A contact reference.", + "description": "Information about the reference when the ``referenceType`` is ``URL``. Otherwise, null. (Supports variable injection in the ``Value`` field.)", "type": "object", "properties": { "Value": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(/|https:) \nUpdate requires: No interruption" + "description": "A valid value for the reference. For example, for a URL reference, a formatted URL that is displayed to an agent in the Contact Control Panel (CCP).", + "markdownDescription": "A valid value for the reference. For example, for a URL reference, a formatted URL that is displayed to an agent in the Contact Control Panel (CCP).\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(/|https:) \nUpdate requires: No interruption" }, "Type": { "type": "string", @@ -115,7 +122,8 @@ "DATE", "EMAIL" ], - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: URL | ATTACHMENT | NUMBER | STRING | DATE | EMAIL \nUpdate requires: No interruption" + "description": "The type of the reference. ``DATE`` must be of type Epoch timestamp. \n *Allowed values*: ``URL`` | ``ATTACHMENT`` | ``NUMBER`` | ``STRING`` | ``DATE`` | ``EMAIL``", + "markdownDescription": "The type of the reference. ``DATE`` must be of type Epoch timestamp. \n *Allowed values*: ``URL`` | ``ATTACHMENT`` | ``NUMBER`` | ``STRING`` | ``DATE`` | ``EMAIL``\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: URL | ATTACHMENT | NUMBER | STRING | DATE | EMAIL \nUpdate requires: No interruption" } }, "required": [ @@ -123,40 +131,40 @@ "Type" ], "additionalProperties": false, - "markdownDescription": "A contact reference.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information about the reference when the ``referenceType`` is ``URL``. Otherwise, null. (Supports variable injection in the ``Value`` field.)\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "TaskAction": { - "description": "The definition of task action.", + "description": "Information about the task action. This field is required if ``TriggerEventSource`` is one of the following values: ``OnZendeskTicketCreate`` | ``OnZendeskTicketStatusUpdate`` | ``OnSalesforceCaseCreate``", "type": "object", "properties": { "Name": { - "description": "The name which appears in the agent's Contact Control Panel (CCP).", + "description": "The name. Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Administrators Guide*.", "type": "string", "minLength": 1, "maxLength": 512, - "markdownDescription": "The name which appears in the agent's Contact Control Panel (CCP).\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nUpdate requires: No interruption" + "markdownDescription": "The name. Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Administrators Guide*.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nUpdate requires: No interruption" }, "Description": { - "description": "The description which appears in the agent's Contact Control Panel (CCP).", + "description": "The description. Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Administrators Guide*.", "type": "string", "minLength": 0, "maxLength": 4096, - "markdownDescription": "The description which appears in the agent's Contact Control Panel (CCP).\n\n---\n\nRequired: No \nType: String \nMaximum Length: 4096 \nUpdate requires: No interruption" + "markdownDescription": "The description. Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Administrators Guide*.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 4096 \nUpdate requires: No interruption" }, "ContactFlowArn": { - "description": "The Amazon Resource Name (ARN) of the contact flow.", + "description": "The Amazon Resource Name (ARN) of the flow.", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the contact flow.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^$|arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/contact-flow/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the flow.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^$|arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/contact-flow/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" }, "References": { - "description": "A formatted URL that is shown to an agent in the Contact Control Panel (CCP).", + "description": "Information about the reference when the ``referenceType`` is ``URL``. Otherwise, null. ``URL`` is the only accepted type. (Supports variable injection in the ``Value`` field.)", "patternProperties": { "^(?=.{1,4096}$).+$": { "$ref": "#/definitions/Reference" } }, "additionalProperties": false, - "markdownDescription": "A formatted URL that is shown to an agent in the Contact Control Panel (CCP).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "Information about the reference when the ``referenceType`` is ``URL``. Otherwise, null. ``URL`` is the only accepted type. (Supports variable injection in the ``Value`` field.)\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ @@ -164,39 +172,39 @@ "ContactFlowArn" ], "additionalProperties": false, - "markdownDescription": "The definition of task action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information about the task action. This field is required if ``TriggerEventSource`` is one of the following values: ``OnZendeskTicketCreate`` | ``OnZendeskTicketStatusUpdate`` | ``OnSalesforceCaseCreate``\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SubmitAutoEvaluationAction": { - "description": "The definition of submit auto evaluation action.", + "description": "", "type": "object", "properties": { "EvaluationFormArn": { - "description": "The Amazon Resource Name (ARN) of the evaluation form.", + "description": "", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the evaluation form.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^$|arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/evaluation-form/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^$|arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/evaluation-form/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" } }, "required": [ "EvaluationFormArn" ], "additionalProperties": false, - "markdownDescription": "The definition of submit auto evaluation action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EventBridgeAction": { - "description": "The definition for event bridge action.", + "description": "The EV action definition.", "type": "object", "properties": { "Name": { - "description": "The name of the event bridge action.", + "description": "The name.", "type": "string", - "markdownDescription": "The name of the event bridge action.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[a-zA-Z0-9._-]{1,100}$ \nUpdate requires: No interruption" + "markdownDescription": "The name.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[a-zA-Z0-9._-]{1,100}$ \nUpdate requires: No interruption" } }, "required": [ "Name" ], "additionalProperties": false, - "markdownDescription": "The definition for event bridge action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The EV action definition.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AssignContactCategoryAction": { "description": "The definition for assigning contact category action.", @@ -204,41 +212,43 @@ "markdownDescription": "The definition for assigning contact category action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SendNotificationAction": { - "description": "The definition for sending notification action.", + "description": "Information about the send notification action.", "type": "object", "properties": { "DeliveryMethod": { - "description": "The means of delivery.", + "description": "Notification delivery method.\n *Allowed value*: ``EMAIL``", "type": "string", "enum": [ "EMAIL" ], - "markdownDescription": "The means of delivery.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: EMAIL \nUpdate requires: No interruption" + "markdownDescription": "Notification delivery method.\n *Allowed value*: ``EMAIL``\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: EMAIL \nUpdate requires: No interruption" }, "Subject": { - "description": "The subject of notification.", + "description": "The subject of the email if the delivery method is ``EMAIL``. Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Administrators Guide*.", "type": "string", "minLength": 1, "maxLength": 200, - "markdownDescription": "The subject of notification.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nUpdate requires: No interruption" + "markdownDescription": "The subject of the email if the delivery method is ``EMAIL``. Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Administrators Guide*.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nUpdate requires: No interruption" }, "Content": { - "description": "The content of notification.", + "description": "Notification content. Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Administrators Guide*.", "type": "string", "minLength": 1, "maxLength": 1024, - "markdownDescription": "The content of notification.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + "markdownDescription": "Notification content. Supports variable injection. For more information, see [JSONPath reference](https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html) in the *Administrators Guide*.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" }, "ContentType": { - "description": "The type of content.", + "description": "Content type format.\n *Allowed value*: ``PLAIN_TEXT``", "type": "string", "enum": [ "PLAIN_TEXT" ], - "markdownDescription": "The type of content.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: PLAIN_TEXT \nUpdate requires: No interruption" + "markdownDescription": "Content type format.\n *Allowed value*: ``PLAIN_TEXT``\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: PLAIN_TEXT \nUpdate requires: No interruption" }, "Recipient": { - "$ref": "#/definitions/NotificationRecipientType" + "$ref": "#/definitions/NotificationRecipientType", + "description": "Notification recipient.", + "markdownDescription": "Notification recipient.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ @@ -248,21 +258,23 @@ "ContentType" ], "additionalProperties": false, - "markdownDescription": "The definition for sending notification action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information about the send notification action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "CreateCaseAction": { - "description": "The definition for create case action.", + "description": "", "type": "object", "properties": { "Fields": { - "$ref": "#/definitions/Fields" + "$ref": "#/definitions/Fields", + "description": "", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "TemplateId": { - "description": "The Id of template.", + "description": "", "type": "string", "minLength": 1, "maxLength": 500, - "markdownDescription": "The Id of template.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 500 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 500 \nUpdate requires: No interruption" } }, "required": [ @@ -270,21 +282,23 @@ "TemplateId" ], "additionalProperties": false, - "markdownDescription": "The definition for create case action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "UpdateCaseAction": { - "description": "The definition for update case action.", + "description": "", "type": "object", "properties": { "Fields": { - "$ref": "#/definitions/Fields" + "$ref": "#/definitions/Fields", + "description": "", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ "Fields" ], "additionalProperties": false, - "markdownDescription": "The definition for update case action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EndAssociatedTasksAction": { "description": "The definition for ending associated task action.", @@ -316,11 +330,11 @@ "markdownDescription": "This action will send event bridge notification when a rule is triggered.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "RuleTriggerEventSource": { - "description": "The event source that will trigger the rule.", + "description": "The name of the event source.", "type": "object", "properties": { "EventSourceName": { - "description": "The name of event source.", + "description": "The name of the event source.", "type": "string", "enum": [ "OnContactEvaluationSubmit", @@ -335,19 +349,19 @@ "OnCaseCreate", "OnCaseUpdate" ], - "markdownDescription": "The name of event source.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: OnContactEvaluationSubmit | OnPostCallAnalysisAvailable | OnRealTimeCallAnalysisAvailable | OnRealTimeChatAnalysisAvailable | OnPostChatAnalysisAvailable | OnZendeskTicketCreate | OnZendeskTicketStatusUpdate | OnSalesforceCaseCreate | OnMetricDataUpdate | OnCaseCreate | OnCaseUpdate \nUpdate requires: No interruption" + "markdownDescription": "The name of the event source.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: OnContactEvaluationSubmit | OnPostCallAnalysisAvailable | OnRealTimeCallAnalysisAvailable | OnRealTimeChatAnalysisAvailable | OnPostChatAnalysisAvailable | OnZendeskTicketCreate | OnZendeskTicketStatusUpdate | OnSalesforceCaseCreate | OnMetricDataUpdate | OnCaseCreate | OnCaseUpdate \nUpdate requires: No interruption" }, "IntegrationAssociationArn": { - "description": "The Amazon Resource Name (ARN) for the AppIntegration association.", + "description": "The Amazon Resource Name (ARN) of the integration association. ``IntegrationAssociationArn`` is required if ``TriggerEventSource`` is one of the following values: ``OnZendeskTicketCreate`` | ``OnZendeskTicketStatusUpdate`` | ``OnSalesforceCaseCreate``", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) for the AppIntegration association.\n\n---\n\nRequired: No \nType: String \nPattern: ^$|arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/integration-association/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the integration association. ``IntegrationAssociationArn`` is required if ``TriggerEventSource`` is one of the following values: ``OnZendeskTicketCreate`` | ``OnZendeskTicketStatusUpdate`` | ``OnSalesforceCaseCreate``\n\n---\n\nRequired: No \nType: String \nPattern: ^$|arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/integration-association/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" } }, "required": [ "EventSourceName" ], "additionalProperties": false, - "markdownDescription": "The event source that will trigger the rule.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The name of the event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "TaskActions": { "description": "This action will generate a task when a rule is triggered.", @@ -422,36 +436,52 @@ "markdownDescription": "This action will submit an auto contact evaluation when a rule is triggered.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Actions": { - "description": "The list of actions that will be executed when a rule is triggered.", + "description": "A list of actions to be run when the rule is triggered.", "type": "object", "properties": { "AssignContactCategoryActions": { - "$ref": "#/definitions/AssignContactCategoryActions" + "$ref": "#/definitions/AssignContactCategoryActions", + "description": "Information about the contact category action. The syntax can be empty, for example, ``{}``.", + "markdownDescription": "Information about the contact category action. The syntax can be empty, for example, ``{}``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "EventBridgeActions": { - "$ref": "#/definitions/EventBridgeActions" + "$ref": "#/definitions/EventBridgeActions", + "description": "Information about the EV action.", + "markdownDescription": "Information about the EV action.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "TaskActions": { - "$ref": "#/definitions/TaskActions" + "$ref": "#/definitions/TaskActions", + "description": "Information about the task action. This field is required if ``TriggerEventSource`` is one of the following values: ``OnZendeskTicketCreate`` | ``OnZendeskTicketStatusUpdate`` | ``OnSalesforceCaseCreate``", + "markdownDescription": "Information about the task action. This field is required if ``TriggerEventSource`` is one of the following values: ``OnZendeskTicketCreate`` | ``OnZendeskTicketStatusUpdate`` | ``OnSalesforceCaseCreate``\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "SendNotificationActions": { - "$ref": "#/definitions/SendNotificationActions" + "$ref": "#/definitions/SendNotificationActions", + "description": "Information about the send notification action.", + "markdownDescription": "Information about the send notification action.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "CreateCaseActions": { - "$ref": "#/definitions/CreateCaseActions" + "$ref": "#/definitions/CreateCaseActions", + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "UpdateCaseActions": { - "$ref": "#/definitions/UpdateCaseActions" + "$ref": "#/definitions/UpdateCaseActions", + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "EndAssociatedTasksActions": { - "$ref": "#/definitions/EndAssociatedTasksActions" + "$ref": "#/definitions/EndAssociatedTasksActions", + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "SubmitAutoEvaluationActions": { - "$ref": "#/definitions/SubmitAutoEvaluationActions" + "$ref": "#/definitions/SubmitAutoEvaluationActions", + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "additionalProperties": false, - "markdownDescription": "The list of actions that will be executed when a rule is triggered.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A list of actions to be run when the rule is triggered.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { "description": "A key-value pair to associate with a resource.", @@ -460,16 +490,16 @@ "properties": { "Key": { "type": "string", - "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -", "minLength": 1, "maxLength": 128, - "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. \n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:)[a-zA-Z+-=._:/]+$ \nUpdate requires: No interruption" + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:)[a-zA-Z+-=._:/]+$ \nUpdate requires: No interruption" }, "Value": { "type": "string", - "description": "The value for the tag. You can specify a value that's 1 to 256 characters in length.", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -", "maxLength": 256, - "markdownDescription": "The value for the tag. You can specify a value that's 1 to 256 characters in length.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" } }, "required": [ @@ -491,31 +521,31 @@ "markdownDescription": "The Amazon Resource Name (ARN) of the instance.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*$ \nUpdate requires: Replacement" }, "TriggerEventSource": { - "description": "The event source that triggers the rule.", + "description": "The event source to trigger the rule.", "$ref": "#/definitions/RuleTriggerEventSource", - "markdownDescription": "The event source that triggers the rule.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: Replacement" + "markdownDescription": "The event source to trigger the rule.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: Replacement" }, "Function": { - "description": "The conditions of a rule.", + "description": "The conditions of the rule.", "type": "string", - "markdownDescription": "The conditions of a rule.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The conditions of the rule.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Actions": { - "description": "The list of actions that will be executed when a rule is triggered.", + "description": "A list of actions to be run when the rule is triggered.", "$ref": "#/definitions/Actions", - "markdownDescription": "The list of actions that will be executed when a rule is triggered.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + "markdownDescription": "A list of actions to be run when the rule is triggered.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "PublishStatus": { - "description": "The publish status of a rule, either draft or published.", + "description": "The publish status of the rule.\n *Allowed values*: ``DRAFT`` | ``PUBLISHED``", "type": "string", "enum": [ "DRAFT", "PUBLISHED" ], - "markdownDescription": "The publish status of a rule, either draft or published.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: DRAFT | PUBLISHED \nUpdate requires: No interruption" + "markdownDescription": "The publish status of the rule.\n *Allowed values*: ``DRAFT`` | ``PUBLISHED``\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: DRAFT | PUBLISHED \nUpdate requires: No interruption" }, "Tags": { - "description": "One or more tags.", + "description": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", "type": "array", "maxItems": 50, "uniqueItems": true, @@ -523,7 +553,7 @@ "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "One or more tags.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ @@ -586,9 +616,9 @@ "replacementStrategy": "delete_then_create", "attributes": { "RuleArn": { - "description": "The Amazon Resource Name (ARN) of the rule.", + "description": "", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the rule.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/rule/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/rule/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-connect-tasktemplate.json b/server/schema/resources/aws-connect-tasktemplate.json index bf1e36db..54a54de1 100644 --- a/server/schema/resources/aws-connect-tasktemplate.json +++ b/server/schema/resources/aws-connect-tasktemplate.json @@ -27,9 +27,11 @@ "DATE_TIME", "BOOLEAN", "SINGLE_SELECT", - "EMAIL" + "EMAIL", + "EXPIRY_DURATION", + "SELF_ASSIGN" ], - "markdownDescription": "The type of the task template's field\n\n---\n\nRequired: No \nType: String \nAllowed Values: NAME | DESCRIPTION | SCHEDULED_TIME | QUICK_CONNECT | URL | NUMBER | TEXT | TEXT_AREA | DATE_TIME | BOOLEAN | SINGLE_SELECT | EMAIL \nUpdate requires: No interruption" + "markdownDescription": "The type of the task template's field\n\n---\n\nRequired: No \nType: String \nAllowed Values: NAME | DESCRIPTION | SCHEDULED_TIME | QUICK_CONNECT | URL | NUMBER | TEXT | TEXT_AREA | DATE_TIME | BOOLEAN | SINGLE_SELECT | EMAIL | EXPIRY_DURATION | SELF_ASSIGN \nUpdate requires: No interruption" }, "FieldIdentifier": { "description": "the identifier (name) for the task template field", @@ -240,6 +242,11 @@ "type": "string", "markdownDescription": "The identifier of the contact flow.\n\n---\n\nRequired: No \nType: String \nPattern: ^$|arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/contact-flow/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" }, + "SelfAssignContactFlowArn": { + "description": "The identifier of the contact flow.", + "type": "string", + "markdownDescription": "The identifier of the contact flow.\n\n---\n\nRequired: No \nType: String \nPattern: ^$|arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/contact-flow/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, "Constraints": { "description": "The constraints for the task template", "type": "object", diff --git a/server/schema/resources/aws-connect-viewversion.json b/server/schema/resources/aws-connect-viewversion.json index 299c5b11..aeb815cf 100644 --- a/server/schema/resources/aws-connect-viewversion.json +++ b/server/schema/resources/aws-connect-viewversion.json @@ -21,7 +21,7 @@ "type": "string", "minLength": 1, "maxLength": 4096, - "markdownDescription": "The description for the view version.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 4096 \nPattern: ^([\\p{L}\\p{N}_.:\\/=+\\-@,]+[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@,]*)$ \nUpdate requires: Replacement" + "markdownDescription": "The description for the view version.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 4096 \nPattern: ^([\\p{L}\\p{N}_.:\\/=+\\-@,]+[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@,]*)$ \nUpdate requires: No interruption" }, "ViewContentSha256": { "description": "The view content hash to be checked.", @@ -82,7 +82,6 @@ ], "createOnlyProperties": [ "/properties/ViewArn", - "/properties/VersionDescription", "/properties/ViewContentSha256" ], "attributes": { diff --git a/server/schema/resources/aws-connectcampaignsv2-campaign.json b/server/schema/resources/aws-connectcampaignsv2-campaign.json new file mode 100644 index 00000000..66221c40 --- /dev/null +++ b/server/schema/resources/aws-connectcampaignsv2-campaign.json @@ -0,0 +1,858 @@ +{ + "typeName": "AWS::ConnectCampaignsV2::Campaign", + "description": "Definition of AWS::ConnectCampaignsV2::Campaign Resource Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect-campaigns", + "definitions": { + "CampaignName": { + "type": "string", + "maxLength": 127, + "minLength": 1, + "description": "Campaign name", + "markdownDescription": "Campaign name\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" + }, + "InstanceId": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "description": "Amazon Connect Instance Id", + "markdownDescription": "Amazon Connect Instance Id\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: ^[a-zA-Z0-9_\\-.]*$ \nUpdate requires: No interruption" + }, + "Capacity": { + "type": "number", + "maximum": 1, + "minimum": 0.01, + "description": "Allocates outbound capacity for the specific channel of this campaign between multiple active campaigns", + "markdownDescription": "Allocates outbound capacity for the specific channel of this campaign between multiple active campaigns\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "QueueId": { + "type": "string", + "maxLength": 500, + "description": "The queue for the call", + "markdownDescription": "The queue for the call\n\n---\n\nRequired: No \nType: String \nMaximum Length: 500 \nUpdate requires: No interruption" + }, + "ContactFlowId": { + "type": "string", + "maxLength": 500, + "description": "The identifier of the contact flow for the outbound call", + "markdownDescription": "The identifier of the contact flow for the outbound call\n\n---\n\nRequired: No \nType: String \nMaximum Length: 500 \nUpdate requires: No interruption" + }, + "SourcePhoneNumber": { + "type": "string", + "maxLength": 100, + "description": "The phone number associated with the Amazon Connect instance, in E.164 format. If you do not specify a source phone number, you must specify a queue.", + "markdownDescription": "The phone number associated with the Amazon Connect instance, in E.164 format. If you do not specify a source phone number, you must specify a queue.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 100 \nUpdate requires: No interruption" + }, + "Arn": { + "type": "string", + "maxLength": 500, + "minLength": 20, + "description": "Arn", + "markdownDescription": "Arn\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 500 \nPattern: ^arn:.*$ \nUpdate requires: No interruption" + }, + "EmailAddress": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "description": "Email address used for Email messages", + "markdownDescription": "Email address used for Email messages\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[\\w-\\.\\+]+@([\\w-]+\\.)+[\\w-]{2,4}$ \nUpdate requires: No interruption" + }, + "SourceEmailAddressDisplayName": { + "type": "string", + "maxLength": 127, + "minLength": 1, + "description": "The name of the source email address display name", + "markdownDescription": "The name of the source email address display name\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" + }, + "BandwidthAllocation": { + "type": "number", + "maximum": 1, + "minimum": 0, + "description": "The bandwidth allocation of a queue resource.", + "markdownDescription": "The bandwidth allocation of a queue resource.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "TimeStamp": { + "type": "string", + "description": "Timestamp with no UTC offset or timezone", + "maxLength": 100, + "markdownDescription": "Timestamp with no UTC offset or timezone\n\n---\n\nRequired: No \nType: String \nMaximum Length: 100 \nUpdate requires: No interruption" + }, + "TimeZone": { + "type": "string", + "description": "Time Zone Id in the IANA format", + "markdownDescription": "Time Zone Id in the IANA format\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Iso8601Duration": { + "type": "string", + "description": "Time duration in ISO 8601 format", + "maxLength": 50, + "minLength": 0, + "markdownDescription": "Time duration in ISO 8601 format\n\n---\n\nRequired: No \nType: String \nMaximum Length: 50 \nPattern: ^[a-zA-Z0-9.]*$ \nUpdate requires: No interruption" + }, + "Iso8601Date": { + "type": "string", + "description": "Date in ISO 8601 format, e.g. 2024-01-01", + "markdownDescription": "Date in ISO 8601 format, e.g. 2024-01-01\n\n---\n\nRequired: No \nType: String \nPattern: ^\\d{4}-\\d{2}-\\d{2}$ \nUpdate requires: No interruption" + }, + "Iso8601Time": { + "type": "string", + "description": "Time in ISO 8601 format, e.g. T23:11", + "markdownDescription": "Time in ISO 8601 format, e.g. T23:11\n\n---\n\nRequired: No \nType: String \nPattern: ^T\\d{2}:\\d{2}$ \nUpdate requires: No interruption" + }, + "DayOfWeek": { + "type": "string", + "description": "Day of week", + "enum": [ + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "markdownDescription": "Day of week\n\n---\n\nRequired: No \nType: String \nAllowed Values: MONDAY | TUESDAY | WEDNESDAY | THURSDAY | FRIDAY | SATURDAY | SUNDAY \nUpdate requires: No interruption" + }, + "PredictiveConfig": { + "type": "object", + "description": "Predictive config", + "properties": { + "BandwidthAllocation": { + "$ref": "#/definitions/BandwidthAllocation" + } + }, + "required": [ + "BandwidthAllocation" + ], + "additionalProperties": false, + "markdownDescription": "Predictive config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ProgressiveConfig": { + "type": "object", + "description": "Progressive config", + "properties": { + "BandwidthAllocation": { + "$ref": "#/definitions/BandwidthAllocation" + } + }, + "required": [ + "BandwidthAllocation" + ], + "additionalProperties": false, + "markdownDescription": "Progressive config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AgentlessConfig": { + "type": "object", + "description": "Agentless config", + "required": [], + "additionalProperties": false, + "markdownDescription": "Agentless config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TelephonyOutboundMode": { + "type": "object", + "description": "Telephony Outbound Mode", + "properties": { + "ProgressiveConfig": { + "$ref": "#/definitions/ProgressiveConfig" + }, + "PredictiveConfig": { + "$ref": "#/definitions/PredictiveConfig" + }, + "AgentlessConfig": { + "$ref": "#/definitions/AgentlessConfig" + } + }, + "oneOf": [ + { + "required": [ + "ProgressiveConfig" + ] + }, + { + "required": [ + "PredictiveConfig" + ] + }, + { + "required": [ + "AgentlessConfig" + ] + } + ], + "additionalProperties": false, + "markdownDescription": "Telephony Outbound Mode\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AnswerMachineDetectionConfig": { + "type": "object", + "description": "The configuration used for answering machine detection during outbound calls", + "properties": { + "EnableAnswerMachineDetection": { + "type": "boolean", + "description": "Flag to decided whether outbound calls should have answering machine detection enabled or not", + "markdownDescription": "Flag to decided whether outbound calls should have answering machine detection enabled or not\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + }, + "AwaitAnswerMachinePrompt": { + "type": "boolean", + "description": "Enables detection of prompts (e.g., beep after after a voicemail greeting)", + "markdownDescription": "Enables detection of prompts (e.g., beep after after a voicemail greeting)\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "required": [ + "EnableAnswerMachineDetection" + ], + "additionalProperties": false, + "markdownDescription": "The configuration used for answering machine detection during outbound calls\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TelephonyOutboundConfig": { + "type": "object", + "description": "Default Telephone Outbound config", + "properties": { + "ConnectContactFlowId": { + "$ref": "#/definitions/ContactFlowId" + }, + "ConnectSourcePhoneNumber": { + "$ref": "#/definitions/SourcePhoneNumber" + }, + "AnswerMachineDetectionConfig": { + "$ref": "#/definitions/AnswerMachineDetectionConfig" + } + }, + "required": [ + "ConnectContactFlowId" + ], + "additionalProperties": false, + "markdownDescription": "Default Telephone Outbound config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TelephonyChannelSubtypeConfig": { + "type": "object", + "description": "Telephony Channel Subtype config", + "properties": { + "Capacity": { + "$ref": "#/definitions/Capacity" + }, + "ConnectQueueId": { + "$ref": "#/definitions/QueueId" + }, + "OutboundMode": { + "$ref": "#/definitions/TelephonyOutboundMode" + }, + "DefaultOutboundConfig": { + "$ref": "#/definitions/TelephonyOutboundConfig" + } + }, + "required": [ + "OutboundMode", + "DefaultOutboundConfig" + ], + "additionalProperties": false, + "markdownDescription": "Telephony Channel Subtype config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SmsOutboundMode": { + "type": "object", + "description": "SMS Outbound Mode", + "properties": { + "AgentlessConfig": { + "$ref": "#/definitions/AgentlessConfig" + } + }, + "additionalProperties": false, + "markdownDescription": "SMS Outbound Mode\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SmsOutboundConfig": { + "type": "object", + "description": "Default SMS outbound config", + "properties": { + "ConnectSourcePhoneNumberArn": { + "$ref": "#/definitions/Arn" + }, + "WisdomTemplateArn": { + "$ref": "#/definitions/Arn" + } + }, + "required": [ + "ConnectSourcePhoneNumberArn", + "WisdomTemplateArn" + ], + "additionalProperties": false, + "markdownDescription": "Default SMS outbound config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SmsChannelSubtypeConfig": { + "type": "object", + "description": "SMS Channel Subtype config", + "properties": { + "Capacity": { + "$ref": "#/definitions/Capacity" + }, + "OutboundMode": { + "$ref": "#/definitions/SmsOutboundMode" + }, + "DefaultOutboundConfig": { + "$ref": "#/definitions/SmsOutboundConfig" + } + }, + "required": [ + "OutboundMode", + "DefaultOutboundConfig" + ], + "additionalProperties": false, + "markdownDescription": "SMS Channel Subtype config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EmailOutboundMode": { + "type": "object", + "description": "Email Outbound Mode", + "properties": { + "AgentlessConfig": { + "$ref": "#/definitions/AgentlessConfig" + } + }, + "additionalProperties": false, + "markdownDescription": "Email Outbound Mode\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EmailOutboundConfig": { + "type": "object", + "description": "Default SMS outbound config", + "properties": { + "ConnectSourceEmailAddress": { + "$ref": "#/definitions/EmailAddress" + }, + "SourceEmailAddressDisplayName": { + "$ref": "#/definitions/SourceEmailAddressDisplayName" + }, + "WisdomTemplateArn": { + "$ref": "#/definitions/Arn" + } + }, + "required": [ + "ConnectSourceEmailAddress", + "WisdomTemplateArn" + ], + "additionalProperties": false, + "markdownDescription": "Default SMS outbound config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EmailChannelSubtypeConfig": { + "type": "object", + "description": "Email Channel Subtype config", + "properties": { + "Capacity": { + "$ref": "#/definitions/Capacity" + }, + "OutboundMode": { + "$ref": "#/definitions/EmailOutboundMode" + }, + "DefaultOutboundConfig": { + "$ref": "#/definitions/EmailOutboundConfig" + } + }, + "required": [ + "OutboundMode", + "DefaultOutboundConfig" + ], + "additionalProperties": false, + "markdownDescription": "Email Channel Subtype config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ChannelSubtypeConfig": { + "type": "object", + "description": "The possible types of channel subtype config parameters", + "properties": { + "Telephony": { + "$ref": "#/definitions/TelephonyChannelSubtypeConfig" + }, + "Sms": { + "$ref": "#/definitions/SmsChannelSubtypeConfig" + }, + "Email": { + "$ref": "#/definitions/EmailChannelSubtypeConfig" + } + }, + "anyOf": [ + { + "required": [ + "Telephony" + ] + }, + { + "required": [ + "Sms" + ] + }, + { + "required": [ + "Email" + ] + } + ], + "additionalProperties": false, + "markdownDescription": "The possible types of channel subtype config parameters\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Source": { + "type": "object", + "description": "The possible source of the campaign", + "properties": { + "CustomerProfilesSegmentArn": { + "$ref": "#/definitions/Arn" + }, + "EventTrigger": { + "$ref": "#/definitions/EventTrigger" + } + }, + "oneOf": [ + { + "required": [ + "CustomerProfilesSegmentArn" + ] + }, + { + "required": [ + "EventTrigger" + ] + } + ], + "additionalProperties": false, + "markdownDescription": "The possible source of the campaign\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EventTrigger": { + "type": "object", + "description": "The event trigger of the campaign", + "properties": { + "CustomerProfilesDomainArn": { + "$ref": "#/definitions/Arn" + } + }, + "additionalProperties": false, + "markdownDescription": "The event trigger of the campaign\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TimeRange": { + "type": "object", + "description": "Time range in 24 hour format", + "properties": { + "StartTime": { + "$ref": "#/definitions/Iso8601Time" + }, + "EndTime": { + "$ref": "#/definitions/Iso8601Time" + } + }, + "required": [ + "StartTime", + "EndTime" + ], + "additionalProperties": false, + "markdownDescription": "Time range in 24 hour format\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TimeRangeList": { + "type": "array", + "description": "List of time range", + "items": { + "$ref": "#/definitions/TimeRange" + }, + "insertionOrder": false, + "markdownDescription": "List of time range\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "DailyHour": { + "type": "object", + "description": "Daily Hour", + "properties": { + "Key": { + "$ref": "#/definitions/DayOfWeek" + }, + "Value": { + "$ref": "#/definitions/TimeRangeList" + } + }, + "additionalProperties": false, + "markdownDescription": "Daily Hour\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DailyHours": { + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "description": "Daily Hours map", + "items": { + "$ref": "#/definitions/DailyHour" + }, + "markdownDescription": "Daily Hours map\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "OpenHours": { + "type": "object", + "description": "Open Hours config", + "properties": { + "DailyHours": { + "$ref": "#/definitions/DailyHours" + } + }, + "required": [ + "DailyHours" + ], + "additionalProperties": false, + "markdownDescription": "Open Hours config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RestrictedPeriod": { + "type": "object", + "description": "Restricted period", + "properties": { + "Name": { + "type": "string", + "maxLength": 127, + "description": "The name of a restricted period", + "markdownDescription": "The name of a restricted period\n\n---\n\nRequired: No \nType: String \nMaximum Length: 127 \nUpdate requires: No interruption" + }, + "StartDate": { + "$ref": "#/definitions/Iso8601Date" + }, + "EndDate": { + "$ref": "#/definitions/Iso8601Date" + } + }, + "required": [ + "StartDate", + "EndDate" + ], + "additionalProperties": false, + "markdownDescription": "Restricted period\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RestrictedPeriodList": { + "type": "array", + "description": "List of restricted period", + "items": { + "$ref": "#/definitions/RestrictedPeriod" + }, + "insertionOrder": false, + "markdownDescription": "List of restricted period\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "RestrictedPeriods": { + "type": "object", + "description": "Restricted period config", + "properties": { + "RestrictedPeriodList": { + "$ref": "#/definitions/RestrictedPeriodList" + } + }, + "oneOf": [ + { + "required": [ + "RestrictedPeriodList" + ] + } + ], + "additionalProperties": false, + "markdownDescription": "Restricted period config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TimeWindow": { + "type": "object", + "description": "Time window config", + "properties": { + "OpenHours": { + "$ref": "#/definitions/OpenHours" + }, + "RestrictedPeriods": { + "$ref": "#/definitions/RestrictedPeriods" + } + }, + "required": [ + "OpenHours" + ], + "additionalProperties": false, + "markdownDescription": "Time window config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Schedule": { + "type": "object", + "description": "Campaign schedule", + "properties": { + "StartTime": { + "$ref": "#/definitions/TimeStamp" + }, + "EndTime": { + "$ref": "#/definitions/TimeStamp" + }, + "RefreshFrequency": { + "$ref": "#/definitions/Iso8601Duration" + } + }, + "required": [ + "StartTime", + "EndTime" + ], + "additionalProperties": false, + "markdownDescription": "Campaign schedule\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LocalTimeZoneDetectionType": { + "type": "string", + "description": "Local TimeZone Detection method", + "enum": [ + "ZIP_CODE", + "AREA_CODE" + ], + "markdownDescription": "Local TimeZone Detection method\n\n---\n\nRequired: No \nType: String \nAllowed Values: ZIP_CODE | AREA_CODE \nUpdate requires: No interruption" + }, + "LocalTimeZoneDetection": { + "type": "array", + "description": "Local TimeZone Detection method list", + "items": { + "$ref": "#/definitions/LocalTimeZoneDetectionType" + }, + "insertionOrder": false, + "markdownDescription": "Local TimeZone Detection method list\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "LocalTimeZoneConfig": { + "type": "object", + "description": "Local time zone config", + "properties": { + "DefaultTimeZone": { + "$ref": "#/definitions/TimeZone" + }, + "LocalTimeZoneDetection": { + "$ref": "#/definitions/LocalTimeZoneDetection" + } + }, + "additionalProperties": false, + "markdownDescription": "Local time zone config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CommunicationTimeConfig": { + "type": "object", + "description": "Campaign communication time config", + "properties": { + "LocalTimeZoneConfig": { + "$ref": "#/definitions/LocalTimeZoneConfig" + }, + "Telephony": { + "$ref": "#/definitions/TimeWindow" + }, + "Sms": { + "$ref": "#/definitions/TimeWindow" + }, + "Email": { + "$ref": "#/definitions/TimeWindow" + } + }, + "required": [ + "LocalTimeZoneConfig" + ], + "additionalProperties": false, + "markdownDescription": "Campaign communication time config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CommunicationLimitTimeUnit": { + "type": "string", + "description": "The communication limit time unit", + "enum": [ + "DAY" + ], + "markdownDescription": "The communication limit time unit\n\n---\n\nRequired: No \nType: String \nAllowed Values: DAY \nUpdate requires: No interruption" + }, + "CommunicationLimit": { + "type": "object", + "description": "Communication Limit", + "properties": { + "MaxCountPerRecipient": { + "type": "integer", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "Frequency": { + "type": "integer", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "Unit": { + "$ref": "#/definitions/CommunicationLimitTimeUnit" + } + }, + "required": [ + "MaxCountPerRecipient", + "Frequency", + "Unit" + ], + "additionalProperties": false, + "markdownDescription": "Communication Limit\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CommunicationLimitList": { + "type": "array", + "description": "List of communication limit", + "items": { + "$ref": "#/definitions/CommunicationLimit" + }, + "insertionOrder": false, + "markdownDescription": "List of communication limit\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "CommunicationLimits": { + "type": "object", + "description": "Communication limits", + "properties": { + "CommunicationLimitList": { + "$ref": "#/definitions/CommunicationLimitList" + } + }, + "additionalProperties": false, + "markdownDescription": "Communication limits\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CommunicationLimitsConfig": { + "type": "object", + "description": "Communication limits config", + "properties": { + "AllChannelsSubtypes": { + "$ref": "#/definitions/CommunicationLimits" + } + }, + "additionalProperties": false, + "markdownDescription": "Communication limits config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tag": { + "type": "object", + "properties": { + "Key": { + "type": "string", + "description": "The key name of the tag.", + "markdownDescription": "The key name of the tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value for the tag.", + "markdownDescription": "The value for the tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "Name": { + "$ref": "#/definitions/CampaignName" + }, + "ConnectInstanceId": { + "$ref": "#/definitions/InstanceId" + }, + "ChannelSubtypeConfig": { + "$ref": "#/definitions/ChannelSubtypeConfig" + }, + "Source": { + "$ref": "#/definitions/Source" + }, + "ConnectCampaignFlowArn": { + "$ref": "#/definitions/Arn" + }, + "Schedule": { + "$ref": "#/definitions/Schedule" + }, + "CommunicationTimeConfig": { + "$ref": "#/definitions/CommunicationTimeConfig" + }, + "CommunicationLimitsOverride": { + "$ref": "#/definitions/CommunicationLimitsConfig" + }, + "Tags": { + "type": "array", + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "description": "One or more tags.", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "One or more tags.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "connect-campaigns:UntagResource", + "connect-campaigns:TagResource" + ] + }, + "required": [ + "Name", + "ConnectInstanceId", + "ChannelSubtypeConfig" + ], + "readOnlyProperties": [ + "/properties/Arn" + ], + "createOnlyProperties": [ + "/properties/ConnectInstanceId" + ], + "primaryIdentifier": [ + "/properties/Arn" + ], + "handlers": { + "create": { + "permissions": [ + "connect-campaigns:CreateCampaign", + "connect-campaigns:DescribeCampaign", + "connect-campaigns:TagResource", + "connect:DescribeContactFlow", + "connect:DescribeEmailAddress", + "connect:DescribeInstance", + "connect:DescribePhoneNumber", + "connect:DescribeQueue", + "profile:GetSegmentDefinition", + "wisdom:GetMessageTemplate" + ] + }, + "read": { + "permissions": [ + "connect-campaigns:DescribeCampaign" + ] + }, + "delete": { + "permissions": [ + "connect-campaigns:DeleteCampaign", + "connect-campaigns:DeleteCampaignChannelSubtypeConfig", + "connect-campaigns:DeleteCampaignCommunicationLimits", + "connect-campaigns:DeleteCampaignCommunicationTime" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "ConnectInstanceId": { + "$ref": "resource-schema.json#/properties/ConnectInstanceId" + } + }, + "required": [ + "ConnectInstanceId" + ] + }, + "permissions": [ + "connect-campaigns:ListCampaigns" + ] + }, + "update": { + "permissions": [ + "connect-campaigns:DeleteCampaignChannelSubtypeConfig", + "connect-campaigns:DeleteCampaignCommunicationLimits", + "connect-campaigns:DeleteCampaignCommunicationTime", + "connect-campaigns:UpdateCampaignChannelSubtypeConfig", + "connect-campaigns:UpdateCampaignCommunicationLimits", + "connect-campaigns:UpdateCampaignCommunicationTime", + "connect-campaigns:UpdateCampaignName", + "connect-campaigns:UpdateCampaignFlowAssociation", + "connect-campaigns:UpdateCampaignSchedule", + "connect-campaigns:UpdateCampaignSource", + "connect-campaigns:TagResource", + "connect-campaigns:UntagResource", + "connect-campaigns:DescribeCampaign", + "connect:DescribeContactFlow", + "connect:DescribeEmailAddress", + "connect:DescribePhoneNumber", + "connect:DescribeQueue", + "profile:GetSegmentDefinition", + "wisdom:GetMessageTemplate" + ] + } + }, + "additionalProperties": false, + "attributes": { + "Arn": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "description": "Amazon Connect Campaign Arn", + "markdownDescription": "Amazon Connect Campaign Arn\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: ^arn:aws[-a-z0-9]*:connect-campaigns:[-a-z0-9]*:[0-9]{12}:campaign/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-controltower-enabledcontrol.json b/server/schema/resources/aws-controltower-enabledcontrol.json index 313f10bf..65805372 100644 --- a/server/schema/resources/aws-controltower-enabledcontrol.json +++ b/server/schema/resources/aws-controltower-enabledcontrol.json @@ -213,7 +213,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "controltower:UntagResource", + "controltower:TagResource", + "controltower:ListTagsForResource" + ] }, "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-controltower-landingzone.json b/server/schema/resources/aws-controltower-landingzone.json index 0e1ee37f..228701ee 100644 --- a/server/schema/resources/aws-controltower-landingzone.json +++ b/server/schema/resources/aws-controltower-landingzone.json @@ -1,5 +1,10 @@ { "tagging": { + "permissions": [ + "controltower:UntagResource", + "controltower:TagResource", + "controltower:ListTagsForResource" + ], "taggable": true, "tagOnCreate": true, "tagUpdatable": true, diff --git a/server/schema/resources/aws-customerprofiles-eventtrigger.json b/server/schema/resources/aws-customerprofiles-eventtrigger.json new file mode 100644 index 00000000..b3bea0f9 --- /dev/null +++ b/server/schema/resources/aws-customerprofiles-eventtrigger.json @@ -0,0 +1,400 @@ +{ + "typeName": "AWS::CustomerProfiles::EventTrigger", + "description": "An event trigger resource of Amazon Connect Customer Profiles", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-customer-profiles", + "definitions": { + "DomainName": { + "description": "The unique name of the domain.", + "type": "string", + "minLength": 1, + "maxLength": 64, + "markdownDescription": "The unique name of the domain.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9_-]+$ \nUpdate requires: No interruption" + }, + "EventTriggerName": { + "description": "The unique name of the event trigger.", + "type": "string", + "minLength": 1, + "maxLength": 64, + "markdownDescription": "The unique name of the event trigger.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9_-]+$ \nUpdate requires: No interruption" + }, + "ObjectTypeName": { + "description": "The unique name of the object type.", + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "The unique name of the object type.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[a-zA-Z_][a-zA-Z_0-9-]*$ \nUpdate requires: No interruption" + }, + "Description": { + "description": "The description of the event trigger.", + "type": "string", + "minLength": 1, + "maxLength": 1000, + "markdownDescription": "The description of the event trigger.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nUpdate requires: No interruption" + }, + "EventTriggerConditions": { + "description": "A list of conditions that determine when an event should trigger the destination.", + "type": "array", + "items": { + "$ref": "#/definitions/EventTriggerCondition" + }, + "insertionOrder": false, + "minItems": 1, + "maxItems": 5, + "markdownDescription": "A list of conditions that determine when an event should trigger the destination.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "EventTriggerCondition": { + "description": "Specifies the circumstances under which the event should trigger the destination.", + "type": "object", + "properties": { + "EventTriggerDimensions": { + "$ref": "#/definitions/EventTriggerDimensions" + }, + "LogicalOperator": { + "$ref": "#/definitions/EventTriggerLogicalOperator" + } + }, + "required": [ + "EventTriggerDimensions", + "LogicalOperator" + ], + "additionalProperties": false, + "markdownDescription": "Specifies the circumstances under which the event should trigger the destination.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EventTriggerDimensions": { + "description": "A list of dimensions to be evaluated for the event.", + "type": "array", + "items": { + "$ref": "#/definitions/EventTriggerDimension" + }, + "insertionOrder": false, + "minItems": 1, + "maxItems": 10, + "markdownDescription": "A list of dimensions to be evaluated for the event.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "EventTriggerDimension": { + "description": "A specific event dimension to be assessed.", + "type": "object", + "properties": { + "ObjectAttributes": { + "$ref": "#/definitions/ObjectAttributes" + } + }, + "required": [ + "ObjectAttributes" + ], + "additionalProperties": false, + "markdownDescription": "A specific event dimension to be assessed.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EventTriggerLogicalOperator": { + "description": "The operator used to combine multiple dimensions.", + "type": "string", + "enum": [ + "ANY", + "ALL", + "NONE" + ], + "markdownDescription": "The operator used to combine multiple dimensions.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ANY | ALL | NONE \nUpdate requires: No interruption" + }, + "ObjectAttributes": { + "description": "A list of object attributes to be evaluated.", + "type": "array", + "items": { + "$ref": "#/definitions/ObjectAttribute" + }, + "insertionOrder": false, + "minItems": 1, + "maxItems": 10, + "markdownDescription": "A list of object attributes to be evaluated.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ObjectAttribute": { + "description": "The criteria that a specific object attribute must meet to trigger the destination.", + "type": "object", + "properties": { + "Source": { + "description": "An attribute contained within a source object.", + "type": "string", + "minLength": 1, + "maxLength": 1000, + "markdownDescription": "An attribute contained within a source object.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nUpdate requires: No interruption" + }, + "FieldName": { + "description": "A field defined within an object type.", + "type": "string", + "minLength": 1, + "maxLength": 64, + "markdownDescription": "A field defined within an object type.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9_.-]+$ \nUpdate requires: No interruption" + }, + "ComparisonOperator": { + "description": "The operator used to compare an attribute against a list of values.", + "type": "string", + "enum": [ + "INCLUSIVE", + "EXCLUSIVE", + "CONTAINS", + "BEGINS_WITH", + "ENDS_WITH", + "GREATER_THAN", + "LESS_THAN", + "GREATER_THAN_OR_EQUAL", + "LESS_THAN_OR_EQUAL", + "EQUAL", + "BEFORE", + "AFTER", + "ON", + "BETWEEN", + "NOT_BETWEEN" + ], + "markdownDescription": "The operator used to compare an attribute against a list of values.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: INCLUSIVE | EXCLUSIVE | CONTAINS | BEGINS_WITH | ENDS_WITH | GREATER_THAN | LESS_THAN | GREATER_THAN_OR_EQUAL | LESS_THAN_OR_EQUAL | EQUAL | BEFORE | AFTER | ON | BETWEEN | NOT_BETWEEN \nUpdate requires: No interruption" + }, + "Values": { + "description": "A list of attribute values used for comparison.", + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" + }, + "insertionOrder": false, + "minItems": 1, + "maxItems": 10, + "markdownDescription": "A list of attribute values used for comparison.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "ComparisonOperator", + "Values" + ], + "additionalProperties": false, + "markdownDescription": "The criteria that a specific object attribute must meet to trigger the destination.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EventTriggerLimits": { + "description": "Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.", + "type": "object", + "properties": { + "EventExpiration": { + "$ref": "#/definitions/EventExpiration" + }, + "Periods": { + "$ref": "#/definitions/Periods" + } + }, + "additionalProperties": false, + "markdownDescription": "Defines limits controlling whether an event triggers the destination, based on ingestion latency and the number of invocations per profile over specific time periods.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EventExpiration": { + "description": "Specifies that an event will only trigger the destination if it is processed within a certain latency period.", + "type": "integer", + "format": "int64", + "markdownDescription": "Specifies that an event will only trigger the destination if it is processed within a certain latency period.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Periods": { + "description": "A list of time periods during which the limits apply.", + "type": "array", + "items": { + "$ref": "#/definitions/Period" + }, + "insertionOrder": false, + "minItems": 1, + "maxItems": 4, + "markdownDescription": "A list of time periods during which the limits apply.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Period": { + "description": "Defines a limit and the time period during which it is enforced.", + "type": "object", + "properties": { + "Unit": { + "description": "The unit of time.", + "type": "string", + "enum": [ + "HOURS", + "DAYS", + "WEEKS", + "MONTHS" + ], + "markdownDescription": "The unit of time.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: HOURS | DAYS | WEEKS | MONTHS \nUpdate requires: No interruption" + }, + "Value": { + "description": "The amount of time of the specified unit.", + "type": "integer", + "minimum": 1, + "maximum": 24, + "markdownDescription": "The amount of time of the specified unit.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "MaxInvocationsPerProfile": { + "description": "The maximum allowed number of destination invocations per profile.", + "type": "integer", + "minimum": 1, + "maximum": 1000, + "markdownDescription": "The maximum allowed number of destination invocations per profile.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Unlimited": { + "description": "If set to true, there is no limit on the number of destination invocations per profile. The default is false.", + "type": "boolean", + "markdownDescription": "If set to true, there is no limit on the number of destination invocations per profile. The default is false.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "required": [ + "Unit", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "Defines a limit and the time period during which it is enforced.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SegmentFilter": { + "description": "The destination is triggered only for profiles that meet the criteria of a segment definition.", + "type": "string", + "minLength": 1, + "maxLength": 64, + "markdownDescription": "The destination is triggered only for profiles that meet the criteria of a segment definition.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9_-]+$ \nUpdate requires: No interruption" + }, + "Tag": { + "description": "A key-value pair to associate with a resource.", + "type": "object", + "properties": { + "Key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tags": { + "description": "An array of key-value pairs to apply to this resource.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "minItems": 0, + "maxItems": 50, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "properties": { + "DomainName": { + "$ref": "#/definitions/DomainName" + }, + "EventTriggerName": { + "$ref": "#/definitions/EventTriggerName" + }, + "ObjectTypeName": { + "$ref": "#/definitions/ObjectTypeName" + }, + "Description": { + "$ref": "#/definitions/Description" + }, + "EventTriggerConditions": { + "$ref": "#/definitions/EventTriggerConditions" + }, + "EventTriggerLimits": { + "$ref": "#/definitions/EventTriggerLimits" + }, + "SegmentFilter": { + "$ref": "#/definitions/SegmentFilter" + }, + "Tags": { + "$ref": "#/definitions/Tags" + } + }, + "additionalProperties": false, + "required": [ + "DomainName", + "EventTriggerName", + "ObjectTypeName", + "EventTriggerConditions" + ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "profile:TagResource", + "profile:UntagResource", + "profile:ListTagsForResource" + ] + }, + "createOnlyProperties": [ + "/properties/DomainName", + "/properties/EventTriggerName" + ], + "readOnlyProperties": [ + "/properties/CreatedAt", + "/properties/LastUpdatedAt" + ], + "primaryIdentifier": [ + "/properties/DomainName", + "/properties/EventTriggerName" + ], + "handlers": { + "create": { + "permissions": [ + "profile:CreateEventTrigger", + "profile:TagResource" + ] + }, + "read": { + "permissions": [ + "profile:GetEventTrigger" + ] + }, + "update": { + "permissions": [ + "profile:GetEventTrigger", + "profile:UpdateEventTrigger", + "profile:UntagResource", + "profile:TagResource" + ] + }, + "delete": { + "permissions": [ + "profile:DeleteEventTrigger" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "DomainName": { + "$ref": "resource-schema.json#/properties/DomainName" + } + }, + "required": [ + "DomainName" + ] + }, + "permissions": [ + "profile:ListEventTriggers" + ] + } + }, + "attributes": { + "CreatedAt": { + "description": "The timestamp of when the event trigger was created.", + "type": "string", + "markdownDescription": "The timestamp of when the event trigger was created.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "LastUpdatedAt": { + "description": "The timestamp of when the event trigger was most recently updated.", + "type": "string", + "markdownDescription": "The timestamp of when the event trigger was most recently updated.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-customerprofiles-integration.json b/server/schema/resources/aws-customerprofiles-integration.json index 3b1e9541..f53ba2b4 100644 --- a/server/schema/resources/aws-customerprofiles-integration.json +++ b/server/schema/resources/aws-customerprofiles-integration.json @@ -638,6 +638,20 @@ "$ref": "#/definitions/ObjectTypeMapping" }, "markdownDescription": "The mapping between 3rd party event types and ObjectType names\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "EventTriggerNames": { + "description": "A list of unique names for active event triggers associated with the integration.", + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 64, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9_-]+$ \nUpdate requires: No interruption" + }, + "insertionOrder": false, + "minItems": 1, + "maxItems": 1, + "markdownDescription": "A list of unique names for active event triggers associated with the integration.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-customerprofiles-segmentdefinition.json b/server/schema/resources/aws-customerprofiles-segmentdefinition.json new file mode 100644 index 00000000..2d662565 --- /dev/null +++ b/server/schema/resources/aws-customerprofiles-segmentdefinition.json @@ -0,0 +1,617 @@ +{ + "typeName": "AWS::CustomerProfiles::SegmentDefinition", + "description": "A segment definition resource of Amazon Connect Customer Profiles", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-customer-profiles", + "definitions": { + "Tag": { + "description": "A key-value pair to associate with a resource.", + "type": "object", + "properties": { + "Key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:)[a-zA-Z+-=._:/]+$ \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ConditionOverrides": { + "description": "Overrides the condition block within the original calculated attribute definition.", + "type": "object", + "properties": { + "Range": { + "$ref": "#/definitions/RangeOverride" + } + }, + "additionalProperties": false, + "markdownDescription": "Overrides the condition block within the original calculated attribute definition.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RangeOverride": { + "description": "Defines the range to be applied to the calculated attribute definition.", + "type": "object", + "properties": { + "Start": { + "description": "The starting point for this overridden range.", + "type": "integer", + "minimum": 1, + "maximum": 366, + "markdownDescription": "The starting point for this overridden range.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "End": { + "description": "The ending point for this overridden range.", + "type": "integer", + "minimum": 0, + "maximum": 366, + "markdownDescription": "The ending point for this overridden range.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Unit": { + "description": "The unit to be applied to the range.", + "type": "string", + "enum": [ + "DAYS" + ], + "markdownDescription": "The unit to be applied to the range.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: DAYS \nUpdate requires: No interruption" + } + }, + "required": [ + "Start", + "Unit" + ], + "additionalProperties": false, + "markdownDescription": "Defines the range to be applied to the calculated attribute definition.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AddressDimension": { + "description": "The address based criteria for the segment.", + "type": "object", + "properties": { + "City": { + "$ref": "#/definitions/ProfileDimension" + }, + "Country": { + "$ref": "#/definitions/ProfileDimension" + }, + "County": { + "$ref": "#/definitions/ProfileDimension" + }, + "PostalCode": { + "$ref": "#/definitions/ProfileDimension" + }, + "Province": { + "$ref": "#/definitions/ProfileDimension" + }, + "State": { + "$ref": "#/definitions/ProfileDimension" + } + }, + "additionalProperties": false, + "markdownDescription": "The address based criteria for the segment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AttributeDimension": { + "description": "Specifies attribute based criteria for a segment.", + "type": "object", + "properties": { + "DimensionType": { + "$ref": "#/definitions/AttributeDimensionType" + }, + "Values": { + "type": "array", + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" + }, + "insertionOrder": false, + "minItems": 1, + "maxItems": 50, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "DimensionType", + "Values" + ], + "additionalProperties": false, + "markdownDescription": "Specifies attribute based criteria for a segment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AttributeDimensionType": { + "description": "The type of segment dimension to use.", + "type": "string", + "enum": [ + "INCLUSIVE", + "EXCLUSIVE", + "CONTAINS", + "BEGINS_WITH", + "ENDS_WITH", + "BEFORE", + "AFTER", + "BETWEEN", + "NOT_BETWEEN", + "ON", + "GREATER_THAN", + "LESS_THAN", + "GREATER_THAN_OR_EQUAL", + "LESS_THAN_OR_EQUAL", + "EQUAL" + ], + "markdownDescription": "The type of segment dimension to use.\n\n---\n\nRequired: No \nType: String \nAllowed Values: INCLUSIVE | EXCLUSIVE | CONTAINS | BEGINS_WITH | ENDS_WITH | BEFORE | AFTER | BETWEEN | NOT_BETWEEN | ON | GREATER_THAN | LESS_THAN | GREATER_THAN_OR_EQUAL | LESS_THAN_OR_EQUAL | EQUAL \nUpdate requires: No interruption" + }, + "CalculatedAttributeDimension": { + "description": "Specifies calculated attribute based criteria for a segment.", + "type": "object", + "properties": { + "DimensionType": { + "$ref": "#/definitions/AttributeDimensionType" + }, + "Values": { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" + }, + "insertionOrder": false, + "minItems": 1, + "maxItems": 50, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "ConditionOverrides": { + "$ref": "#/definitions/ConditionOverrides" + } + }, + "required": [ + "DimensionType", + "Values" + ], + "additionalProperties": false, + "markdownDescription": "Specifies calculated attribute based criteria for a segment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CustomAttributes": { + "description": "One or more custom attributes to use as criteria for the segment.", + "type": "object", + "patternProperties": { + "^[a-zA-Z_][a-zA-Z_0-9-]*$": { + "$ref": "#/definitions/AttributeDimension" + } + }, + "additionalProperties": false, + "markdownDescription": "One or more custom attributes to use as criteria for the segment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CalculatedCustomAttributes": { + "description": "One or more calculated attributes to use as criteria for the segment.", + "type": "object", + "patternProperties": { + "^[a-zA-Z_][a-zA-Z_0-9-]*$": { + "$ref": "#/definitions/CalculatedAttributeDimension" + } + }, + "additionalProperties": false, + "markdownDescription": "One or more calculated attributes to use as criteria for the segment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DateDimension": { + "description": "Specifies date based criteria for a segment.", + "type": "object", + "properties": { + "DimensionType": { + "$ref": "#/definitions/DateDimensionType" + }, + "Values": { + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "insertionOrder": false, + "minItems": 1, + "maxItems": 50, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "DimensionType", + "Values" + ], + "additionalProperties": false, + "markdownDescription": "Specifies date based criteria for a segment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DateDimensionType": { + "description": "The type of segment dimension to use for a date dimension.", + "type": "string", + "enum": [ + "BEFORE", + "AFTER", + "BETWEEN", + "NOT_BETWEEN", + "ON" + ], + "markdownDescription": "The type of segment dimension to use for a date dimension.\n\n---\n\nRequired: No \nType: String \nAllowed Values: BEFORE | AFTER | BETWEEN | NOT_BETWEEN | ON \nUpdate requires: No interruption" + }, + "Dimension": { + "description": "The criteria that define the dimensions for the segment.", + "oneOf": [ + { + "type": "object", + "title": "ProfileAttributes", + "properties": { + "ProfileAttributes": { + "$ref": "#/definitions/ProfileAttributes" + } + }, + "required": [ + "ProfileAttributes" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "CalculatedAttributes", + "properties": { + "CalculatedAttributes": { + "$ref": "#/definitions/CalculatedCustomAttributes" + } + }, + "additionalProperties": false + } + ], + "markdownDescription": "The criteria that define the dimensions for the segment.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ExtraLengthValueProfileDimension": { + "description": "Specifies criteria for a segment using extended-length string values.", + "type": "object", + "properties": { + "DimensionType": { + "$ref": "#/definitions/StringDimensionType" + }, + "Values": { + "type": "array", + "items": { + "type": "string", + "maxLength": 1000, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nUpdate requires: No interruption" + }, + "insertionOrder": false, + "minItems": 1, + "maxItems": 50, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "DimensionType", + "Values" + ], + "additionalProperties": false, + "markdownDescription": "Specifies criteria for a segment using extended-length string values.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Group": { + "description": "An array that defines the set of segment criteria to evaluate when handling segment groups for the segment.", + "type": "object", + "properties": { + "Dimensions": { + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SourceSegments": { + "type": "array", + "items": { + "$ref": "#/definitions/SourceSegment" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SourceType": { + "$ref": "#/definitions/IncludeOptions" + }, + "Type": { + "$ref": "#/definitions/IncludeOptions" + } + }, + "additionalProperties": false, + "markdownDescription": "An array that defines the set of segment criteria to evaluate when handling segment groups for the segment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "IncludeOptions": { + "description": "Specifies the operator on how to handle multiple groups within the same segment.", + "type": "string", + "enum": [ + "ALL", + "ANY", + "NONE" + ], + "markdownDescription": "Specifies the operator on how to handle multiple groups within the same segment.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ALL | ANY | NONE \nUpdate requires: No interruption" + }, + "ProfileAttributes": { + "description": "Specifies the dimension settings within profile attributes for a segment.", + "type": "object", + "properties": { + "AccountNumber": { + "$ref": "#/definitions/ProfileDimension" + }, + "AdditionalInformation": { + "$ref": "#/definitions/ExtraLengthValueProfileDimension" + }, + "FirstName": { + "$ref": "#/definitions/ProfileDimension" + }, + "LastName": { + "$ref": "#/definitions/ProfileDimension" + }, + "MiddleName": { + "$ref": "#/definitions/ProfileDimension" + }, + "GenderString": { + "$ref": "#/definitions/ProfileDimension" + }, + "PartyTypeString": { + "$ref": "#/definitions/ProfileDimension" + }, + "BirthDate": { + "$ref": "#/definitions/DateDimension" + }, + "PhoneNumber": { + "$ref": "#/definitions/ProfileDimension" + }, + "BusinessName": { + "$ref": "#/definitions/ProfileDimension" + }, + "BusinessPhoneNumber": { + "$ref": "#/definitions/ProfileDimension" + }, + "HomePhoneNumber": { + "$ref": "#/definitions/ProfileDimension" + }, + "MobilePhoneNumber": { + "$ref": "#/definitions/ProfileDimension" + }, + "EmailAddress": { + "$ref": "#/definitions/ProfileDimension" + }, + "PersonalEmailAddress": { + "$ref": "#/definitions/ProfileDimension" + }, + "BusinessEmailAddress": { + "$ref": "#/definitions/ProfileDimension" + }, + "Address": { + "$ref": "#/definitions/AddressDimension" + }, + "ShippingAddress": { + "$ref": "#/definitions/AddressDimension" + }, + "MailingAddress": { + "$ref": "#/definitions/AddressDimension" + }, + "BillingAddress": { + "$ref": "#/definitions/AddressDimension" + }, + "Attributes": { + "$ref": "#/definitions/CustomAttributes" + } + }, + "additionalProperties": false, + "markdownDescription": "Specifies the dimension settings within profile attributes for a segment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ProfileDimension": { + "description": "Specifies profile based criteria for a segment.", + "type": "object", + "properties": { + "DimensionType": { + "$ref": "#/definitions/StringDimensionType" + }, + "Values": { + "type": "array", + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" + }, + "insertionOrder": false, + "minItems": 1, + "maxItems": 50, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "DimensionType", + "Values" + ], + "additionalProperties": false, + "markdownDescription": "Specifies profile based criteria for a segment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SegmentGroup": { + "type": "object", + "properties": { + "Groups": { + "type": "array", + "items": { + "$ref": "#/definitions/Group" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Include": { + "$ref": "#/definitions/IncludeOptions" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SourceSegment": { + "description": "The base segment to build the segment on.", + "type": "object", + "properties": { + "SegmentDefinitionName": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9_-]+$ \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "The base segment to build the segment on.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StringDimensionType": { + "description": "The type of segment dimension to use for a string dimension.", + "type": "string", + "enum": [ + "INCLUSIVE", + "EXCLUSIVE", + "CONTAINS", + "BEGINS_WITH", + "ENDS_WITH" + ], + "markdownDescription": "The type of segment dimension to use for a string dimension.\n\n---\n\nRequired: No \nType: String \nAllowed Values: INCLUSIVE | EXCLUSIVE | CONTAINS | BEGINS_WITH | ENDS_WITH \nUpdate requires: No interruption" + } + }, + "properties": { + "Description": { + "description": "The description of the segment definition.", + "type": "string", + "maxLength": 1000, + "minLength": 1, + "markdownDescription": "The description of the segment definition.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nUpdate requires: No interruption" + }, + "DisplayName": { + "description": "The display name of the segment definition.", + "type": "string", + "maxLength": 255, + "minLength": 1, + "markdownDescription": "The display name of the segment definition.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: Replacement" + }, + "DomainName": { + "description": "The unique name of the domain.", + "type": "string", + "maxLength": 64, + "minLength": 1, + "markdownDescription": "The unique name of the domain.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9_-]+$ \nUpdate requires: Replacement" + }, + "SegmentDefinitionName": { + "description": "The unique name of the segment definition.", + "type": "string", + "maxLength": 64, + "minLength": 1, + "markdownDescription": "The unique name of the segment definition.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9_-]+$ \nUpdate requires: Replacement" + }, + "SegmentGroups": { + "description": "An array that defines the set of segment criteria to evaluate when handling segment groups for the segment.", + "$ref": "#/definitions/SegmentGroup", + "markdownDescription": "An array that defines the set of segment criteria to evaluate when handling segment groups for the segment.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: Replacement" + }, + "Tags": { + "description": "The tags used to organize, track, or control access for this resource.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "minItems": 0, + "maxItems": 50, + "markdownDescription": "The tags used to organize, track, or control access for this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "DomainName", + "DisplayName", + "SegmentDefinitionName", + "SegmentGroups" + ], + "readOnlyProperties": [ + "/properties/CreatedAt", + "/properties/SegmentDefinitionArn" + ], + "createOnlyProperties": [ + "/properties/DomainName", + "/properties/SegmentDefinitionName", + "/properties/DisplayName", + "/properties/SegmentGroups" + ], + "primaryIdentifier": [ + "/properties/DomainName", + "/properties/SegmentDefinitionName" + ], + "handlers": { + "create": { + "permissions": [ + "profile:CreateSegmentDefinition", + "profile:TagResource" + ] + }, + "read": { + "permissions": [ + "profile:GetSegmentDefinition" + ] + }, + "update": { + "permissions": [ + "profile:GetSegmentDefinition", + "profile:UntagResource", + "profile:TagResource" + ] + }, + "delete": { + "permissions": [ + "profile:DeleteSegmentDefinition" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "DomainName": { + "$ref": "resource-schema.json#/properties/DomainName" + } + }, + "required": [ + "DomainName" + ] + }, + "permissions": [ + "profile:ListSegmentDefinitions" + ] + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "profile:TagResource", + "profile:UntagResource", + "profile:ListTagsForResource" + ] + }, + "additionalProperties": false, + "attributes": { + "CreatedAt": { + "description": "The time of this segment definition got created.", + "type": "string", + "format": "date-time", + "markdownDescription": "The time of this segment definition got created.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SegmentDefinitionArn": { + "description": "The Amazon Resource Name (ARN) of the segment definition.", + "type": "string", + "maxLength": 255, + "minLength": 1, + "markdownDescription": "The Amazon Resource Name (ARN) of the segment definition.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-databrew-dataset.json b/server/schema/resources/aws-databrew-dataset.json index b170e491..79fff9af 100644 --- a/server/schema/resources/aws-databrew-dataset.json +++ b/server/schema/resources/aws-databrew-dataset.json @@ -2,7 +2,6 @@ "typeName": "AWS::DataBrew::Dataset", "description": "Resource schema for AWS::DataBrew::Dataset.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", - "taggable": true, "properties": { "Name": { "description": "Dataset name", @@ -33,6 +32,16 @@ "$ref": "#/definitions/Input", "markdownDescription": "Input\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, + "Source": { + "description": "Source type of the dataset", + "type": "string", + "enum": [ + "S3", + "DATA-CATALOG", + "DATABASE" + ], + "markdownDescription": "Source type of the dataset\n\n---\n\nRequired: No \nType: String \nAllowed Values: S3 | DATA-CATALOG | DATABASE \nUpdate requires: No interruption" + }, "PathOptions": { "description": "PathOptions", "$ref": "#/definitions/PathOptions", @@ -172,6 +181,9 @@ "Key": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "BucketOwner": { + "$ref": "#/definitions/BucketOwner" } }, "additionalProperties": false, @@ -245,6 +257,13 @@ "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "BucketOwner": { + "description": "Bucket owner", + "type": "string", + "minLength": 12, + "maxLength": 12, + "markdownDescription": "Bucket owner\n\n---\n\nRequired: No \nType: String \nMinimum Length: 12 \nMaximum Length: 12 \nUpdate requires: No interruption" + }, "PathOptions": { "description": "Path options for dataset", "type": "object", @@ -478,6 +497,18 @@ "/properties/Name", "/properties/Tags" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "databrew:TagResource", + "databrew:UntagResource", + "databrew:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-databrew-job.json b/server/schema/resources/aws-databrew-job.json index 76dbac77..1235a376 100644 --- a/server/schema/resources/aws-databrew-job.json +++ b/server/schema/resources/aws-databrew-job.json @@ -2,7 +2,6 @@ "typeName": "AWS::DataBrew::Job", "description": "Resource schema for AWS::DataBrew::Job.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", - "taggable": true, "properties": { "DatasetName": { "description": "Dataset name", @@ -670,6 +669,18 @@ "/properties/Type", "/properties/Tags" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "databrew:TagResource", + "databrew:UntagResource", + "databrew:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-databrew-project.json b/server/schema/resources/aws-databrew-project.json index 33aac596..f4acd763 100644 --- a/server/schema/resources/aws-databrew-project.json +++ b/server/schema/resources/aws-databrew-project.json @@ -2,7 +2,6 @@ "typeName": "AWS::DataBrew::Project", "description": "Resource schema for AWS::DataBrew::Project.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", - "taggable": true, "properties": { "DatasetName": { "description": "Dataset name", @@ -111,6 +110,18 @@ "/properties/Name", "/properties/Tags" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "databrew:TagResource", + "databrew:UntagResource", + "databrew:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-databrew-recipe.json b/server/schema/resources/aws-databrew-recipe.json index 0be8bc7c..be891bc2 100644 --- a/server/schema/resources/aws-databrew-recipe.json +++ b/server/schema/resources/aws-databrew-recipe.json @@ -2,7 +2,6 @@ "typeName": "AWS::DataBrew::Recipe", "description": "Resource schema for AWS::DataBrew::Recipe.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", - "taggable": true, "properties": { "Description": { "description": "Description of the recipe", @@ -681,6 +680,18 @@ "/properties/Name", "/properties/Tags" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "databrew:TagResource", + "databrew:UntagResource", + "databrew:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-databrew-ruleset.json b/server/schema/resources/aws-databrew-ruleset.json index c9301c50..6da8584b 100644 --- a/server/schema/resources/aws-databrew-ruleset.json +++ b/server/schema/resources/aws-databrew-ruleset.json @@ -2,7 +2,6 @@ "typeName": "AWS::DataBrew::Ruleset", "description": "Resource schema for AWS::DataBrew::Ruleset.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", - "taggable": true, "definitions": { "Expression": { "description": "Expression with rule conditions", @@ -236,6 +235,18 @@ "/properties/TargetArn", "/properties/Tags" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "databrew:TagResource", + "databrew:UntagResource", + "databrew:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-databrew-schedule.json b/server/schema/resources/aws-databrew-schedule.json index c5b06b06..7827f3c9 100644 --- a/server/schema/resources/aws-databrew-schedule.json +++ b/server/schema/resources/aws-databrew-schedule.json @@ -2,7 +2,6 @@ "typeName": "AWS::DataBrew::Schedule", "description": "Resource schema for AWS::DataBrew::Schedule.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", - "taggable": true, "properties": { "JobNames": { "type": "array", @@ -82,6 +81,18 @@ "/properties/Name", "/properties/Tags" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "databrew:TagResource", + "databrew:UntagResource", + "databrew:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-datasync-storagesystem.json b/server/schema/resources/aws-datasync-storagesystem.json index 5d6b41aa..6d33b1ce 100644 --- a/server/schema/resources/aws-datasync-storagesystem.json +++ b/server/schema/resources/aws-datasync-storagesystem.json @@ -136,7 +136,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "datasync:TagResource", + "datasync:UntagResource", + "datasync:ListTagsForResource" + ] }, "additionalProperties": false, "required": [ diff --git a/server/schema/resources/aws-datasync-task.json b/server/schema/resources/aws-datasync-task.json index 2798ece0..461d08ef 100644 --- a/server/schema/resources/aws-datasync-task.json +++ b/server/schema/resources/aws-datasync-task.json @@ -536,6 +536,15 @@ "type": "string", "maxLength": 128, "markdownDescription": "The ARN of the source location for the task.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nPattern: ^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$ \nUpdate requires: Replacement" + }, + "TaskMode": { + "description": "Specifies the task mode for the task.", + "type": "string", + "enum": [ + "BASIC", + "ENHANCED" + ], + "markdownDescription": "Specifies the task mode for the task.\n\n---\n\nRequired: No \nType: String \nAllowed Values: BASIC | ENHANCED \nUpdate requires: Replacement" } }, "tagging": { @@ -566,7 +575,8 @@ ], "createOnlyProperties": [ "/properties/DestinationLocationArn", - "/properties/SourceLocationArn" + "/properties/SourceLocationArn", + "/properties/TaskMode" ], "handlers": { "create": { diff --git a/server/schema/resources/aws-datazone-datasource.json b/server/schema/resources/aws-datazone-datasource.json index c76d2829..d2654b59 100644 --- a/server/schema/resources/aws-datazone-datasource.json +++ b/server/schema/resources/aws-datazone-datasource.json @@ -15,7 +15,7 @@ "markdownDescription": "The data access role included in the configuration details of the AWS Glue data source.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]{1,128}$ \nUpdate requires: No interruption" }, "DataSourceConfigurationInput": { - "description": "Specifies the configuration of the data source. It can be set to either glueRunConfiguration or redshiftRunConfiguration.", + "description": "Specifies the configuration of the data source. It can be set to either glueRunConfiguration or redshiftRunConfiguration or sageMakerRunConfiguration.", "oneOf": [ { "type": "object", @@ -36,9 +36,19 @@ } }, "additionalProperties": false + }, + { + "type": "object", + "title": "SageMakerRunConfiguration", + "properties": { + "SageMakerRunConfiguration": { + "$ref": "#/definitions/SageMakerRunConfigurationInput" + } + }, + "additionalProperties": false } ], - "markdownDescription": "Specifies the configuration of the data source. It can be set to either glueRunConfiguration or redshiftRunConfiguration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "Specifies the configuration of the data source. It can be set to either glueRunConfiguration or redshiftRunConfiguration or sageMakerRunConfiguration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "DataSourceStatus": { "type": "string", @@ -344,6 +354,22 @@ "insertionOrder": false, "markdownDescription": "The relational filter configurations included in the configuration details of the Amazon Redshift data source.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "SageMakerRunConfigurationInput": { + "type": "object", + "description": "The configuration details of the Amazon SageMaker data source.", + "properties": { + "TrackingAssets": { + "description": "The tracking assets of the Amazon SageMaker run.", + "$ref": "#/definitions/TrackingAssets", + "markdownDescription": "The tracking assets of the Amazon SageMaker run.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + } + }, + "required": [ + "TrackingAssets" + ], + "additionalProperties": false, + "markdownDescription": "The configuration details of the Amazon SageMaker data source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ScheduleConfiguration": { "type": "object", "description": "The schedule of the data source runs.", @@ -368,6 +394,25 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "TrackingAssets": { + "type": "object", + "description": "The tracking assets of the Amazon SageMaker run.", + "patternProperties": { + "^.{1,64}$": { + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws[^:]*:sagemaker:[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]:\\d{12}:[\\w+=,.@-]{1,128}/[\\w+=,.@-]{1,256}$ \nUpdate requires: No interruption" + }, + "minItems": 0, + "maxItems": 500, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "maxProperties": 1, + "additionalProperties": false, + "markdownDescription": "The tracking assets of the Amazon SageMaker run.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TypeRevision": { "type": "string", "description": "The revision of the metadata form type.", diff --git a/server/schema/resources/aws-datazone-domain.json b/server/schema/resources/aws-datazone-domain.json index 5e1076e5..b411bf21 100644 --- a/server/schema/resources/aws-datazone-domain.json +++ b/server/schema/resources/aws-datazone-domain.json @@ -157,7 +157,9 @@ "datazone:TagResource", "sso:CreateManagedApplicationInstance", "sso:DeleteManagedApplicationInstance", - "sso:PutApplicationAssignmentConfiguration" + "sso:PutApplicationAssignmentConfiguration", + "sso:ListInstances", + "iam:PassRole" ] }, "read": { @@ -173,7 +175,9 @@ "datazone:UntagResource", "sso:CreateManagedApplicationInstance", "sso:DeleteManagedApplicationInstance", - "sso:PutApplicationAssignmentConfiguration" + "sso:PutApplicationAssignmentConfiguration", + "sso:ListInstances", + "iam:PassRole" ] }, "delete": { @@ -181,7 +185,8 @@ "datazone:DeleteDomain", "datazone:GetDomain", "sso:DeleteManagedApplicationInstance", - "sso:PutApplicationAssignmentConfiguration" + "sso:PutApplicationAssignmentConfiguration", + "sso:ListInstances" ] }, "list": { diff --git a/server/schema/resources/aws-datazone-projectmembership.json b/server/schema/resources/aws-datazone-projectmembership.json index ca576517..c5d6a9ae 100644 --- a/server/schema/resources/aws-datazone-projectmembership.json +++ b/server/schema/resources/aws-datazone-projectmembership.json @@ -78,9 +78,12 @@ "type": "string", "enum": [ "PROJECT_OWNER", - "PROJECT_CONTRIBUTOR" + "PROJECT_CONTRIBUTOR", + "PROJECT_CATALOG_VIEWER", + "PROJECT_CATALOG_CONSUMER", + "PROJECT_CATALOG_STEWARD" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: PROJECT_OWNER | PROJECT_CONTRIBUTOR \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: PROJECT_OWNER | PROJECT_CONTRIBUTOR | PROJECT_CATALOG_VIEWER | PROJECT_CATALOG_CONSUMER | PROJECT_CATALOG_STEWARD \nUpdate requires: No interruption" }, "MemberIdentifierType": { "type": "string", diff --git a/server/schema/resources/aws-datazone-subscriptiontarget.json b/server/schema/resources/aws-datazone-subscriptiontarget.json index 8e182d09..4511935e 100644 --- a/server/schema/resources/aws-datazone-subscriptiontarget.json +++ b/server/schema/resources/aws-datazone-subscriptiontarget.json @@ -66,7 +66,7 @@ "ManageAccessRole": { "type": "string", "description": "The manage access role that is used to create the subscription target.", - "markdownDescription": "The manage access role that is used to create the subscription target.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The manage access role that is used to create the subscription target.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Name": { "type": "string", @@ -100,7 +100,6 @@ "AuthorizedPrincipals", "DomainIdentifier", "EnvironmentIdentifier", - "ManageAccessRole", "Name", "SubscriptionTargetConfig", "Type" diff --git a/server/schema/resources/aws-deadline-fleet.json b/server/schema/resources/aws-deadline-fleet.json index a5a9c612..f916c583 100644 --- a/server/schema/resources/aws-deadline-fleet.json +++ b/server/schema/resources/aws-deadline-fleet.json @@ -182,6 +182,53 @@ "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "AcceleratorSelection": { + "type": "object", + "properties": { + "Name": { + "type": "string", + "enum": [ + "t4", + "a10g", + "l4", + "l40s" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: t4 | a10g | l4 | l40s \nUpdate requires: No interruption" + }, + "Runtime": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nUpdate requires: No interruption" + } + }, + "required": [ + "Name" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AcceleratorCapabilities": { + "type": "object", + "properties": { + "Selections": { + "type": "array", + "items": { + "$ref": "#/definitions/AcceleratorSelection" + }, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "Count": { + "$ref": "#/definitions/AcceleratorCountRange" + } + }, + "required": [ + "Selections" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "Ec2MarketType": { "type": "string", "enum": [ @@ -380,6 +427,9 @@ "RootEbsVolume": { "$ref": "#/definitions/Ec2EbsVolume" }, + "AcceleratorCapabilities": { + "$ref": "#/definitions/AcceleratorCapabilities" + }, "AllowedInstanceTypes": { "type": "array", "items": { diff --git a/server/schema/resources/aws-devopsguru-notificationchannel.json b/server/schema/resources/aws-devopsguru-notificationchannel.json index 795d5def..19101233 100644 --- a/server/schema/resources/aws-devopsguru-notificationchannel.json +++ b/server/schema/resources/aws-devopsguru-notificationchannel.json @@ -96,6 +96,9 @@ } }, "additionalProperties": false, + "tagging": { + "taggable": false + }, "required": [ "Config" ], diff --git a/server/schema/resources/aws-dms-datamigration.json b/server/schema/resources/aws-dms-datamigration.json new file mode 100644 index 00000000..bbc0c6f0 --- /dev/null +++ b/server/schema/resources/aws-dms-datamigration.json @@ -0,0 +1,240 @@ +{ + "typeName": "AWS::DMS::DataMigration", + "description": "Resource schema for AWS::DMS::DataMigration.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "dms:AddTagsToResource", + "dms:RemoveTagsFromResource", + "dms:ListTagsForResource" + ] + }, + "definitions": { + "Tag": { + "description": "A key-value pair to associate with a resource.", + "type": "object", + "properties": { + "Key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DataMigrationSettings": { + "type": "object", + "properties": { + "CloudwatchLogsEnabled": { + "type": "boolean", + "description": "The property specifies whether to enable the Cloudwatch log.", + "markdownDescription": "The property specifies whether to enable the Cloudwatch log.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "NumberOfJobs": { + "type": "integer", + "description": "The number of parallel jobs that trigger parallel threads to unload the tables from the source, and then load them to the target.", + "minimum": 1, + "maximum": 50, + "markdownDescription": "The number of parallel jobs that trigger parallel threads to unload the tables from the source, and then load them to the target.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "SelectionRules": { + "type": "string", + "description": "The property specifies the rules of selecting objects for data migration.", + "markdownDescription": "The property specifies the rules of selecting objects for data migration.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SourceDataSettings": { + "type": "object", + "properties": { + "CDCStartPosition": { + "type": "string", + "description": "The property is a point in the database engine's log that defines a time where you can begin CDC.", + "maxLength": 40, + "markdownDescription": "The property is a point in the database engine's log that defines a time where you can begin CDC.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 40 \nUpdate requires: No interruption" + }, + "CDCStartTime": { + "type": "string", + "description": "The property indicates the start time for a change data capture (CDC) operation. The value is server time in UTC format.", + "maxLength": 40, + "markdownDescription": "The property indicates the start time for a change data capture (CDC) operation. The value is server time in UTC format.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 40 \nUpdate requires: No interruption" + }, + "CDCStopTime": { + "type": "string", + "description": "The property indicates the stop time for a change data capture (CDC) operation. The value is server time in UTC format.", + "maxLength": 40, + "markdownDescription": "The property indicates the stop time for a change data capture (CDC) operation. The value is server time in UTC format.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 40 \nUpdate requires: No interruption" + }, + "SlotName": { + "type": "string", + "description": "The property sets the name of a previously created logical replication slot for a change data capture (CDC) load of the source instance.", + "maxLength": 255, + "markdownDescription": "The property sets the name of a previously created logical replication slot for a change data capture (CDC) load of the source instance.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "DataMigrationName": { + "description": "The property describes a name to identify the data migration.", + "type": "string", + "minLength": 1, + "maxLength": 300, + "markdownDescription": "The property describes a name to identify the data migration.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 300 \nUpdate requires: No interruption" + }, + "DataMigrationIdentifier": { + "description": "The property describes an ARN of the data migration.", + "type": "string", + "minLength": 1, + "maxLength": 300, + "markdownDescription": "The property describes an ARN of the data migration.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 300 \nUpdate requires: No interruption" + }, + "ServiceAccessRoleArn": { + "description": "The property describes Amazon Resource Name (ARN) of the service access role.", + "type": "string", + "minLength": 1, + "maxLength": 300, + "markdownDescription": "The property describes Amazon Resource Name (ARN) of the service access role.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 300 \nUpdate requires: No interruption" + }, + "MigrationProjectIdentifier": { + "description": "The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn", + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" + }, + "DataMigrationType": { + "description": "The property describes the type of migration.", + "type": "string", + "enum": [ + "full-load", + "cdc", + "full-load-and-cdc" + ], + "markdownDescription": "The property describes the type of migration.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: full-load | cdc | full-load-and-cdc \nUpdate requires: No interruption" + }, + "DataMigrationSettings": { + "description": "The property describes the settings for the data migration.", + "$ref": "#/definitions/DataMigrationSettings", + "markdownDescription": "The property describes the settings for the data migration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "SourceDataSettings": { + "description": "The property describes the settings for the data migration.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SourceDataSettings" + }, + "markdownDescription": "The property describes the settings for the data migration.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Tags": { + "description": "An array of key-value pairs to apply to this resource.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "primaryIdentifier": [ + "/properties/DataMigrationArn" + ], + "additionalIdentifiers": [ + [ + "/properties/DataMigrationName" + ] + ], + "readOnlyProperties": [ + "/properties/DataMigrationArn", + "/properties/DataMigrationCreateTime" + ], + "writeOnlyProperties": [ + "/properties/DataMigrationIdentifier" + ], + "required": [ + "DataMigrationType", + "MigrationProjectIdentifier", + "ServiceAccessRoleArn" + ], + "additionalProperties": false, + "handlers": { + "create": { + "permissions": [ + "dms:CreateDataMigration", + "dms:DescribeDataMigrations", + "dms:AddTagsToResource", + "dms:ListTagsForResource", + "iam:PassRole" + ] + }, + "read": { + "permissions": [ + "dms:DescribeDataMigrations", + "dms:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "dms:ModifyDataMigration", + "dms:AddTagsToResource", + "dms:RemoveTagsFromResource", + "dms:ListTagsForResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "dms:DeleteDataMigration", + "dms:RemoveTagsFromResource" + ] + }, + "list": { + "permissions": [ + "dms:DescribeDataMigrations", + "dms:ListTagsForResource" + ] + } + }, + "attributes": { + "DataMigrationArn": { + "description": "The property describes an ARN of the data migration.", + "type": "string", + "minLength": 1, + "maxLength": 300, + "markdownDescription": "The property describes an ARN of the data migration.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 300 \nUpdate requires: No interruption" + }, + "DataMigrationCreateTime": { + "description": "The property describes the create time of the data migration.", + "type": "string", + "minLength": 1, + "maxLength": 40, + "markdownDescription": "The property describes the create time of the data migration.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 40 \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-dms-dataprovider.json b/server/schema/resources/aws-dms-dataprovider.json index e5cbf579..33aa4c04 100644 --- a/server/schema/resources/aws-dms-dataprovider.json +++ b/server/schema/resources/aws-dms-dataprovider.json @@ -7,7 +7,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "dms:AddTagsToResource", + "dms:RemoveTagsFromResource", + "dms:ListTagsForResource" + ] }, "definitions": { "Tag": { @@ -45,6 +50,32 @@ "verify-full" ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: none | require | verify-ca | verify-full \nUpdate requires: No interruption" + }, + "MongoDbSslModeValue": { + "type": "string", + "enum": [ + "none", + "require", + "verify-full" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: none | require | verify-full \nUpdate requires: No interruption" + }, + "MongoDbAuthType": { + "type": "string", + "enum": [ + "no", + "password" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: no | password \nUpdate requires: No interruption" + }, + "MongoDbAuthMechanism": { + "type": "string", + "enum": [ + "default", + "mongodb_cr", + "scram_sha_1" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: default | mongodb_cr | scram_sha_1 \nUpdate requires: No interruption" } }, "properties": { @@ -73,14 +104,18 @@ "description": "The property describes a data engine for the data provider.", "type": "string", "enum": [ - "postgres", + "aurora", + "aurora_postgresql", "mysql", "oracle", + "postgres", "sqlserver", - "aurora", - "aurora_postgresql" + "redshift", + "mariadb", + "mongodb", + "docdb" ], - "markdownDescription": "The property describes a data engine for the data provider.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: postgres | mysql | oracle | sqlserver | aurora | aurora_postgresql \nUpdate requires: No interruption" + "markdownDescription": "The property describes a data engine for the data provider.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: aurora | aurora_postgresql | mysql | oracle | postgres | sqlserver | redshift | mariadb | mongodb | docdb \nUpdate requires: No interruption" }, "ExactSettings": { "description": "The property describes the exact settings which can be modified", @@ -246,6 +281,142 @@ ], "additionalProperties": false, "markdownDescription": "MicrosoftSqlServerSettings property identifier.\n\n---\n\nRequired: Conditional \nUpdate requires: No interruption" + }, + "RedshiftSettings": { + "description": "RedshiftSettings property identifier.", + "type": "object", + "properties": { + "ServerName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Port": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "DatabaseName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "ServerName", + "Port", + "DatabaseName" + ], + "additionalProperties": false, + "markdownDescription": "RedshiftSettings property identifier.\n\n---\n\nRequired: Conditional \nUpdate requires: No interruption" + }, + "MariaDbSettings": { + "description": "MariaDbSettings property identifier.", + "type": "object", + "properties": { + "ServerName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Port": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "SslMode": { + "type": "object", + "$ref": "#/definitions/DmsSslModeValue", + "markdownDescription": "\n\n---\n\nRequired: Yes \nUpdate requires: No interruption" + }, + "CertificateArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "ServerName", + "Port", + "SslMode" + ], + "additionalProperties": false, + "markdownDescription": "MariaDbSettings property identifier.\n\n---\n\nRequired: Conditional \nUpdate requires: No interruption" + }, + "DocDbSettings": { + "description": "DocDbSettings property identifier.", + "type": "object", + "properties": { + "ServerName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Port": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "DatabaseName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "SslMode": { + "type": "object", + "$ref": "#/definitions/MongoDbSslModeValue", + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CertificateArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "ServerName", + "Port", + "DatabaseName" + ], + "additionalProperties": false, + "markdownDescription": "DocDbSettings property identifier.\n\n---\n\nRequired: Conditional \nUpdate requires: No interruption" + }, + "MongoDbSettings": { + "description": "MongoDbSettings property identifier.", + "type": "object", + "properties": { + "ServerName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Port": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "DatabaseName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SslMode": { + "type": "object", + "$ref": "#/definitions/MongoDbSslModeValue", + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CertificateArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AuthType": { + "type": "object", + "$ref": "#/definitions/MongoDbAuthType", + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AuthSource": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AuthMechanism": { + "type": "object", + "$ref": "#/definitions/MongoDbAuthMechanism", + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "required": [ + "ServerName", + "Port" + ], + "additionalProperties": false, + "markdownDescription": "MongoDbSettings property identifier.\n\n---\n\nRequired: Conditional \nUpdate requires: No interruption" } }, "anyOf": [ @@ -268,6 +439,26 @@ "required": [ "MicrosoftSqlServerSettings" ] + }, + { + "required": [ + "RedshiftSettings" + ] + }, + { + "required": [ + "DocDbSettings" + ] + }, + { + "required": [ + "MariaDbSettings" + ] + }, + { + "required": [ + "MongoDbSettings" + ] } ], "additionalProperties": false, @@ -328,7 +519,7 @@ "dms:UpdateDataProvider", "dms:ModifyDataProvider", "dms:AddTagsToResource", - "dms:RemoveTagsToResource", + "dms:RemoveTagsFromResource", "dms:ListTagsForResource" ] }, diff --git a/server/schema/resources/aws-dms-instanceprofile.json b/server/schema/resources/aws-dms-instanceprofile.json index 479f25a3..5c0ab9ac 100644 --- a/server/schema/resources/aws-dms-instanceprofile.json +++ b/server/schema/resources/aws-dms-instanceprofile.json @@ -7,7 +7,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "dms:AddTagsToResource", + "dms:RemoveTagsFromResource", + "dms:ListTagsForResource" + ] }, "definitions": { "Tag": { @@ -155,7 +160,7 @@ "dms:UpdateInstanceProfile", "dms:ModifyInstanceProfile", "dms:AddTagsToResource", - "dms:RemoveTagsToResource", + "dms:RemoveTagsFromResource", "dms:ListTagsForResource" ] }, diff --git a/server/schema/resources/aws-dms-migrationproject.json b/server/schema/resources/aws-dms-migrationproject.json index a6e56fea..d2a08467 100644 --- a/server/schema/resources/aws-dms-migrationproject.json +++ b/server/schema/resources/aws-dms-migrationproject.json @@ -7,7 +7,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "dms:AddTagsToResource", + "dms:RemoveTagsFromResource", + "dms:ListTagsForResource" + ] }, "definitions": { "Tag": { @@ -211,7 +216,7 @@ "dms:UpdateMigrationProject", "dms:ModifyMigrationProject", "dms:AddTagsToResource", - "dms:RemoveTagsToResource", + "dms:RemoveTagsFromResource", "dms:ListTagsForResource", "iam:PassRole" ] diff --git a/server/schema/resources/aws-dms-replicationinstance.json b/server/schema/resources/aws-dms-replicationinstance.json index c64b55b7..762a685b 100644 --- a/server/schema/resources/aws-dms-replicationinstance.json +++ b/server/schema/resources/aws-dms-replicationinstance.json @@ -48,6 +48,10 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "NetworkType": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "AllowMajorVersionUpgrade": { "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-docdb-dbcluster.json b/server/schema/resources/aws-docdb-dbcluster.json index 52c96a66..14da7d39 100644 --- a/server/schema/resources/aws-docdb-dbcluster.json +++ b/server/schema/resources/aws-docdb-dbcluster.json @@ -27,6 +27,10 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "RotateMasterUserPassword": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, "VpcSecurityGroupIds": { "type": "array", "uniqueItems": false, @@ -73,10 +77,17 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/ServerlessV2ScalingConfiguration" + }, "PreferredMaintenanceWindow": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "MasterUserSecretKmsKeyId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "DBSubnetGroupName": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" @@ -89,6 +100,10 @@ "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, + "ManageMasterUserPassword": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, "MasterUserPassword": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" @@ -120,6 +135,25 @@ } }, "definitions": { + "ServerlessV2ScalingConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "MinCapacity": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "MaxCapacity": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + } + }, + "required": [ + "MinCapacity", + "MaxCapacity" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "Tag": { "type": "object", "additionalProperties": false, @@ -141,8 +175,8 @@ } }, "createOnlyProperties": [ - "/properties/KmsKeyId", "/properties/SnapshotIdentifier", + "/properties/KmsKeyId", "/properties/MasterUsername", "/properties/SourceDBClusterIdentifier", "/properties/DBClusterIdentifier", diff --git a/server/schema/resources/aws-dynamodb-globaltable.json b/server/schema/resources/aws-dynamodb-globaltable.json index 4166ccdc..5e25e6d6 100644 --- a/server/schema/resources/aws-dynamodb-globaltable.json +++ b/server/schema/resources/aws-dynamodb-globaltable.json @@ -45,12 +45,18 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" }, + "PointInTimeRecoverySpecification": { + "$ref": "#/definitions/PointInTimeRecoverySpecification" + }, "WriteProvisionedThroughputSettings": { "$ref": "#/definitions/WriteProvisionedThroughputSettings" }, "WriteOnDemandThroughputSettings": { "$ref": "#/definitions/WriteOnDemandThroughputSettings" }, + "WarmThroughput": { + "$ref": "#/definitions/WarmThroughput" + }, "Replicas": { "type": "array", "uniqueItems": true, @@ -171,8 +177,19 @@ "PointInTimeRecoveryEnabled": { "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "RecoveryPeriodInDays": { + "type": "integer", + "minimum": 1, + "maximum": 35, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, + "dependencies": { + "RecoveryPeriodInDays": [ + "PointInTimeRecoveryEnabled" + ] + }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ReplicaSpecification": { @@ -315,6 +332,9 @@ }, "WriteOnDemandThroughputSettings": { "$ref": "#/definitions/WriteOnDemandThroughputSettings" + }, + "WarmThroughput": { + "$ref": "#/definitions/WarmThroughput" } }, "required": [ @@ -584,6 +604,35 @@ "TargetValue" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "WarmThroughput": { + "type": "object", + "additionalProperties": false, + "properties": { + "ReadUnitsPerSecond": { + "type": "integer", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: Integer \nUpdate requires: No interruption" + }, + "WriteUnitsPerSecond": { + "type": "integer", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: Integer \nUpdate requires: No interruption" + } + }, + "anyOf": [ + { + "required": [ + "ReadUnitsPerSecond" + ] + }, + { + "required": [ + "WriteUnitsPerSecond" + ] + } + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-dynamodb-table.json b/server/schema/resources/aws-dynamodb-table.json index 17767c38..58d121f4 100644 --- a/server/schema/resources/aws-dynamodb-table.json +++ b/server/schema/resources/aws-dynamodb-table.json @@ -1,5 +1,10 @@ { "tagging": { + "permissions": [ + "dynamodb:TagResource", + "dynamodb:UntagResource", + "dynamodb:ListTagsOfResource" + ], "taggable": true, "tagOnCreate": true, "tagUpdatable": true, @@ -11,7 +16,7 @@ "/properties/Arn", "/properties/StreamArn" ], - "description": "The ``AWS::DynamoDB::Table`` resource creates a DDB table. For more information, see [CreateTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html) in the *API Reference*.\n You should be aware of the following behaviors when working with DDB tables:\n + CFNlong typically creates DDB tables in parallel. However, if your template includes multiple DDB tables with indexes, you must declare dependencies so that the tables are created sequentially. DDBlong limits the number of tables with secondary indexes that are in the creating state. If you create multiple tables with indexes at the same time, DDB returns an error and the stack operation fails. For an example, see [DynamoDB Table with a DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#aws-resource-dynamodb-table--examples--DynamoDB_Table_with_a_DependsOn_Attribute).\n \n Our guidance is to use the latest schema documented here for your CFNlong templates. This schema supports the provisioning of all table settings below. When using this schema in your CFNlong templates, please ensure that your Identity and Access Management (IAM) policies are updated with appropriate permissions to allow for the authorization of these setting changes.", + "description": "The ``AWS::DynamoDB::Table`` resource creates a DDB table. For more information, see [CreateTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html) in the *API Reference*.\n You should be aware of the following behaviors when working with DDB tables:\n + CFNlong typically creates DDB tables in parallel. However, if your template includes multiple DDB tables with indexes, you must declare dependencies so that the tables are created sequentially. DDBlong limits the number of tables with secondary indexes that are in the creating state. If you create multiple tables with indexes at the same time, DDB returns an error and the stack operation fails. For an example, see [DynamoDB Table with a DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#aws-resource-dynamodb-table--examples--DynamoDB_Table_with_a_DependsOn_Attribute).\n \n Our guidance is to use the latest schema documented for your CFNlong templates. This schema supports the provisioning of all table settings below. When using this schema in your CFNlong templates, please ensure that your Identity and Access Management (IAM) policies are updated with appropriate permissions to allow for the authorization of these setting changes.", "createOnlyProperties": [ "/properties/TableName", "/properties/ImportSourceSpecification" @@ -22,6 +27,9 @@ "required": [ "KeySchema" ], + "conditionalCreateOnlyProperties": [ + "/properties/KeySchema" + ], "propertyTransform": { "/properties/SSESpecification/KMSMasterKeyId": "$join([\"arn:aws(-[a-z]{1,4}){0,2}:kms:[a-z]{2,4}(-[a-z]{1,4})?-[a-z]{1,10}-[0-9]:[0-9]{12}:key\\/\", SSESpecification.KMSMasterKeyId]) $OR $join([\"arn:aws(-[a-z]{1,4}){0,2}:kms:[a-z]{2,4}(-[a-z]{1,4})?-[a-z]{1,10}-[0-9]:[0-9]{12}:key\\/\", KMSMasterKeyId])" }, @@ -411,8 +419,20 @@ "description": "Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.", "type": "boolean", "markdownDescription": "Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "RecoveryPeriodInDays": { + "maximum": 35, + "description": "", + "type": "integer", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, + "dependencies": { + "RecoveryPeriodInDays": [ + "PointInTimeRecoveryEnabled" + ] + }, "markdownDescription": "The settings used to enable point in time recovery.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ProvisionedThroughput": { @@ -437,6 +457,38 @@ ], "markdownDescription": "Throughput for the specified table, which consists of values for ``ReadCapacityUnits`` and ``WriteCapacityUnits``. For more information about the contents of a provisioned throughput structure, see [Table ProvisionedThroughput](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ProvisionedThroughput.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "WarmThroughput": { + "anyOf": [ + { + "required": [ + "ReadUnitsPerSecond" + ] + }, + { + "required": [ + "WriteUnitsPerSecond" + ] + } + ], + "description": "Provides visibility into the number of read and write operations your table or secondary index can instantaneously support. The settings can be modified using the ``UpdateTable`` operation to meet the throughput requirements of an upcoming peak event.", + "additionalProperties": false, + "type": "object", + "properties": { + "ReadUnitsPerSecond": { + "description": "Represents the number of read operations your base table can instantaneously support.", + "type": "integer", + "minimum": 1, + "markdownDescription": "Represents the number of read operations your base table can instantaneously support.\n\n---\n\nRequired: Conditional \nType: Integer \nUpdate requires: No interruption" + }, + "WriteUnitsPerSecond": { + "description": "Represents the number of write operations your base table can instantaneously support.", + "type": "integer", + "minimum": 1, + "markdownDescription": "Represents the number of write operations your base table can instantaneously support.\n\n---\n\nRequired: Conditional \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Provides visibility into the number of read and write operations your table or secondary index can instantaneously support. The settings can be modified using the ``UpdateTable`` operation to meet the throughput requirements of an upcoming peak event.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "GlobalSecondaryIndex": { "description": "Represents the properties of a global secondary index.", "additionalProperties": false, @@ -475,6 +527,11 @@ "$ref": "#/definitions/KeySchema" }, "markdownDescription": "The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:\n + ``HASH`` - partition key\n + ``RANGE`` - sort key\n \n The partition key of an item is also known as its *hash attribute*. The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n The sort key of an item is also known as its *range attribute*. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "WarmThroughput": { + "description": "Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ``ReadUnitsPerSecond``, ``WriteUnitsPerSecond``, or both.", + "$ref": "#/definitions/WarmThroughput", + "markdownDescription": "Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ``ReadUnitsPerSecond``, ``WriteUnitsPerSecond``, or both.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ @@ -657,9 +714,9 @@ "markdownDescription": "The settings used to enable or disable CloudWatch Contributor Insights for the specified table.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "ImportSourceSpecification": { - "description": "Specifies the properties of data being imported from the S3 bucket source to the table.\n If you specify the ``ImportSourceSpecification`` property, and also specify either the ``StreamSpecification``, the ``TableClass`` property, or the ``DeletionProtectionEnabled`` property, the IAM entity creating/updating stack must have ``UpdateTable`` permission.", + "description": "Specifies the properties of data being imported from the S3 bucket source to the\" table.\n If you specify the ``ImportSourceSpecification`` property, and also specify either the ``StreamSpecification``, the ``TableClass`` property, the ``DeletionProtectionEnabled`` property, or the ``WarmThroughput`` property, the IAM entity creating/updating stack must have ``UpdateTable`` permission.", "$ref": "#/definitions/ImportSourceSpecification", - "markdownDescription": "Specifies the properties of data being imported from the S3 bucket source to the table.\n If you specify the ``ImportSourceSpecification`` property, and also specify either the ``StreamSpecification``, the ``TableClass`` property, or the ``DeletionProtectionEnabled`` property, the IAM entity creating/updating stack must have ``UpdateTable`` permission.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + "markdownDescription": "Specifies the properties of data being imported from the S3 bucket source to the\" table.\n If you specify the ``ImportSourceSpecification`` property, and also specify either the ``StreamSpecification``, the ``TableClass`` property, the ``DeletionProtectionEnabled`` property, or the ``WarmThroughput`` property, the IAM entity creating/updating stack must have ``UpdateTable`` permission.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" }, "PointInTimeRecoverySpecification": { "description": "The settings used to enable point in time recovery.", @@ -671,6 +728,11 @@ "$ref": "#/definitions/ProvisionedThroughput", "markdownDescription": "Throughput for the specified table, which consists of values for ``ReadCapacityUnits`` and ``WriteCapacityUnits``. For more information about the contents of a provisioned throughput structure, see [Amazon DynamoDB Table ProvisionedThroughput](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ProvisionedThroughput.html). \n If you set ``BillingMode`` as ``PROVISIONED``, you must specify this property. If you set ``BillingMode`` as ``PAY_PER_REQUEST``, you cannot specify this property.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, + "WarmThroughput": { + "description": "Represents the warm throughput (in read units per second and write units per second) for creating a table.", + "$ref": "#/definitions/WarmThroughput", + "markdownDescription": "Represents the warm throughput (in read units per second and write units per second) for creating a table.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "TableName": { "description": "A name for the table. If you don't specify a name, CFNlong generates a unique physical ID and uses that ID for the table name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).\n If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", "type": "string", @@ -718,7 +780,7 @@ } ], "description": "Specifies the attributes that make up the primary key for the table. The attributes in the ``KeySchema`` property must also be defined in the ``AttributeDefinitions`` property.", - "markdownDescription": "Specifies the attributes that make up the primary key for the table. The attributes in the ``KeySchema`` property must also be defined in the ``AttributeDefinitions`` property.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + "markdownDescription": "Specifies the attributes that make up the primary key for the table. The attributes in the ``KeySchema`` property must also be defined in the ``AttributeDefinitions`` property.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: Some interruptions" }, "LocalSecondaryIndexes": { "uniqueItems": false, diff --git a/server/schema/resources/aws-ec2-capacityreservation.json b/server/schema/resources/aws-ec2-capacityreservation.json index 9a1edcce..268ad4cc 100644 --- a/server/schema/resources/aws-ec2-capacityreservation.json +++ b/server/schema/resources/aws-ec2-capacityreservation.json @@ -59,6 +59,10 @@ "InstanceMatchCriteria": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "UnusedReservationBillingOwnerId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "definitions": { @@ -127,6 +131,9 @@ "/properties/AvailableInstanceCount", "/properties/TotalInstanceCount" ], + "writeOnlyProperties": [ + "/properties/UnusedReservationBillingOwnerId" + ], "handlers": { "create": { "permissions": [ @@ -160,6 +167,7 @@ "ec2:CreateCapacityReservation", "ec2:DescribeCapacityReservations", "ec2:CancelCapacityReservation", + "ec2:AssociateCapacityReservationBillingOwner", "ec2:CreateTags", "ec2:DeleteTags" ] diff --git a/server/schema/resources/aws-ec2-carriergateway.json b/server/schema/resources/aws-ec2-carriergateway.json index 6adfff50..a51a028f 100644 --- a/server/schema/resources/aws-ec2-carriergateway.json +++ b/server/schema/resources/aws-ec2-carriergateway.json @@ -58,6 +58,18 @@ "primaryIdentifier": [ "/properties/CarrierGatewayId" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "ec2:CreateTags", + "ec2:DeleteTags", + "ec2:DescribeTags" + ] + }, "handlers": { "create": { "permissions": [ @@ -68,14 +80,16 @@ }, "read": { "permissions": [ - "ec2:DescribeCarrierGateways" + "ec2:DescribeCarrierGateways", + "ec2:DescribeTags" ] }, "update": { "permissions": [ "ec2:DescribeCarrierGateways", "ec2:CreateTags", - "ec2:DeleteTags" + "ec2:DeleteTags", + "ec2:DescribeTags" ] }, "delete": { diff --git a/server/schema/resources/aws-ec2-customergateway.json b/server/schema/resources/aws-ec2-customergateway.json index b3a0670c..e7858665 100644 --- a/server/schema/resources/aws-ec2-customergateway.json +++ b/server/schema/resources/aws-ec2-customergateway.json @@ -121,7 +121,7 @@ "CertificateArn": { "description": "The Amazon Resource Name (ARN) for the customer gateway certificate.", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) for the customer gateway certificate.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$ \nUpdate requires: Replacement" + "markdownDescription": "The Amazon Resource Name (ARN) for the customer gateway certificate.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso([a-z]{1})?))?-[a-z]+-\\d{1}:\\d{12}:certificate\\/[a-zA-Z0-9-_]+$ \nUpdate requires: Replacement" }, "DeviceName": { "description": "The name of customer gateway device.", diff --git a/server/schema/resources/aws-ec2-ec2fleet.json b/server/schema/resources/aws-ec2-ec2fleet.json index 173438ed..d5872d54 100644 --- a/server/schema/resources/aws-ec2-ec2fleet.json +++ b/server/schema/resources/aws-ec2-ec2fleet.json @@ -1,76 +1,225 @@ { + "handlers": { + "read": { + "permissions": [ + "ec2:DescribeFleets" + ] + }, + "create": { + "permissions": [ + "ec2:CreateFleet", + "ec2:DescribeFleets" + ] + }, + "update": { + "permissions": [ + "ec2:ModifyFleet", + "ec2:DescribeFleets" + ] + }, + "list": { + "permissions": [ + "ec2:DescribeFleets" + ] + }, + "delete": { + "permissions": [ + "ec2:DescribeFleets", + "ec2:DeleteFleets" + ] + } + }, "typeName": "AWS::EC2::EC2Fleet", + "readOnlyProperties": [ + "/properties/FleetId" + ], "description": "Resource Type definition for AWS::EC2::EC2Fleet", + "createOnlyProperties": [ + "/properties/LaunchTemplateConfigs", + "/properties/OnDemandOptions", + "/properties/ReplaceUnhealthyInstances", + "/properties/SpotOptions", + "/properties/TagSpecifications", + "/properties/TerminateInstancesWithExpiration", + "/properties/Type", + "/properties/ValidFrom", + "/properties/ValidUntil" + ], "additionalProperties": false, - "properties": { - "TargetCapacitySpecification": { - "$ref": "#/definitions/TargetCapacitySpecificationRequest" - }, - "OnDemandOptions": { - "$ref": "#/definitions/OnDemandOptionsRequest" - }, - "Type": { - "type": "string", - "enum": [ - "maintain", - "request", - "instant" + "primaryIdentifier": [ + "/properties/FleetId" + ], + "definitions": { + "TargetCapacitySpecificationRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "DefaultTargetCapacityType": { + "type": "string", + "enum": [ + "on-demand", + "spot" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: on-demand | spot \nUpdate requires: No interruption" + }, + "TotalTargetCapacity": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "OnDemandTargetCapacity": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "SpotTargetCapacity": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "TargetCapacityUnitType": { + "type": "string", + "enum": [ + "vcpu", + "memory-mib", + "units" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: vcpu | memory-mib | units \nUpdate requires: No interruption" + } + }, + "required": [ + "TotalTargetCapacity" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: maintain | request | instant \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ExcessCapacityTerminationPolicy": { - "type": "string", - "enum": [ - "termination", - "no-termination" + "FleetLaunchTemplateSpecificationRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "LaunchTemplateName": { + "minLength": 3, + "type": "string", + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 3 \nMaximum Length: 128 \nPattern: [a-zA-Z0-9\\(\\)\\.\\-/_]+ \nUpdate requires: No interruption" + }, + "Version": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "LaunchTemplateId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Version" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: termination | no-termination \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TagSpecifications": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/TagSpecification" + "MemoryGiBPerVCpuRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "Max": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "SpotOptions": { - "$ref": "#/definitions/SpotOptionsRequest" + "CapacityReservationOptionsRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "UsageStrategy": { + "type": "string", + "enum": [ + "use-capacity-reservations-first" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: use-capacity-reservations-first \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ValidFrom": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "TotalLocalStorageGBRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "Max": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ReplaceUnhealthyInstances": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + "NetworkBandwidthGbpsRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "Max": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "LaunchTemplateConfigs": { - "type": "array", - "uniqueItems": false, - "maxItems": 50, - "items": { - "$ref": "#/definitions/FleetLaunchTemplateConfigRequest" + "VCpuCountRangeRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Max": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } }, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TerminateInstancesWithExpiration": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + "BaselineEbsBandwidthMbpsRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Max": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ValidUntil": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "NetworkInterfaceCountRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Max": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Context": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "definitions": { "OnDemandOptionsRequest": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "SingleAvailabilityZone": { "type": "boolean", @@ -99,12 +248,9 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SpotOptionsRequest": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { - "MaintenanceStrategies": { - "$ref": "#/definitions/MaintenanceStrategies" - }, "SingleAvailabilityZone": { "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" @@ -136,6 +282,9 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "MaintenanceStrategies": { + "$ref": "#/definitions/MaintenanceStrategies" + }, "InstanceInterruptionBehavior": { "type": "string", "enum": [ @@ -152,72 +301,9 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TargetCapacitySpecificationRequest": { - "type": "object", - "additionalProperties": false, - "properties": { - "DefaultTargetCapacityType": { - "type": "string", - "enum": [ - "on-demand", - "spot" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: on-demand | spot \nUpdate requires: No interruption" - }, - "TargetCapacityUnitType": { - "type": "string", - "enum": [ - "vcpu", - "memory-mib", - "units" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: vcpu | memory-mib | units \nUpdate requires: No interruption" - }, - "TotalTargetCapacity": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - }, - "OnDemandTargetCapacity": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "SpotTargetCapacity": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "required": [ - "TotalTargetCapacity" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "FleetLaunchTemplateSpecificationRequest": { - "type": "object", - "additionalProperties": false, - "properties": { - "LaunchTemplateName": { - "type": "string", - "minLength": 3, - "maxLength": 128, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 3 \nMaximum Length: 128 \nPattern: [a-zA-Z0-9\\(\\)\\.\\-/_]+ \nUpdate requires: No interruption" - }, - "LaunchTemplateId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Version": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - } - }, - "required": [ - "Version" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "Placement": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "GroupName": { "type": "string", @@ -254,237 +340,207 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "FleetLaunchTemplateConfigRequest": { + "PerformanceFactorReferenceRequest": { + "additionalProperties": false, "type": "object", + "properties": { + "InstanceFamily": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CpuPerformanceFactorRequest": { "additionalProperties": false, + "type": "object", "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/FleetLaunchTemplateSpecificationRequest" - }, - "Overrides": { - "type": "array", + "References": { "uniqueItems": false, + "type": "array", "items": { - "$ref": "#/definitions/FleetLaunchTemplateOverridesRequest" + "$ref": "#/definitions/PerformanceFactorReferenceRequest" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "CapacityReservationOptionsRequest": { - "type": "object", + "MaintenanceStrategies": { "additionalProperties": false, + "type": "object", "properties": { - "UsageStrategy": { - "type": "string", - "enum": [ - "use-capacity-reservations-first" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: use-capacity-reservations-first \nUpdate requires: No interruption" + "CapacityRebalance": { + "$ref": "#/definitions/CapacityRebalance" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "FleetLaunchTemplateOverridesRequest": { - "type": "object", + "BlockDeviceMapping": { "additionalProperties": false, + "type": "object", "properties": { - "WeightedCapacity": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "Placement": { - "$ref": "#/definitions/Placement" - }, - "Priority": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "Ebs": { + "$ref": "#/definitions/EbsBlockDevice" }, - "AvailabilityZone": { + "NoDevice": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SubnetId": { + "VirtualName": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "InstanceType": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "InstanceRequirements": { - "$ref": "#/definitions/InstanceRequirementsRequest" - }, - "MaxPrice": { + "DeviceName": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Tag": { - "type": "object", + "AcceleratorCountRequest": { "additionalProperties": false, + "type": "object", "properties": { - "Value": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "Min": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "Key": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "Max": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "required": [ - "Value", - "Key" - ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TagSpecification": { - "type": "object", + "CapacityRebalance": { "additionalProperties": false, + "type": "object", "properties": { - "ResourceType": { + "TerminationDelay": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "ReplacementStrategy": { "type": "string", "enum": [ - "client-vpn-endpoint", - "customer-gateway", - "dedicated-host", - "dhcp-options", - "egress-only-internet-gateway", - "elastic-gpu", - "elastic-ip", - "export-image-task", - "export-instance-task", - "fleet", - "fpga-image", - "host-reservation", - "image", - "import-image-task", - "import-snapshot-task", - "instance", - "internet-gateway", - "key-pair", - "launch-template", - "local-gateway-route-table-vpc-association", - "natgateway", - "network-acl", - "network-insights-analysis", - "network-insights-path", - "network-interface", - "placement-group", - "reserved-instances", - "route-table", - "security-group", - "snapshot", - "spot-fleet-request", - "spot-instances-request", - "subnet", - "traffic-mirror-filter", - "traffic-mirror-session", - "traffic-mirror-target", - "transit-gateway", - "transit-gateway-attachment", - "transit-gateway-connect-peer", - "transit-gateway-multicast-domain", - "transit-gateway-route-table", - "volume", - "vpc", - "vpc-flow-log", - "vpc-peering-connection", - "vpn-connection", - "vpn-gateway" + "launch", + "launch-before-terminate" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: client-vpn-endpoint | customer-gateway | dedicated-host | dhcp-options | egress-only-internet-gateway | elastic-gpu | elastic-ip | export-image-task | export-instance-task | fleet | fpga-image | host-reservation | image | import-image-task | import-snapshot-task | instance | internet-gateway | key-pair | launch-template | local-gateway-route-table-vpc-association | natgateway | network-acl | network-insights-analysis | network-insights-path | network-interface | placement-group | reserved-instances | route-table | security-group | snapshot | spot-fleet-request | spot-instances-request | subnet | traffic-mirror-filter | traffic-mirror-session | traffic-mirror-target | transit-gateway | transit-gateway-attachment | transit-gateway-connect-peer | transit-gateway-multicast-domain | transit-gateway-route-table | volume | vpc | vpc-flow-log | vpc-peering-connection | vpn-connection | vpn-gateway \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: launch | launch-before-terminate \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "FleetLaunchTemplateConfigRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/FleetLaunchTemplateSpecificationRequest" }, - "Tags": { - "type": "array", + "Overrides": { "uniqueItems": false, + "type": "array", "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/FleetLaunchTemplateOverridesRequest" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "InstanceRequirementsRequest": { - "type": "object", + "FleetLaunchTemplateOverridesRequest": { "additionalProperties": false, + "type": "object", "properties": { - "VCpuCount": { - "$ref": "#/definitions/VCpuCountRangeRequest" + "WeightedCapacity": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, - "MemoryMiB": { - "$ref": "#/definitions/MemoryMiBRequest" + "Placement": { + "$ref": "#/definitions/Placement" }, - "CpuManufacturers": { - "type": "array", + "Priority": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "AvailabilityZone": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SubnetId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "InstanceRequirements": { + "$ref": "#/definitions/InstanceRequirementsRequest" + }, + "InstanceType": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "MaxPrice": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "InstanceRequirementsRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "InstanceGenerations": { "uniqueItems": false, + "type": "array", "items": { "type": "string", "enum": [ - "intel", - "amd", - "amazon-web-services" + "current", + "previous" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: intel | amd | amazon-web-services \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: current | previous \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "MemoryGiBPerVCpu": { "$ref": "#/definitions/MemoryGiBPerVCpuRequest" }, - "AllowedInstanceTypes": { - "type": "array", + "AcceleratorTypes": { "uniqueItems": false, - "items": { - "type": "string", - "minLength": 1, - "maxLength": 30, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 30 \nPattern: [a-zA-Z0-9\\.\\*]+ \nUpdate requires: No interruption" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "ExcludedInstanceTypes": { "type": "array", - "uniqueItems": false, "items": { "type": "string", - "minLength": 1, - "maxLength": 30, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 30 \nPattern: [a-zA-Z0-9\\.\\*]+ \nUpdate requires: No interruption" + "enum": [ + "gpu", + "fpga", + "inference" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: gpu | fpga | inference \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "InstanceGenerations": { - "type": "array", + "VCpuCount": { + "$ref": "#/definitions/VCpuCountRangeRequest" + }, + "AcceleratorManufacturers": { "uniqueItems": false, + "type": "array", "items": { "type": "string", "enum": [ - "current", - "previous" + "amazon-web-services", + "amd", + "habana", + "nvidia", + "xilinx" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: current | previous \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: amazon-web-services | amd | habana | nvidia | xilinx \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "SpotMaxPricePercentageOverLowestPrice": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "OnDemandMaxPricePercentageOverLowestPrice": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "BareMetal": { + "LocalStorage": { "type": "string", "enum": [ "included", @@ -493,7 +549,22 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: included | required | excluded \nUpdate requires: No interruption" }, - "BurstablePerformance": { + "CpuManufacturers": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "intel", + "amd", + "amazon-web-services", + "apple" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: intel | amd | amazon-web-services | apple \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "BareMetal": { "type": "string", "enum": [ "included", @@ -506,24 +577,20 @@ "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "NetworkBandwidthGbps": { - "$ref": "#/definitions/NetworkBandwidthGbpsRequest" + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "NetworkInterfaceCount": { - "$ref": "#/definitions/NetworkInterfaceCountRequest" + "OnDemandMaxPricePercentageOverLowestPrice": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "LocalStorage": { - "type": "string", - "enum": [ - "included", - "required", - "excluded" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: included | required | excluded \nUpdate requires: No interruption" + "MemoryMiB": { + "$ref": "#/definitions/MemoryMiBRequest" }, "LocalStorageTypes": { - "type": "array", "uniqueItems": false, + "type": "array", "items": { "type": "string", "enum": [ @@ -534,48 +601,50 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "TotalLocalStorageGB": { - "$ref": "#/definitions/TotalLocalStorageGBRequest" - }, - "BaselineEbsBandwidthMbps": { - "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" + "NetworkInterfaceCount": { + "$ref": "#/definitions/NetworkInterfaceCountRequest" }, - "AcceleratorTypes": { - "type": "array", + "ExcludedInstanceTypes": { "uniqueItems": false, + "type": "array", "items": { + "minLength": 1, "type": "string", - "enum": [ - "gpu", - "fpga", - "inference" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: gpu | fpga | inference \nUpdate requires: No interruption" + "maxLength": 30, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 30 \nPattern: [a-zA-Z0-9\\.\\*]+ \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "AcceleratorCount": { - "$ref": "#/definitions/AcceleratorCountRequest" - }, - "AcceleratorManufacturers": { - "type": "array", + "AllowedInstanceTypes": { "uniqueItems": false, + "type": "array", "items": { + "minLength": 1, "type": "string", - "enum": [ - "amazon-web-services", - "amd", - "habana", - "nvidia", - "xilinx" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: amazon-web-services | amd | habana | nvidia | xilinx \nUpdate requires: No interruption" + "maxLength": 30, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 30 \nPattern: [a-zA-Z0-9\\.\\*]+ \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "NetworkBandwidthGbps": { + "$ref": "#/definitions/NetworkBandwidthGbpsRequest" + }, + "AcceleratorCount": { + "$ref": "#/definitions/AcceleratorCountRequest" + }, + "BaselinePerformanceFactors": { + "$ref": "#/definitions/BaselinePerformanceFactorsRequest" + }, + "SpotMaxPricePercentageOverLowestPrice": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" + }, "AcceleratorNames": { - "type": "array", "uniqueItems": false, + "type": "array", "items": { "type": "string", "enum": [ @@ -598,73 +667,25 @@ }, "AcceleratorTotalMemoryMiB": { "$ref": "#/definitions/AcceleratorTotalMemoryMiBRequest" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "VCpuCountRangeRequest": { - "type": "object", - "additionalProperties": false, - "properties": { - "Min": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Max": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "MemoryMiBRequest": { - "type": "object", - "additionalProperties": false, - "properties": { - "Min": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "Max": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "MemoryGiBPerVCpuRequest": { - "type": "object", - "additionalProperties": false, - "properties": { - "Min": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "Max": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "NetworkBandwidthGbpsRequest": { - "type": "object", - "additionalProperties": false, - "properties": { - "Min": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "BurstablePerformance": { + "type": "string", + "enum": [ + "included", + "required", + "excluded" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: included | required | excluded \nUpdate requires: No interruption" }, - "Max": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "TotalLocalStorageGB": { + "$ref": "#/definitions/TotalLocalStorageGBRequest" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "NetworkInterfaceCountRequest": { - "type": "object", + "MemoryMiBRequest": { "additionalProperties": false, + "type": "object", "properties": { "Min": { "type": "integer", @@ -677,39 +698,87 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TotalLocalStorageGBRequest": { - "type": "object", + "TagSpecification": { "additionalProperties": false, + "type": "object", "properties": { - "Min": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "ResourceType": { + "type": "string", + "enum": [ + "client-vpn-endpoint", + "customer-gateway", + "dedicated-host", + "dhcp-options", + "egress-only-internet-gateway", + "elastic-gpu", + "elastic-ip", + "export-image-task", + "export-instance-task", + "fleet", + "fpga-image", + "host-reservation", + "image", + "import-image-task", + "import-snapshot-task", + "instance", + "internet-gateway", + "key-pair", + "launch-template", + "local-gateway-route-table-vpc-association", + "natgateway", + "network-acl", + "network-insights-analysis", + "network-insights-path", + "network-interface", + "placement-group", + "reserved-instances", + "route-table", + "security-group", + "snapshot", + "spot-fleet-request", + "spot-instances-request", + "subnet", + "traffic-mirror-filter", + "traffic-mirror-session", + "traffic-mirror-target", + "transit-gateway", + "transit-gateway-attachment", + "transit-gateway-connect-peer", + "transit-gateway-multicast-domain", + "transit-gateway-route-table", + "volume", + "vpc", + "vpc-flow-log", + "vpc-peering-connection", + "vpn-connection", + "vpn-gateway" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: client-vpn-endpoint | customer-gateway | dedicated-host | dhcp-options | egress-only-internet-gateway | elastic-gpu | elastic-ip | export-image-task | export-instance-task | fleet | fpga-image | host-reservation | image | import-image-task | import-snapshot-task | instance | internet-gateway | key-pair | launch-template | local-gateway-route-table-vpc-association | natgateway | network-acl | network-insights-analysis | network-insights-path | network-interface | placement-group | reserved-instances | route-table | security-group | snapshot | spot-fleet-request | spot-instances-request | subnet | traffic-mirror-filter | traffic-mirror-session | traffic-mirror-target | transit-gateway | transit-gateway-attachment | transit-gateway-connect-peer | transit-gateway-multicast-domain | transit-gateway-route-table | volume | vpc | vpc-flow-log | vpc-peering-connection | vpn-connection | vpn-gateway \nUpdate requires: No interruption" }, - "Max": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "Tags": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "BaselineEbsBandwidthMbpsRequest": { - "type": "object", + "BaselinePerformanceFactorsRequest": { "additionalProperties": false, + "type": "object", "properties": { - "Min": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Max": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "Cpu": { + "$ref": "#/definitions/CpuPerformanceFactorRequest" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "AcceleratorCountRequest": { - "type": "object", + "AcceleratorTotalMemoryMiBRequest": { "additionalProperties": false, + "type": "object", "properties": { "Min": { "type": "integer", @@ -722,102 +791,139 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "AcceleratorTotalMemoryMiBRequest": { - "type": "object", + "EbsBlockDevice": { "additionalProperties": false, + "type": "object", "properties": { - "Min": { + "SnapshotId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "VolumeType": { + "type": "string", + "enum": [ + "gp2", + "gp3", + "io1", + "io2", + "sc1", + "st1", + "standard" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: gp2 | gp3 | io1 | io2 | sc1 | st1 | standard \nUpdate requires: No interruption" + }, + "KmsKeyId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Encrypted": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "Iops": { "type": "integer", "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "Max": { + "VolumeSize": { "type": "integer", "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "DeleteOnTermination": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "MaintenanceStrategies": { - "type": "object", + "Tag": { "additionalProperties": false, - "properties": { - "CapacityRebalance": { - "$ref": "#/definitions/CapacityRebalance" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "CapacityRebalance": { "type": "object", - "additionalProperties": false, "properties": { - "ReplacementStrategy": { + "Value": { "type": "string", - "enum": [ - "launch", - "launch-before-terminate" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: launch | launch-before-terminate \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "TerminationDelay": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "Key": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, + "required": [ + "Value", + "Key" + ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "required": [ - "TargetCapacitySpecification", - "LaunchTemplateConfigs" - ], - "createOnlyProperties": [ - "/properties/LaunchTemplateConfigs", - "/properties/OnDemandOptions", - "/properties/ReplaceUnhealthyInstances", - "/properties/SpotOptions", - "/properties/TagSpecifications", - "/properties/TerminateInstancesWithExpiration", - "/properties/Type", - "/properties/ValidFrom", - "/properties/ValidUntil" - ], - "primaryIdentifier": [ - "/properties/FleetId" - ], - "readOnlyProperties": [ - "/properties/FleetId" - ], - "handlers": { - "create": { - "permissions": [ - "ec2:CreateFleet", - "ec2:DescribeFleets" - ] + "properties": { + "Context": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "delete": { - "permissions": [ - "ec2:DescribeFleets", - "ec2:DeleteFleets" - ] + "TargetCapacitySpecification": { + "$ref": "#/definitions/TargetCapacitySpecificationRequest" }, - "list": { - "permissions": [ - "ec2:DescribeFleets" - ] + "OnDemandOptions": { + "$ref": "#/definitions/OnDemandOptionsRequest" }, - "read": { - "permissions": [ - "ec2:DescribeFleets" - ] + "ExcessCapacityTerminationPolicy": { + "type": "string", + "enum": [ + "termination", + "no-termination" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: termination | no-termination \nUpdate requires: No interruption" }, - "update": { - "permissions": [ - "ec2:ModifyFleet", - "ec2:DescribeFleets" - ] + "TagSpecifications": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/TagSpecification" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + }, + "SpotOptions": { + "$ref": "#/definitions/SpotOptionsRequest" + }, + "LaunchTemplateConfigs": { + "maxItems": 50, + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/FleetLaunchTemplateConfigRequest" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: Replacement" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + }, + "ValidUntil": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "Type": { + "type": "string", + "enum": [ + "maintain", + "request", + "instant" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: maintain | request | instant \nUpdate requires: Replacement" + }, + "ValidFrom": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "ReplaceUnhealthyInstances": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" } }, + "required": [ + "TargetCapacitySpecification", + "LaunchTemplateConfigs" + ], "attributes": { "FleetId": { "type": "string", diff --git a/server/schema/resources/aws-ec2-eip.json b/server/schema/resources/aws-ec2-eip.json index d711c2d2..46a5e6c5 100644 --- a/server/schema/resources/aws-ec2-eip.json +++ b/server/schema/resources/aws-ec2-eip.json @@ -60,6 +60,16 @@ "type": "string", "markdownDescription": "The ID of an address pool that you own. Use this parameter to let Amazon EC2 select an address from the address pool.\n Updates to the ``PublicIpv4Pool`` property may require *some interruptions*. Updates on an EIP reassociates the address on its associated resource.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "IpamPoolId": { + "description": "", + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "Address": { + "description": "", + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, "Tags": { "description": "Any tags assigned to the Elastic IP address.\n Updates to the ``Tags`` property may require *some interruptions*. Updates on an EIP reassociates the address on its associated resource.", "type": "array", @@ -111,10 +121,14 @@ "createOnlyProperties": [ "/properties/Domain", "/properties/NetworkBorderGroup", - "/properties/TransferAddress" + "/properties/TransferAddress", + "/properties/IpamPoolId", + "/properties/Address" ], "writeOnlyProperties": [ - "/properties/TransferAddress" + "/properties/TransferAddress", + "/properties/IpamPoolId", + "/properties/Address" ], "readOnlyProperties": [ "/properties/PublicIp", diff --git a/server/schema/resources/aws-ec2-enclavecertificateiamroleassociation.json b/server/schema/resources/aws-ec2-enclavecertificateiamroleassociation.json index ceaad42b..8299c0ca 100644 --- a/server/schema/resources/aws-ec2-enclavecertificateiamroleassociation.json +++ b/server/schema/resources/aws-ec2-enclavecertificateiamroleassociation.json @@ -30,7 +30,8 @@ "handlers": { "create": { "permissions": [ - "ec2:AssociateEnclaveCertificateIamRole" + "ec2:AssociateEnclaveCertificateIamRole", + "ec2:GetAssociatedEnclaveCertificateIamRoles" ] }, "read": { @@ -40,7 +41,8 @@ }, "delete": { "permissions": [ - "ec2:DisassociateEnclaveCertificateIamRole" + "ec2:DisassociateEnclaveCertificateIamRole", + "ec2:GetAssociatedEnclaveCertificateIamRoles" ] }, "list": { diff --git a/server/schema/resources/aws-ec2-flowlog.json b/server/schema/resources/aws-ec2-flowlog.json index de8543fc..0993979b 100644 --- a/server/schema/resources/aws-ec2-flowlog.json +++ b/server/schema/resources/aws-ec2-flowlog.json @@ -154,7 +154,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "ec2:CreateTags", + "ec2:DeleteTags" + ] }, "primaryIdentifier": [ "/properties/Id" diff --git a/server/schema/resources/aws-ec2-launchtemplate.json b/server/schema/resources/aws-ec2-launchtemplate.json index 6bcfda17..3dd948a9 100644 --- a/server/schema/resources/aws-ec2-launchtemplate.json +++ b/server/schema/resources/aws-ec2-launchtemplate.json @@ -72,12 +72,16 @@ }, "TagSpecifications": { "uniqueItems": false, - "description": "The tags to apply to the resources that are created during instance launch.\n To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).\n To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).", + "description": "The tags to apply to resources that are created during instance launch.\n To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).", "type": "array", "items": { "$ref": "#/definitions/TagSpecification" }, - "markdownDescription": "The tags to apply to the resources that are created during instance launch.\n To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).\n To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The tags to apply to resources that are created during instance launch.\n To tag the launch template itself, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "NetworkPerformanceOptions": { + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "UserData": { "description": "The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see [Run commands on your Amazon EC2 instance at launch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) in the *Amazon EC2 User Guide*.\n If you are creating the launch template for use with BATCH, the user data must be provided in the [MIME multi-part archive format](https://docs.aws.amazon.com/https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive). For more information, see [Amazon EC2 user data in launch templates](https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html) in the *User Guide*.", @@ -124,12 +128,12 @@ }, "ElasticInferenceAccelerators": { "uniqueItems": false, - "description": "An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.\n You cannot specify accelerators from different generations in the same request.\n Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.", + "description": "Amazon Elastic Inference is no longer available.\n An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.\n You cannot specify accelerators from different generations in the same request.\n Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.", "type": "array", "items": { "$ref": "#/definitions/LaunchTemplateElasticInferenceAccelerator" }, - "markdownDescription": "An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.\n You cannot specify accelerators from different generations in the same request.\n Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Amazon Elastic Inference is no longer available.\n An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.\n You cannot specify accelerators from different generations in the same request.\n Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Placement": { "description": "The placement for the instance.", @@ -230,9 +234,9 @@ "markdownDescription": "The market (purchasing) option for the instances.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "InstanceRequirements": { - "description": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.", + "description": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.", "$ref": "#/definitions/InstanceRequirements", - "markdownDescription": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "RamDiskId": { "description": "The ID of the RAM disk.\n We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see [User provided kernels](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html) in the *Amazon EC2 User Guide*.", @@ -304,6 +308,19 @@ }, "markdownDescription": "Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.\n Specifies a specification for an Elastic GPU for an Amazon EC2 launch template.\n ``ElasticGpuSpecification`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "Cpu": { + "description": "Specifies the CPU performance to consider when using an instance family as the baseline reference.", + "additionalProperties": false, + "type": "object", + "properties": { + "References": { + "description": "The instance family to use as the baseline reference for CPU performance. All instance types that match your specified attributes are compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences.", + "$ref": "#/definitions/References", + "markdownDescription": "The instance family to use as the baseline reference for CPU performance. All instance types that match your specified attributes are compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture differences.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specifies the CPU performance to consider when using an instance family as the baseline reference.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "IamInstanceProfile": { "description": "Specifies an IAM instance profile, which is a container for an IAM role for your instance. You can use an IAM role to distribute your AWS credentials to your instances.\n If you are creating the launch template for use with an ASlong group, you can specify either the name or the ARN of the instance profile, but not both.\n ``IamInstanceProfile`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).", "additionalProperties": false, @@ -471,9 +488,9 @@ "markdownDescription": "The volume type. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "KmsKeyId": { - "description": "The ARN of the symmetric KMSlong (KMS) CMK used for encryption.", + "description": "Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.", "type": "string", - "markdownDescription": "The ARN of the symmetric KMSlong (KMS) CMK used for encryption.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Encrypted": { "description": "Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached to instances that support Amazon EBS encryption. If you are creating a volume from a snapshot, you can't specify an encryption value.", @@ -626,6 +643,19 @@ }, "markdownDescription": "The minimum and maximum number of network interfaces.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "Reference": { + "description": "Specifies an instance family to use as the baseline reference for CPU performance.", + "additionalProperties": false, + "type": "object", + "properties": { + "InstanceFamily": { + "description": "The instance family to use as a baseline reference.\n Ensure that you specify the correct value for the instance family. The instance family is everything before the period (``.``) in the instance type name. For example, in the instance type ``c6i.large``, the instance family is ``c6i``, not ``c6``. For more information, see [Amazon EC2 instance type naming conventions](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) in *Amazon EC2 Instance Types*.\n The following instance families are *not supported* for performance protection:\n + ``c1`` \n + ``g3`` | ``g3s`` \n + ``hpc7g`` \n + ``m1`` | ``m2`` \n + ``mac1`` | ``mac2`` | ``mac2-m1ultra`` | ``mac2-m2`` | ``mac2-m2pro`` \n + ``p3dn`` | ``p4d`` | ``p5`` \n + ``t1`` \n + ``u-12tb1`` | ``u-18tb1`` | ``u-24tb1`` | ``u-3tb1`` | ``u-6tb1`` | ``u-9tb1`` | ``u7i-12tb`` | ``u7in-16tb`` | ``u7in-24tb`` | ``u7in-32tb`` \n \n If you enable performance protection by specifying a supported instance family, the returned instance types will exclude the above unsupported instance families.", + "type": "string", + "markdownDescription": "The instance family to use as a baseline reference.\n Ensure that you specify the correct value for the instance family. The instance family is everything before the period (``.``) in the instance type name. For example, in the instance type ``c6i.large``, the instance family is ``c6i``, not ``c6``. For more information, see [Amazon EC2 instance type naming conventions](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) in *Amazon EC2 Instance Types*.\n The following instance families are *not supported* for performance protection:\n + ``c1`` \n + ``g3`` | ``g3s`` \n + ``hpc7g`` \n + ``m1`` | ``m2`` \n + ``mac1`` | ``mac2`` | ``mac2-m1ultra`` | ``mac2-m2`` | ``mac2-m2pro`` \n + ``p3dn`` | ``p4d`` | ``p5`` \n + ``t1`` \n + ``u-12tb1`` | ``u-18tb1`` | ``u-24tb1`` | ``u-3tb1`` | ``u-6tb1`` | ``u-9tb1`` | ``u7i-12tb`` | ``u7in-16tb`` | ``u7in-24tb`` | ``u7in-32tb`` \n \n If you enable performance protection by specifying a supported instance family, the returned instance types will exclude the above unsupported instance families.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specifies an instance family to use as the baseline reference for CPU performance.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "CpuOptions": { "description": "Specifies the CPU options for an instance. For more information, see [Optimize CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) in the *User Guide*.\n ``CpuOptions`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).", "additionalProperties": false, @@ -783,9 +813,9 @@ "markdownDescription": "The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "InterfaceType": { - "description": "The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.\n If you are not creating an EFA, specify ``interface`` or omit this parameter.\n Valid values: ``interface`` | ``efa``", + "description": "The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.\n If you are not creating an EFA, specify ``interface`` or omit this parameter.\n If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.\n Valid values: ``interface`` | ``efa`` | ``efa-only``", "type": "string", - "markdownDescription": "The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.\n If you are not creating an EFA, specify ``interface`` or omit this parameter.\n Valid values: ``interface`` | ``efa``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa``. For more information, see [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the *Amazon EC2 User Guide*.\n If you are not creating an EFA, specify ``interface`` or omit this parameter.\n If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.\n Valid values: ``interface`` | ``efa`` | ``efa-only``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AssociateCarrierIpAddress": { "description": "Associates a Carrier IP address with eth0 for a new network interface.\n Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. For more information about Carrier IP addresses, see [Carrier IP addresses](https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip) in the *Developer Guide*.", @@ -880,7 +910,7 @@ "markdownDescription": "Specifies an IPv6 prefix for a network interface.\n ``Ipv6PrefixSpecification`` is a property of [AWS::EC2::LaunchTemplate NetworkInterface](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "LaunchTemplateTagSpecification": { - "description": "Specifies the tags to apply to the launch template during creation.\n ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).", + "description": "Specifies the tags to apply to the launch template during creation.\n To specify the tags for the resources that are created during instance launch, use [AWS::EC2::LaunchTemplate TagSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html).\n ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).", "additionalProperties": false, "type": "object", "properties": { @@ -899,10 +929,10 @@ "markdownDescription": "The tags for the resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "Specifies the tags to apply to the launch template during creation.\n ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies the tags to apply to the launch template during creation.\n To specify the tags for the resources that are created during instance launch, use [AWS::EC2::LaunchTemplate TagSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html).\n ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "TagSpecification": { - "description": "Specifies the tags to apply to a resource when the resource is created for the launch template.\n ``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).", + "description": "Specifies the tags to apply to resources that are created during instance launch.\n ``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).", "additionalProperties": false, "type": "object", "properties": { @@ -921,7 +951,7 @@ "markdownDescription": "The tags to apply to the resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "Specifies the tags to apply to a resource when the resource is created for the launch template.\n ``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies the tags to apply to resources that are created during instance launch.\n ``TagSpecification`` is a property type of [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications). [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications) is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EnaSrdUdpSpecification": { "description": "ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic automatically uses it. However, some UDP-based applications are designed to handle network packets that are out of order, without a need for retransmission, such as live video broadcasting or other near-real-time applications. For UDP traffic, you can specify whether to use ENA Express, based on your application environment needs.", @@ -990,6 +1020,29 @@ }, "markdownDescription": "Specifies the market (purchasing) option for an instance.\n ``InstanceMarketOptions`` is a property of the [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "References": { + "uniqueItems": true, + "description": "A list of references to be used as baseline for the CPU performance. Currently, you can only specify a single reference across different instance type variations such as CPU manufacturers, architectures etc.", + "insertionOrder": true, + "type": "array", + "items": { + "$ref": "#/definitions/Reference" + }, + "markdownDescription": "A list of references to be used as baseline for the CPU performance. Currently, you can only specify a single reference across different instance type variations such as CPU manufacturers, architectures etc.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "BaselinePerformanceFactors": { + "description": "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application.\n Currently, this parameter only supports CPU performance as a baseline performance factor. For example, specifying ``c6i`` would use the CPU performance of the ``c6i`` family as the baseline reference.", + "additionalProperties": false, + "type": "object", + "properties": { + "Cpu": { + "description": "The CPU performance to consider, using an instance family as the baseline reference.", + "$ref": "#/definitions/Cpu", + "markdownDescription": "The CPU performance to consider, using an instance family as the baseline reference.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application.\n Currently, this parameter only supports CPU performance as a baseline performance factor. For example, specifying ``c6i`` would use the CPU performance of the ``c6i`` family as the baseline reference.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "LaunchTemplateElasticInferenceAccelerator": { "description": "Specifies an elastic inference accelerator.\n ``LaunchTemplateElasticInferenceAccelerator`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).", "additionalProperties": false, @@ -1027,20 +1080,10 @@ "markdownDescription": "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS\u2013optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "InstanceRequirements": { - "description": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.", + "description": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.", "additionalProperties": false, "type": "object", "properties": { - "LocalStorageTypes": { - "uniqueItems": false, - "description": "The type of local storage that is required.\n + For instance types with hard disk drive (HDD) storage, specify ``hdd``.\n + For instance types with solid state drive (SSD) storage, specify ``ssd``.\n \n Default: ``hdd`` and ``ssd``", - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "The type of local storage that is required.\n + For instance types with hard disk drive (HDD) storage, specify ``hdd``.\n + For instance types with solid state drive (SSD) storage, specify ``ssd``.\n \n Default: ``hdd`` and ``ssd``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, "InstanceGenerations": { "uniqueItems": false, "description": "Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide*.\n For current generation instance types, specify ``current``.\n For previous generation instance types, specify ``previous``.\n Default: Current and previous generation instance types", @@ -1051,11 +1094,6 @@ }, "markdownDescription": "Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide*.\n For current generation instance types, specify ``current``.\n For previous generation instance types, specify ``previous``.\n Default: Current and previous generation instance types\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "NetworkInterfaceCount": { - "description": "The minimum and maximum number of network interfaces.\n Default: No minimum or maximum limits", - "$ref": "#/definitions/NetworkInterfaceCount", - "markdownDescription": "The minimum and maximum number of network interfaces.\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, "MemoryGiBPerVCpu": { "description": "The minimum and maximum amount of memory per vCPU, in GiB.\n Default: No minimum or maximum limits", "$ref": "#/definitions/MemoryGiBPerVCpu", @@ -1063,64 +1101,104 @@ }, "AcceleratorTypes": { "uniqueItems": false, - "description": "The accelerator types that must be on the instance type.\n + For instance types with GPU accelerators, specify ``gpu``.\n + For instance types with FPGA accelerators, specify ``fpga``.\n + For instance types with inference accelerators, specify ``inference``.\n \n Default: Any accelerator type", + "description": "The accelerator types that must be on the instance type.\n + For instance types with GPU accelerators, specify ``gpu``.\n + For instance types with FPGA accelerators, specify ``fpga``.\n \n Default: Any accelerator type", "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "The accelerator types that must be on the instance type.\n + For instance types with GPU accelerators, specify ``gpu``.\n + For instance types with FPGA accelerators, specify ``fpga``.\n + For instance types with inference accelerators, specify ``inference``.\n \n Default: Any accelerator type\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The accelerator types that must be on the instance type.\n + For instance types with GPU accelerators, specify ``gpu``.\n + For instance types with FPGA accelerators, specify ``fpga``.\n \n Default: Any accelerator type\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "VCpuCount": { "description": "The minimum and maximum number of vCPUs.", "$ref": "#/definitions/VCpuCount", "markdownDescription": "The minimum and maximum number of vCPUs.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "ExcludedInstanceTypes": { + "AcceleratorManufacturers": { "uniqueItems": false, - "description": "The instance types to exclude.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``.\n Default: No excluded instance types", + "description": "Indicates whether instance types must have accelerators by specific manufacturers.\n + For instance types with AWS devices, specify ``amazon-web-services``.\n + For instance types with AMD devices, specify ``amd``.\n + For instance types with Habana devices, specify ``habana``.\n + For instance types with NVIDIA devices, specify ``nvidia``.\n + For instance types with Xilinx devices, specify ``xilinx``.\n \n Default: Any manufacturer", "type": "array", "items": { - "description": "The user data to make available to the instance.", "type": "string", - "markdownDescription": "The user data to make available to the instance.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "The instance types to exclude.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``.\n Default: No excluded instance types\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Indicates whether instance types must have accelerators by specific manufacturers.\n + For instance types with AWS devices, specify ``amazon-web-services``.\n + For instance types with AMD devices, specify ``amd``.\n + For instance types with Habana devices, specify ``habana``.\n + For instance types with NVIDIA devices, specify ``nvidia``.\n + For instance types with Xilinx devices, specify ``xilinx``.\n \n Default: Any manufacturer\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "AcceleratorManufacturers": { + "LocalStorage": { + "description": "Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide*.\n + To include instance types with instance store volumes, specify ``included``.\n + To require only instance types with instance store volumes, specify ``required``.\n + To exclude instance types with instance store volumes, specify ``excluded``.\n \n Default: ``included``", + "type": "string", + "markdownDescription": "Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide*.\n + To include instance types with instance store volumes, specify ``included``.\n + To require only instance types with instance store volumes, specify ``required``.\n + To exclude instance types with instance store volumes, specify ``excluded``.\n \n Default: ``included``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CpuManufacturers": { "uniqueItems": false, - "description": "Indicates whether instance types must have accelerators by specific manufacturers.\n + For instance types with AWS devices, specify ``amazon-web-services``.\n + For instance types with AMD devices, specify ``amd``.\n + For instance types with Habana devices, specify ``habana``.\n + For instance types with NVIDIA devices, specify ``nvidia``.\n + For instance types with Xilinx devices, specify ``xilinx``.\n \n Default: Any manufacturer", + "description": "The CPU manufacturers to include.\n + For instance types with Intel CPUs, specify ``intel``.\n + For instance types with AMD CPUs, specify ``amd``.\n + For instance types with AWS CPUs, specify ``amazon-web-services``.\n + For instance types with Apple CPUs, specify ``apple``.\n \n Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.\n Default: Any manufacturer", "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "Indicates whether instance types must have accelerators by specific manufacturers.\n + For instance types with AWS devices, specify ``amazon-web-services``.\n + For instance types with AMD devices, specify ``amd``.\n + For instance types with Habana devices, specify ``habana``.\n + For instance types with NVIDIA devices, specify ``nvidia``.\n + For instance types with Xilinx devices, specify ``xilinx``.\n \n Default: Any manufacturer\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The CPU manufacturers to include.\n + For instance types with Intel CPUs, specify ``intel``.\n + For instance types with AMD CPUs, specify ``amd``.\n + For instance types with AWS CPUs, specify ``amazon-web-services``.\n + For instance types with Apple CPUs, specify ``apple``.\n \n Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.\n Default: Any manufacturer\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "AllowedInstanceTypes": { + "BareMetal": { + "description": "Indicates whether bare metal instance types must be included, excluded, or required.\n + To include bare metal instance types, specify ``included``.\n + To require only bare metal instance types, specify ``required``.\n + To exclude bare metal instance types, specify ``excluded``.\n \n Default: ``excluded``", + "type": "string", + "markdownDescription": "Indicates whether bare metal instance types must be included, excluded, or required.\n + To include bare metal instance types, specify ``included``.\n + To require only bare metal instance types, specify ``required``.\n + To exclude bare metal instance types, specify ``excluded``.\n \n Default: ``excluded``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "RequireHibernateSupport": { + "description": "Indicates whether instance types must support hibernation for On-Demand Instances.\n This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html).\n Default: ``false``", + "type": "boolean", + "markdownDescription": "Indicates whether instance types must support hibernation for On-Demand Instances.\n This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html).\n Default: ``false``\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "description": "[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.\n Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999``.", + "type": "integer", + "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.\n Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999``.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "description": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n To turn off price protection, specify a high value, such as ``999999``.\n This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html).\n If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n Default: ``20``", + "type": "integer", + "markdownDescription": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n To turn off price protection, specify a high value, such as ``999999``.\n This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html).\n If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n Default: ``20``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MemoryMiB": { + "description": "The minimum and maximum amount of memory, in MiB.", + "$ref": "#/definitions/MemoryMiB", + "markdownDescription": "The minimum and maximum amount of memory, in MiB.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "LocalStorageTypes": { "uniqueItems": false, - "description": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``.\n Default: All instance types", + "description": "The type of local storage that is required.\n + For instance types with hard disk drive (HDD) storage, specify ``hdd``.\n + For instance types with solid state drive (SSD) storage, specify ``ssd``.\n \n Default: ``hdd`` and ``ssd``", "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``.\n Default: All instance types\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The type of local storage that is required.\n + For instance types with hard disk drive (HDD) storage, specify ``hdd``.\n + For instance types with solid state drive (SSD) storage, specify ``ssd``.\n \n Default: ``hdd`` and ``ssd``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "LocalStorage": { - "description": "Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide*.\n + To include instance types with instance store volumes, specify ``included``.\n + To require only instance types with instance store volumes, specify ``required``.\n + To exclude instance types with instance store volumes, specify ``excluded``.\n \n Default: ``included``", - "type": "string", - "markdownDescription": "Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide*.\n + To include instance types with instance store volumes, specify ``included``.\n + To require only instance types with instance store volumes, specify ``required``.\n + To exclude instance types with instance store volumes, specify ``excluded``.\n \n Default: ``included``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "NetworkInterfaceCount": { + "description": "The minimum and maximum number of network interfaces.\n Default: No minimum or maximum limits", + "$ref": "#/definitions/NetworkInterfaceCount", + "markdownDescription": "The minimum and maximum number of network interfaces.\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "CpuManufacturers": { + "ExcludedInstanceTypes": { "uniqueItems": false, - "description": "The CPU manufacturers to include.\n + For instance types with Intel CPUs, specify ``intel``.\n + For instance types with AMD CPUs, specify ``amd``.\n + For instance types with AWS CPUs, specify ``amazon-web-services``.\n \n Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.\n Default: Any manufacturer", + "description": "The instance types to exclude.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``.\n Default: No excluded instance types", + "type": "array", + "items": { + "description": "The user data to make available to the instance.", + "type": "string", + "markdownDescription": "The user data to make available to the instance.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The instance types to exclude.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``.\n Default: No excluded instance types\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AllowedInstanceTypes": { + "uniqueItems": false, + "description": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``.\n Default: All instance types", "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "The CPU manufacturers to include.\n + For instance types with Intel CPUs, specify ``intel``.\n + For instance types with AMD CPUs, specify ``amd``.\n + For instance types with AWS CPUs, specify ``amazon-web-services``.\n \n Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.\n Default: Any manufacturer\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``.\n Default: All instance types\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "AcceleratorCount": { "description": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.\n To exclude accelerator-enabled instance types, set ``Max`` to ``0``.\n Default: No minimum or maximum limits", @@ -1132,20 +1210,10 @@ "$ref": "#/definitions/NetworkBandwidthGbps", "markdownDescription": "The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "BareMetal": { - "description": "Indicates whether bare metal instance types must be included, excluded, or required.\n + To include bare metal instance types, specify ``included``.\n + To require only bare metal instance types, specify ``required``.\n + To exclude bare metal instance types, specify ``excluded``.\n \n Default: ``excluded``", - "type": "string", - "markdownDescription": "Indicates whether bare metal instance types must be included, excluded, or required.\n + To include bare metal instance types, specify ``included``.\n + To require only bare metal instance types, specify ``required``.\n + To exclude bare metal instance types, specify ``excluded``.\n \n Default: ``excluded``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "RequireHibernateSupport": { - "description": "Indicates whether instance types must support hibernation for On-Demand Instances.\n This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html).\n Default: ``false``", - "type": "boolean", - "markdownDescription": "Indicates whether instance types must support hibernation for On-Demand Instances.\n This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html).\n Default: ``false``\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { - "description": "[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.\n Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999``.", - "type": "integer", - "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.\n Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999``.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "BaselinePerformanceFactors": { + "description": "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide*.", + "$ref": "#/definitions/BaselinePerformanceFactors", + "markdownDescription": "The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see [Performance protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection) in the *Amazon EC2 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "SpotMaxPricePercentageOverLowestPrice": { "description": "[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html).\n Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999``.\n Default: ``100``", @@ -1157,11 +1225,6 @@ "$ref": "#/definitions/BaselineEbsBandwidthMbps", "markdownDescription": "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS\u2013optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide*.\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "OnDemandMaxPricePercentageOverLowestPrice": { - "description": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n To turn off price protection, specify a high value, such as ``999999``.\n This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html).\n If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n Default: ``20``", - "type": "integer", - "markdownDescription": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n To turn off price protection, specify a high value, such as ``999999``.\n This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html).\n If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n Default: ``20``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, "AcceleratorNames": { "uniqueItems": false, "description": "The accelerators that must be on the instance type.\n + For instance types with NVIDIA A10G GPUs, specify ``a10g``.\n + For instance types with NVIDIA A100 GPUs, specify ``a100``.\n + For instance types with NVIDIA H100 GPUs, specify ``h100``.\n + For instance types with AWS Inferentia chips, specify ``inferentia``.\n + For instance types with NVIDIA GRID K520 GPUs, specify ``k520``.\n + For instance types with NVIDIA K80 GPUs, specify ``k80``.\n + For instance types with NVIDIA M60 GPUs, specify ``m60``.\n + For instance types with AMD Radeon Pro V520 GPUs, specify ``radeon-pro-v520``.\n + For instance types with NVIDIA T4 GPUs, specify ``t4``.\n + For instance types with NVIDIA T4G GPUs, specify ``t4g``.\n + For instance types with Xilinx VU9P FPGAs, specify ``vu9p``.\n + For instance types with NVIDIA V100 GPUs, specify ``v100``.\n \n Default: Any accelerator", @@ -1182,18 +1245,13 @@ "type": "string", "markdownDescription": "Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html).\n + To include burstable performance instance types, specify ``included``.\n + To require only burstable performance instance types, specify ``required``.\n + To exclude burstable performance instance types, specify ``excluded``.\n \n Default: ``excluded``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "MemoryMiB": { - "description": "The minimum and maximum amount of memory, in MiB.", - "$ref": "#/definitions/MemoryMiB", - "markdownDescription": "The minimum and maximum amount of memory, in MiB.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, "TotalLocalStorageGB": { "description": "The minimum and maximum amount of total local storage, in GB.\n Default: No minimum or maximum limits", "$ref": "#/definitions/TotalLocalStorageGB", "markdownDescription": "The minimum and maximum amount of total local storage, in GB.\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "markdownDescription": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n For more information, see [Attribute-based instance type selection for EC2 Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html), [Attribute-based instance type selection for Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html), and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.\n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the [launch instance wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html), or with the [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) API or [AWS::EC2::Instance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html) AWS CloudFormation resource, you can't specify ``InstanceRequirements``.\n For more information, see [Specify attributes for instance type selection for EC2 Fleet or Spot Fleet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) and [Spot placement score](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html) in the *Amazon EC2 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { "description": "Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).", @@ -1259,9 +1317,9 @@ "type": "object", "properties": { "CapacityReservationPreference": { - "description": "Indicates the instance's Capacity Reservation preferences. Possible preferences include:\n + ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).\n + ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.", + "description": "Indicates the instance's Capacity Reservation preferences. Possible preferences include:\n + ``capacity-reservations-only`` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.\n + ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).\n + ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.", "type": "string", - "markdownDescription": "Indicates the instance's Capacity Reservation preferences. Possible preferences include:\n + ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).\n + ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Indicates the instance's Capacity Reservation preferences. Possible preferences include:\n + ``capacity-reservations-only`` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.\n + ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).\n + ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "CapacityReservationTarget": { "description": "Information about the target Capacity Reservation or Capacity Reservation group.", @@ -1347,12 +1405,12 @@ }, "TagSpecifications": { "uniqueItems": false, - "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).", + "description": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).", "type": "array", "items": { "$ref": "#/definitions/LaunchTemplateTagSpecification" }, - "markdownDescription": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for the resources that are created when an instance is launched, you must use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``.\n To specify the tags for resources that are created during instance launch, use [TagSpecifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "attributes": { diff --git a/server/schema/resources/aws-ec2-networkacl.json b/server/schema/resources/aws-ec2-networkacl.json index e00be094..0e91a3fd 100644 --- a/server/schema/resources/aws-ec2-networkacl.json +++ b/server/schema/resources/aws-ec2-networkacl.json @@ -45,7 +45,7 @@ "readOnlyProperties": [ "/properties/Id" ], - "description": "Specifies a network ACL for your VPC.", + "description": "Specifies a network ACL for your VPC.\n To add a network ACL entry, see [AWS::EC2::NetworkAclEntry](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html).", "createOnlyProperties": [ "/properties/VpcId" ], diff --git a/server/schema/resources/aws-ec2-networkinsightsaccessscope.json b/server/schema/resources/aws-ec2-networkinsightsaccessscope.json index fd4fbd78..0fffa223 100644 --- a/server/schema/resources/aws-ec2-networkinsightsaccessscope.json +++ b/server/schema/resources/aws-ec2-networkinsightsaccessscope.json @@ -195,6 +195,17 @@ } }, "additionalProperties": false, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "ec2:CreateTags", + "ec2:DeleteTags" + ] + }, "readOnlyProperties": [ "/properties/NetworkInsightsAccessScopeId", "/properties/NetworkInsightsAccessScopeArn", diff --git a/server/schema/resources/aws-ec2-networkinsightspath.json b/server/schema/resources/aws-ec2-networkinsightspath.json index 48009ea3..550b3f1e 100644 --- a/server/schema/resources/aws-ec2-networkinsightspath.json +++ b/server/schema/resources/aws-ec2-networkinsightspath.json @@ -117,6 +117,17 @@ } }, "additionalProperties": false, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "ec2:CreateTags", + "ec2:DeleteTags" + ] + }, "required": [ "Protocol", "Source" diff --git a/server/schema/resources/aws-ec2-networkinterface.json b/server/schema/resources/aws-ec2-networkinterface.json index 82870a38..7bd6a598 100644 --- a/server/schema/resources/aws-ec2-networkinterface.json +++ b/server/schema/resources/aws-ec2-networkinterface.json @@ -1,9 +1,184 @@ { - "typeName": "AWS::EC2::NetworkInterface", + "tagging": { + "permissions": [ + "ec2:CreateTags", + "ec2:DeleteTags" + ], + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": true + }, "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", + "typeName": "AWS::EC2::NetworkInterface", + "readOnlyProperties": [ + "/properties/Id", + "/properties/SecondaryPrivateIpAddresses", + "/properties/PrimaryPrivateIpAddress", + "/properties/PrimaryIpv6Address", + "/properties/VpcId" + ], "description": "The AWS::EC2::NetworkInterface resource creates network interface", + "createOnlyProperties": [ + "/properties/PrivateIpAddress", + "/properties/InterfaceType", + "/properties/SubnetId" + ], + "primaryIdentifier": [ + "/properties/Id" + ], + "required": [ + "SubnetId" + ], + "conditionalCreateOnlyProperties": [ + "/properties/PrivateIpAddresses", + "/properties/EnablePrimaryIpv6", + "/properties/ConnectionTrackingSpecification" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2/networkinterface", + "handlers": { + "read": { + "permissions": [ + "ec2:DescribeNetworkInterfaces" + ] + }, + "create": { + "permissions": [ + "ec2:CreateNetworkInterface", + "ec2:DescribeNetworkInterfaces", + "ec2:CreateTags", + "ec2:ModifyNetworkInterfaceAttribute", + "ec2:ModifyPublicIpDnsNameOptions" + ] + }, + "update": { + "permissions": [ + "ec2:DescribeNetworkInterfaces", + "ec2:ModifyNetworkInterfaceAttribute", + "ec2:UnassignIpv6Addresses", + "ec2:AssignIpv6Addresses", + "ec2:DeleteTags", + "ec2:CreateTags", + "ec2:UnassignPrivateIpAddresses", + "ec2:AssignPrivateIpAddresses", + "ec2:ModifyPublicIpDnsNameOptions" + ] + }, + "list": { + "permissions": [ + "ec2:DescribeNetworkInterfaces" + ] + }, + "delete": { + "permissions": [ + "ec2:DescribeNetworkInterfaces", + "ec2:DeleteNetworkInterface" + ] + } + }, "additionalProperties": false, + "definitions": { + "PrivateIpAddressSpecification": { + "additionalProperties": false, + "type": "object", + "properties": { + "PrivateIpAddress": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Primary": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + } + }, + "required": [ + "PrivateIpAddress", + "Primary" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Ipv4PrefixSpecification": { + "additionalProperties": false, + "type": "object", + "properties": { + "Ipv4Prefix": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Ipv4Prefix" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "InstanceIpv6Address": { + "additionalProperties": false, + "type": "object", + "properties": { + "Ipv6Address": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Ipv6Address" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Ipv6PrefixSpecification": { + "additionalProperties": false, + "type": "object", + "properties": { + "Ipv6Prefix": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Ipv6Prefix" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tag": { + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Key": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Value", + "Key" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ConnectionTrackingSpecification": { + "additionalProperties": false, + "type": "object", + "properties": { + "UdpTimeout": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "TcpEstablishedTimeout": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "UdpStreamTimeout": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, "properties": { "Description": { "description": "A description for the network interface.", @@ -16,10 +191,10 @@ "markdownDescription": "Assigns a single private IP address to the network interface, which is used as the primary private IP address. If you want to specify multiple private IP address, use the PrivateIpAddresses property. \n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "PrivateIpAddresses": { - "description": "Assigns a list of private IP addresses to the network interface. You can specify a primary private IP address by setting the value of the Primary property to true in the PrivateIpAddressSpecification property. If you want EC2 to automatically assign private IP addresses, use the SecondaryPrivateIpAddressCount property and do not specify this property.", - "type": "array", "uniqueItems": false, + "description": "Assigns a list of private IP addresses to the network interface. You can specify a primary private IP address by setting the value of the Primary property to true in the PrivateIpAddressSpecification property. If you want EC2 to automatically assign private IP addresses, use the SecondaryPrivateIpAddressCount property and do not specify this property.", "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/PrivateIpAddressSpecification" }, @@ -30,11 +205,16 @@ "type": "integer", "markdownDescription": "The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't specify this option and specify more than one private IP address using privateIpAddresses\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "Ipv6PrefixCount": { + "description": "The number of IPv6 prefixes to assign to a network interface. When you specify a number of IPv6 prefixes, Amazon EC2 selects these prefixes from your existing subnet CIDR reservations, if available, or from free spaces in the subnet. By default, these will be /80 prefixes. You can't specify a count of IPv6 prefixes if you've specified one of the following: specific IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.", + "type": "integer", + "markdownDescription": "The number of IPv6 prefixes to assign to a network interface. When you specify a number of IPv6 prefixes, Amazon EC2 selects these prefixes from your existing subnet CIDR reservations, if available, or from free spaces in the subnet. By default, these will be /80 prefixes. You can't specify a count of IPv6 prefixes if you've specified one of the following: specific IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, "Ipv4Prefixes": { - "description": "Assigns a list of IPv4 prefixes to the network interface. If you want EC2 to automatically assign IPv4 prefixes, use the Ipv4PrefixCount property and do not specify this property. Presently, only /28 prefixes are supported. You can't specify IPv4 prefixes if you've specified one of the following: a count of IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.", - "type": "array", "uniqueItems": false, + "description": "Assigns a list of IPv4 prefixes to the network interface. If you want EC2 to automatically assign IPv4 prefixes, use the Ipv4PrefixCount property and do not specify this property. Presently, only /28 prefixes are supported. You can't specify IPv4 prefixes if you've specified one of the following: a count of IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.", "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/Ipv4PrefixSpecification" }, @@ -45,11 +225,16 @@ "type": "integer", "markdownDescription": "The number of IPv4 prefixes to assign to a network interface. When you specify a number of IPv4 prefixes, Amazon EC2 selects these prefixes from your existing subnet CIDR reservations, if available, or from free spaces in the subnet. By default, these will be /28 prefixes. You can't specify a count of IPv4 prefixes if you've specified one of the following: specific IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "EnablePrimaryIpv6": { + "description": "If you have instances or ENIs that rely on the IPv6 address not changing, to avoid disrupting traffic to instances or ENIs, you can enable a primary IPv6 address. Enable this option to automatically assign an IPv6 associated with the ENI attached to your instance to be the primary IPv6 address. When you enable an IPv6 address to be a primary IPv6, you cannot disable it. Traffic will be routed to the primary IPv6 address until the instance is terminated or the ENI is detached. If you have multiple IPv6 addresses associated with an ENI and you enable a primary IPv6 address, the first IPv6 address associated with the ENI becomes the primary IPv6 address.", + "type": "boolean", + "markdownDescription": "If you have instances or ENIs that rely on the IPv6 address not changing, to avoid disrupting traffic to instances or ENIs, you can enable a primary IPv6 address. Enable this option to automatically assign an IPv6 associated with the ENI attached to your instance to be the primary IPv6 address. When you enable an IPv6 address to be a primary IPv6, you cannot disable it. Traffic will be routed to the primary IPv6 address until the instance is terminated or the ENI is detached. If you have multiple IPv6 addresses associated with an ENI and you enable a primary IPv6 address, the first IPv6 address associated with the ENI becomes the primary IPv6 address.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Some interruptions" + }, "GroupSet": { - "description": "A list of security group IDs associated with this network interface.", - "type": "array", "uniqueItems": false, + "description": "A list of security group IDs associated with this network interface.", "insertionOrder": false, + "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" @@ -57,30 +242,25 @@ "markdownDescription": "A list of security group IDs associated with this network interface.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Ipv6Addresses": { - "description": "One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet to associate with the network interface. If you're specifying a number of IPv6 addresses, use the Ipv6AddressCount property and don't specify this property.", - "type": "array", "uniqueItems": true, + "description": "One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet to associate with the network interface. If you're specifying a number of IPv6 addresses, use the Ipv6AddressCount property and don't specify this property.", "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/InstanceIpv6Address" }, "markdownDescription": "One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet to associate with the network interface. If you're specifying a number of IPv6 addresses, use the Ipv6AddressCount property and don't specify this property.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Ipv6Prefixes": { - "description": "Assigns a list of IPv6 prefixes to the network interface. If you want EC2 to automatically assign IPv6 prefixes, use the Ipv6PrefixCount property and do not specify this property. Presently, only /80 prefixes are supported. You can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.", - "type": "array", "uniqueItems": false, + "description": "Assigns a list of IPv6 prefixes to the network interface. If you want EC2 to automatically assign IPv6 prefixes, use the Ipv6PrefixCount property and do not specify this property. Presently, only /80 prefixes are supported. You can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.", "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/Ipv6PrefixSpecification" }, "markdownDescription": "Assigns a list of IPv6 prefixes to the network interface. If you want EC2 to automatically assign IPv6 prefixes, use the Ipv6PrefixCount property and do not specify this property. Presently, only /80 prefixes are supported. You can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Ipv6PrefixCount": { - "description": "The number of IPv6 prefixes to assign to a network interface. When you specify a number of IPv6 prefixes, Amazon EC2 selects these prefixes from your existing subnet CIDR reservations, if available, or from free spaces in the subnet. By default, these will be /80 prefixes. You can't specify a count of IPv6 prefixes if you've specified one of the following: specific IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.", - "type": "integer", - "markdownDescription": "The number of IPv6 prefixes to assign to a network interface. When you specify a number of IPv6 prefixes, Amazon EC2 selects these prefixes from your existing subnet CIDR reservations, if available, or from free spaces in the subnet. By default, these will be /80 prefixes. You can't specify a count of IPv6 prefixes if you've specified one of the following: specific IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, "SubnetId": { "description": "The ID of the subnet to associate with the network interface.", "type": "string", @@ -101,219 +281,51 @@ "type": "integer", "markdownDescription": "The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. To specify specific IPv6 addresses, use the Ipv6Addresses property and don't specify this property.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "EnablePrimaryIpv6": { - "description": "If you have instances or ENIs that rely on the IPv6 address not changing, to avoid disrupting traffic to instances or ENIs, you can enable a primary IPv6 address. Enable this option to automatically assign an IPv6 associated with the ENI attached to your instance to be the primary IPv6 address. When you enable an IPv6 address to be a primary IPv6, you cannot disable it. Traffic will be routed to the primary IPv6 address until the instance is terminated or the ENI is detached. If you have multiple IPv6 addresses associated with an ENI and you enable a primary IPv6 address, the first IPv6 address associated with the ENI becomes the primary IPv6 address.", - "type": "boolean", - "markdownDescription": "If you have instances or ENIs that rely on the IPv6 address not changing, to avoid disrupting traffic to instances or ENIs, you can enable a primary IPv6 address. Enable this option to automatically assign an IPv6 associated with the ENI attached to your instance to be the primary IPv6 address. When you enable an IPv6 address to be a primary IPv6, you cannot disable it. Traffic will be routed to the primary IPv6 address until the instance is terminated or the ENI is detached. If you have multiple IPv6 addresses associated with an ENI and you enable a primary IPv6 address, the first IPv6 address associated with the ENI becomes the primary IPv6 address.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Some interruptions" - }, - "ConnectionTrackingSpecification": { - "$ref": "#/definitions/ConnectionTrackingSpecification" - }, "Tags": { - "description": "An arbitrary set of tags (key-value pairs) for this network interface.", - "type": "array", "uniqueItems": false, + "description": "An arbitrary set of tags (key-value pairs) for this network interface.", "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/Tag" }, "markdownDescription": "An arbitrary set of tags (key-value pairs) for this network interface.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - } - }, - "definitions": { - "PrivateIpAddressSpecification": { - "type": "object", - "additionalProperties": false, - "properties": { - "PrivateIpAddress": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "Primary": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" - } - }, - "required": [ - "PrivateIpAddress", - "Primary" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "InstanceIpv6Address": { - "type": "object", - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - } - }, - "required": [ - "Ipv6Address" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Ipv4PrefixSpecification": { - "type": "object", - "additionalProperties": false, - "properties": { - "Ipv4Prefix": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - } - }, - "required": [ - "Ipv4Prefix" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Ipv6PrefixSpecification": { - "type": "object", - "additionalProperties": false, - "properties": { - "Ipv6Prefix": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - } - }, - "required": [ - "Ipv6Prefix" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ConnectionTrackingSpecification": { - "type": "object", - "additionalProperties": false, - "properties": { - "TcpEstablishedTimeout": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "UdpStreamTimeout": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "UdpTimeout": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Tag": { - "type": "object", - "additionalProperties": false, - "properties": { - "Value": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "Key": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - } - }, - "required": [ - "Value", - "Key" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - } - }, - "required": [ - "SubnetId" - ], - "createOnlyProperties": [ - "/properties/PrivateIpAddress", - "/properties/InterfaceType", - "/properties/SubnetId" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "readOnlyProperties": [ - "/properties/Id", - "/properties/SecondaryPrivateIpAddresses", - "/properties/PrimaryPrivateIpAddress", - "/properties/PrimaryIpv6Address", - "/properties/VpcId" - ], - "conditionalCreateOnlyProperties": [ - "/properties/PrivateIpAddresses", - "/properties/EnablePrimaryIpv6", - "/properties/ConnectionTrackingSpecification" - ], - "taggable": true, - "handlers": { - "create": { - "permissions": [ - "ec2:CreateNetworkInterface", - "ec2:DescribeNetworkInterfaces", - "ec2:CreateTags", - "ec2:ModifyNetworkInterfaceAttribute" - ] - }, - "delete": { - "permissions": [ - "ec2:DescribeNetworkInterfaces", - "ec2:DeleteNetworkInterface" - ] - }, - "list": { - "permissions": [ - "ec2:DescribeNetworkInterfaces" - ] - }, - "read": { - "permissions": [ - "ec2:DescribeNetworkInterfaces" - ] - }, - "update": { - "permissions": [ - "ec2:DescribeNetworkInterfaces", - "ec2:ModifyNetworkInterfaceAttribute", - "ec2:UnassignIpv6Addresses", - "ec2:AssignIpv6Addresses", - "ec2:DeleteTags", - "ec2:CreateTags", - "ec2:UnassignPrivateIpAddresses", - "ec2:AssignPrivateIpAddresses" - ] + "$ref": "#/definitions/ConnectionTrackingSpecification" } }, "attributes": { + "PrimaryIpv6Address": { + "description": "The primary IPv6 address", + "type": "string", + "markdownDescription": "The primary IPv6 address\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "PrimaryPrivateIpAddress": { "description": "Returns the primary private IP address of the network interface.", "type": "string", "markdownDescription": "Returns the primary private IP address of the network interface.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "SecondaryPrivateIpAddresses": { - "description": "Returns the secondary private IP addresses of the network interface.", - "type": "array", "uniqueItems": false, + "description": "Returns the secondary private IP addresses of the network interface.", "insertionOrder": false, + "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "markdownDescription": "Returns the secondary private IP addresses of the network interface.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "PrimaryIpv6Address": { - "description": "The primary IPv6 address", + "VpcId": { + "description": "The ID of the VPC", "type": "string", - "markdownDescription": "The primary IPv6 address\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ID of the VPC\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Id": { "description": "Network interface id.", "type": "string", "markdownDescription": "Network interface id.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "VpcId": { - "description": "The ID of the VPC", - "type": "string", - "markdownDescription": "The ID of the VPC\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-ec2-securitygroupvpcassociation.json b/server/schema/resources/aws-ec2-securitygroupvpcassociation.json new file mode 100644 index 00000000..d34dfca1 --- /dev/null +++ b/server/schema/resources/aws-ec2-securitygroupvpcassociation.json @@ -0,0 +1,93 @@ +{ + "typeName": "AWS::EC2::SecurityGroupVpcAssociation", + "description": "Resource type definition for the AWS::EC2::SecurityGroupVpcAssociation resource", + "definitions": { + "SecurityGroupVpcAssociationState": { + "type": "string", + "additionalProperties": false, + "enum": [ + "associating", + "associated", + "association-failed", + "disassociating", + "disassociated", + "disassociation-failed" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: associating | associated | association-failed | disassociating | disassociated | disassociation-failed \nUpdate requires: No interruption" + } + }, + "properties": { + "GroupId": { + "description": "The group ID of the specified security group.", + "type": "string", + "markdownDescription": "The group ID of the specified security group.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "VpcId": { + "description": "The ID of the VPC in the security group vpc association.", + "type": "string", + "markdownDescription": "The ID of the VPC in the security group vpc association.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + } + }, + "additionalProperties": false, + "tagging": { + "taggable": false + }, + "required": [ + "GroupId", + "VpcId" + ], + "createOnlyProperties": [ + "/properties/GroupId", + "/properties/VpcId" + ], + "readOnlyProperties": [ + "/properties/VpcOwnerId", + "/properties/State", + "/properties/StateReason" + ], + "primaryIdentifier": [ + "/properties/GroupId", + "/properties/VpcId" + ], + "handlers": { + "create": { + "permissions": [ + "ec2:AssociateSecurityGroupVpc", + "ec2:DescribeSecurityGroupVpcAssociations" + ] + }, + "read": { + "permissions": [ + "ec2:DescribeSecurityGroupVpcAssociations" + ] + }, + "delete": { + "permissions": [ + "ec2:DisassociateSecurityGroupVpc", + "ec2:DescribeSecurityGroupVpcAssociations" + ] + }, + "list": { + "permissions": [ + "ec2:DescribeSecurityGroupVpcAssociations" + ] + } + }, + "attributes": { + "VpcOwnerId": { + "description": "The owner of the VPC in the security group vpc association.", + "type": "string", + "markdownDescription": "The owner of the VPC in the security group vpc association.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "State": { + "description": "The state of the security group vpc association.", + "$ref": "#/definitions/SecurityGroupVpcAssociationState", + "markdownDescription": "The state of the security group vpc association.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "StateReason": { + "description": "The reason for the state of the security group vpc association.", + "type": "string", + "markdownDescription": "The reason for the state of the security group vpc association.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-ec2-spotfleet.json b/server/schema/resources/aws-ec2-spotfleet.json index 8c15afbe..fd3036a1 100644 --- a/server/schema/resources/aws-ec2-spotfleet.json +++ b/server/schema/resources/aws-ec2-spotfleet.json @@ -752,9 +752,10 @@ "enum": [ "intel", "amd", - "amazon-web-services" + "amazon-web-services", + "apple" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: intel | amd | amazon-web-services \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: intel | amd | amazon-web-services | apple \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, @@ -922,6 +923,9 @@ }, "AcceleratorTotalMemoryMiB": { "$ref": "#/definitions/AcceleratorTotalMemoryMiBRequest" + }, + "BaselinePerformanceFactors": { + "$ref": "#/definitions/BaselinePerformanceFactorsRequest" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -1060,6 +1064,42 @@ } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "BaselinePerformanceFactorsRequest": { + "type": "object", + "additionalProperties": false, + "properties": { + "Cpu": { + "$ref": "#/definitions/CpuPerformanceFactorRequest" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CpuPerformanceFactorRequest": { + "type": "object", + "additionalProperties": false, + "properties": { + "References": { + "type": "array", + "uniqueItems": false, + "items": { + "$ref": "#/definitions/PerformanceFactorReferenceRequest" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PerformanceFactorReferenceRequest": { + "type": "object", + "additionalProperties": false, + "properties": { + "InstanceFamily": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-ec2-transitgatewayroutetable.json b/server/schema/resources/aws-ec2-transitgatewayroutetable.json index 039a02e6..8d9a2dcb 100644 --- a/server/schema/resources/aws-ec2-transitgatewayroutetable.json +++ b/server/schema/resources/aws-ec2-transitgatewayroutetable.json @@ -1,9 +1,14 @@ { "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transitgateway.git", "tagging": { + "permissions": [ + "ec2:CreateTags", + "ec2:DeleteTags" + ], "taggable": true, "tagOnCreate": true, - "tagUpdatable": false, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", "cloudFormationSystemTags": false }, "handlers": { @@ -19,6 +24,13 @@ "ec2:DescribeTransitGatewayRouteTables" ] }, + "update": { + "permissions": [ + "ec2:DescribeTransitGatewayRouteTables", + "ec2:CreateTags", + "ec2:DeleteTags" + ] + }, "list": { "permissions": [ "ec2:DescribeTransitGatewayRouteTables" @@ -39,8 +51,7 @@ ], "description": "Resource Type definition for AWS::EC2::TransitGatewayRouteTable", "createOnlyProperties": [ - "/properties/TransitGatewayId", - "/properties/Tags" + "/properties/TransitGatewayId" ], "additionalProperties": false, "primaryIdentifier": [ @@ -83,7 +94,7 @@ "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Tags are composed of a Key/Value pair. You can use tags to categorize and track each parameter group. The tag value null is permitted.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + "markdownDescription": "Tags are composed of a Key/Value pair. You can use tags to categorize and track each parameter group. The tag value null is permitted.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-ec2-verifiedaccessendpoint.json b/server/schema/resources/aws-ec2-verifiedaccessendpoint.json index 230edd71..f36c2af6 100644 --- a/server/schema/resources/aws-ec2-verifiedaccessendpoint.json +++ b/server/schema/resources/aws-ec2-verifiedaccessendpoint.json @@ -236,15 +236,18 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "ec2:CreateTags", + "ec2:DescribeTags", + "ec2:DeleteTags" + ] }, "handlers": { "create": { "permissions": [ "ec2:CreateVerifiedAccessEndpoint", "ec2:DescribeVerifiedAccessEndpoints", - "ec2:CreateTags", - "ec2:DescribeTags", "iam:CreateServiceLinkedRole", "iam:ListRoles", "acm:GetCertificateWithPK", @@ -261,8 +264,9 @@ "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeListenerCertificates", + "ec2:CreateTags", + "ec2:DescribeTags", "acm:DeleteCertificateRelation", - "ec2:DeleteTags", "ec2:DeleteVerifiedAccessEndpoint", "ec2:GetVerifiedAccessEndpointPolicy", "ec2:ModifyVerifiedAccessEndpoint", @@ -285,9 +289,7 @@ "acm:DeleteCertificateRelation", "acm:DescribeCertificate", "acm:GetCertificateWithPK", - "ec2:CreateTags", "ec2:CreateVerifiedAccessEndpoint", - "ec2:DeleteTags", "ec2:DeleteVerifiedAccessEndpoint", "ec2:DescribeAccountAttributes", "ec2:DescribeNetworkInterfaces", @@ -318,9 +320,6 @@ "ec2:ModifyVerifiedAccessEndpointPolicy", "ec2:DescribeVerifiedAccessEndpoints", "ec2:GetVerifiedAccessEndpointPolicy", - "ec2:DescribeTags", - "ec2:DeleteTags", - "ec2:CreateTags", "acm:GetCertificateWithPK", "acm:DescribeCertificate", "acm:CreateCertificateRelation", @@ -337,6 +336,9 @@ "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeListenerCertificates", + "ec2:DescribeTags", + "ec2:DeleteTags", + "ec2:CreateTags", "ec2:CreateVerifiedAccessEndpoint", "ec2:DeleteVerifiedAccessEndpoint", "iam:CreateServiceLinkedRole", @@ -352,15 +354,14 @@ "delete": { "permissions": [ "ec2:DescribeVerifiedAccessEndpoints", - "ec2:DescribeTags", "ec2:DeleteVerifiedAccessEndpoint", + "ec2:DescribeTags", "ec2:DeleteTags", "sso:DeleteManagedApplicationInstance", "acm:DeleteCertificateRelation", "acm:DescribeCertificate", "acm:CreateCertificateRelation", "acm:GetCertificateWithPK", - "ec2:CreateTags", "ec2:CreateVerifiedAccessEndpoint", "ec2:DescribeAccountAttributes", "ec2:DescribeNetworkInterfaces", @@ -394,9 +395,7 @@ "acm:DeleteCertificateRelation", "acm:DescribeCertificate", "acm:GetCertificateWithPK", - "ec2:CreateTags", "ec2:CreateVerifiedAccessEndpoint", - "ec2:DeleteTags", "ec2:DeleteVerifiedAccessEndpoint", "ec2:DescribeAccountAttributes", "ec2:DescribeNetworkInterfaces", diff --git a/server/schema/resources/aws-ec2-verifiedaccessgroup.json b/server/schema/resources/aws-ec2-verifiedaccessgroup.json index 73b1b56c..3834c4b5 100644 --- a/server/schema/resources/aws-ec2-verifiedaccessgroup.json +++ b/server/schema/resources/aws-ec2-verifiedaccessgroup.json @@ -104,7 +104,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "ec2:CreateTags", + "ec2:DescribeTags", + "ec2:DeleteTags" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-ec2-verifiedaccessinstance.json b/server/schema/resources/aws-ec2-verifiedaccessinstance.json index 3bd93e99..9a19cdb7 100644 --- a/server/schema/resources/aws-ec2-verifiedaccessinstance.json +++ b/server/schema/resources/aws-ec2-verifiedaccessinstance.json @@ -211,7 +211,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "ec2:CreateTags", + "ec2:DescribeTags", + "ec2:DeleteTags" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-ec2-verifiedaccesstrustprovider.json b/server/schema/resources/aws-ec2-verifiedaccesstrustprovider.json index b88487b6..d61e9704 100644 --- a/server/schema/resources/aws-ec2-verifiedaccesstrustprovider.json +++ b/server/schema/resources/aws-ec2-verifiedaccesstrustprovider.json @@ -182,7 +182,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "ec2:CreateTags", + "ec2:DescribeTags", + "ec2:DeleteTags" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-ec2-volume.json b/server/schema/resources/aws-ec2-volume.json index e90dda95..3cb10def 100644 --- a/server/schema/resources/aws-ec2-volume.json +++ b/server/schema/resources/aws-ec2-volume.json @@ -1,167 +1,173 @@ { + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2.git", + "tagging": { + "permissions": [ + "ec2:CreateTags", + "ec2:DeleteTags", + "ec2:DescribeTags" + ], + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": false + }, + "handlers": { + "read": { + "permissions": [ + "ec2:DescribeVolumes", + "ec2:DescribeVolumeAttribute", + "ec2:DescribeTags" + ] + }, + "create": { + "permissions": [ + "ec2:CreateVolume", + "ec2:DescribeVolumes", + "ec2:DescribeVolumeAttribute", + "ec2:ModifyVolumeAttribute", + "ec2:CreateTags", + "kms:GenerateDataKeyWithoutPlaintext", + "kms:CreateGrant" + ], + "timeoutInMinutes": 725 + }, + "update": { + "permissions": [ + "ec2:ModifyVolume", + "ec2:ModifyVolumeAttribute", + "ec2:DescribeVolumeAttribute", + "ec2:DescribeVolumesModifications", + "ec2:DescribeVolumes", + "ec2:CreateTags", + "ec2:DeleteTags" + ], + "timeoutInMinutes": 2160 + }, + "list": { + "permissions": [ + "ec2:DescribeVolumes", + "ec2:DescribeTags", + "ec2:DescribeVolumeAttribute" + ] + }, + "delete": { + "permissions": [ + "ec2:DeleteVolume", + "ec2:CreateSnapshot", + "ec2:DescribeSnapshots", + "ec2:DeleteTags", + "ec2:DescribeVolumes" + ] + } + }, "typeName": "AWS::EC2::Volume", + "readOnlyProperties": [ + "/properties/VolumeId" + ], "description": "Specifies an Amazon Elastic Block Store (Amazon EBS) volume.\n When you use CFNlong to update an Amazon EBS volume that modifies ``Iops``, ``Size``, or ``VolumeType``, there is a cooldown period before another operation can occur. This can cause your stack to report being in ``UPDATE_IN_PROGRESS`` or ``UPDATE_ROLLBACK_IN_PROGRESS`` for long periods of time.\n Amazon EBS does not support sizing down an Amazon EBS volume. CFNlong does not attempt to modify an Amazon EBS volume to a smaller size on rollback.\n Some common scenarios when you might encounter a cooldown period for Amazon EBS include:\n + You successfully update an Amazon EBS volume and the update succeeds. When you attempt another update within the cooldown window, that update will be subject to a cooldown period.\n + You successfully update an Amazon EBS volume and the update succeeds but another change in your ``update-stack`` call fails. The rollback will be subject to a cooldown period.\n \n For more information, see [Requirements for EBS volume modifications](https://docs.aws.amazon.com/ebs/latest/userguide/modify-volume-requirements.html).\n *DeletionPolicy attribute* \n To control how CFNlong handles the volume when the stack is deleted, set a deletion policy for your volume. You can choose to retain the volume, to delete the volume, or to create a snapshot of the volume. For more information, see [DeletionPolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).\n If you set a deletion policy that creates a snapshot, all tags on the volume are included in the snapshot.", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2.git", "additionalProperties": false, + "primaryIdentifier": [ + "/properties/VolumeId" + ], + "definitions": { + "Tag": { + "description": "Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).", + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "description": "The tag value.", + "type": "string", + "markdownDescription": "The tag value.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Key": { + "description": "The tag key.", + "type": "string", + "markdownDescription": "The tag key.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Value", + "Key" + ], + "markdownDescription": "Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, "properties": { "MultiAttachEnabled": { - "type": "boolean", "description": "Indicates whether Amazon EBS Multi-Attach is enabled.\n CFNlong does not currently support updating a single-attach volume to be multi-attach enabled, updating a multi-attach enabled volume to be single-attach, or updating the size or number of I/O operations per second (IOPS) of a multi-attach enabled volume.", + "type": "boolean", "markdownDescription": "Indicates whether Amazon EBS Multi-Attach is enabled.\n CFNlong does not currently support updating a single-attach volume to be multi-attach enabled, updating a multi-attach enabled volume to be single-attach, or updating the size or number of I/O operations per second (IOPS) of a multi-attach enabled volume.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "KmsKeyId": { - "type": "string", "description": "The identifier of the kms-key-long to use for Amazon EBS encryption. If ``KmsKeyId`` is specified, the encrypted state must be ``true``.\n If you omit this property and your account is enabled for encryption by default, or *Encrypted* is set to ``true``, then the volume is encrypted using the default key specified for your account. If your account does not have a default key, then the volume is encrypted using the aws-managed-key.\n Alternatively, if you want to specify a different key, you can specify one of the following:\n + Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.\n + Key alias. Specify the alias for the key, prefixed with ``alias/``. For example, for a key with the alias ``my_cmk``, use ``alias/my_cmk``. Or to specify the aws-managed-key, use ``alias/aws/ebs``.\n + Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.\n + Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.", + "type": "string", "markdownDescription": "The identifier of the kms-key-long to use for Amazon EBS encryption. If ``KmsKeyId`` is specified, the encrypted state must be ``true``.\n If you omit this property and your account is enabled for encryption by default, or *Encrypted* is set to ``true``, then the volume is encrypted using the default key specified for your account. If your account does not have a default key, then the volume is encrypted using the aws-managed-key.\n Alternatively, if you want to specify a different key, you can specify one of the following:\n + Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.\n + Key alias. Specify the alias for the key, prefixed with ``alias/``. For example, for a key with the alias ``my_cmk``, use ``alias/my_cmk``. Or to specify the aws-managed-key, use ``alias/aws/ebs``.\n + Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.\n + Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Encrypted": { - "type": "boolean", "description": "Indicates whether the volume should be encrypted. The effect of setting the encryption state to ``true`` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Encryption by default](https://docs.aws.amazon.com/ebs/latest/userguide/work-with-ebs-encr.html#encryption-by-default) in the *Amazon EBS User Guide*.\n Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see [Supported instance types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances).", + "type": "boolean", "markdownDescription": "Indicates whether the volume should be encrypted. The effect of setting the encryption state to ``true`` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Encryption by default](https://docs.aws.amazon.com/ebs/latest/userguide/work-with-ebs-encr.html#encryption-by-default) in the *Amazon EBS User Guide*.\n Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see [Supported instance types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances).\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "Size": { - "type": "integer", "description": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.\n The following are the supported volumes sizes for each volume type:\n + ``gp2`` and ``gp3``: 1 - 16,384 GiB\n + ``io1``: 4 - 16,384 GiB\n + ``io2``: 4 - 65,536 GiB\n + ``st1`` and ``sc1``: 125 - 16,384 GiB\n + ``standard``: 1 - 1024 GiB", + "type": "integer", "markdownDescription": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.\n The following are the supported volumes sizes for each volume type:\n + ``gp2`` and ``gp3``: 1 - 16,384 GiB\n + ``io1``: 4 - 16,384 GiB\n + ``io2``: 4 - 65,536 GiB\n + ``st1`` and ``sc1``: 125 - 16,384 GiB\n + ``standard``: 1 - 1024 GiB\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "AutoEnableIO": { - "type": "boolean", "description": "Indicates whether the volume is auto-enabled for I/O operations. By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O.", + "type": "boolean", "markdownDescription": "Indicates whether the volume is auto-enabled for I/O operations. By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "OutpostArn": { - "type": "string", "description": "The Amazon Resource Name (ARN) of the Outpost.", + "type": "string", "markdownDescription": "The Amazon Resource Name (ARN) of the Outpost.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AvailabilityZone": { - "type": "string", "description": "The ID of the Availability Zone in which to create the volume. For example, ``us-east-1a``.", + "type": "string", "markdownDescription": "The ID of the Availability Zone in which to create the volume. For example, ``us-east-1a``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Throughput": { - "type": "integer", "description": "The throughput to provision for a volume, with a maximum of 1,000 MiB/s.\n This parameter is valid only for ``gp3`` volumes. The default value is 125.\n Valid Range: Minimum value of 125. Maximum value of 1000.", + "type": "integer", "markdownDescription": "The throughput to provision for a volume, with a maximum of 1,000 MiB/s.\n This parameter is valid only for ``gp3`` volumes. The default value is 125.\n Valid Range: Minimum value of 125. Maximum value of 1000.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Iops": { - "type": "integer", "description": "The number of I/O operations per second (IOPS). For ``gp3``, ``io1``, and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.\n The following are the supported values for each volume type:\n + ``gp3``: 3,000 - 16,000 IOPS\n + ``io1``: 100 - 64,000 IOPS\n + ``io2``: 100 - 256,000 IOPS\n \n For ``io2`` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html). On other instances, you can achieve performance up to 32,000 IOPS.\n This parameter is required for ``io1`` and ``io2`` volumes. The default for ``gp3`` volumes is 3,000 IOPS. This parameter is not supported for ``gp2``, ``st1``, ``sc1``, or ``standard`` volumes.", + "type": "integer", "markdownDescription": "The number of I/O operations per second (IOPS). For ``gp3``, ``io1``, and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.\n The following are the supported values for each volume type:\n + ``gp3``: 3,000 - 16,000 IOPS\n + ``io1``: 100 - 64,000 IOPS\n + ``io2``: 100 - 256,000 IOPS\n \n For ``io2`` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html). On other instances, you can achieve performance up to 32,000 IOPS.\n This parameter is required for ``io1`` and ``io2`` volumes. The default for ``gp3`` volumes is 3,000 IOPS. This parameter is not supported for ``gp2``, ``st1``, ``sc1``, or ``standard`` volumes.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "SnapshotId": { - "type": "string", "description": "The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.", + "type": "string", "markdownDescription": "The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "VolumeType": { - "type": "string", "description": "The volume type. This parameter can be one of the following values:\n + General Purpose SSD: ``gp2`` | ``gp3`` \n + Provisioned IOPS SSD: ``io1`` | ``io2`` \n + Throughput Optimized HDD: ``st1`` \n + Cold HDD: ``sc1`` \n + Magnetic: ``standard`` \n \n For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html).\n Default: ``gp2``", + "type": "string", "markdownDescription": "The volume type. This parameter can be one of the following values:\n + General Purpose SSD: ``gp2`` | ``gp3`` \n + Provisioned IOPS SSD: ``io1`` | ``io2`` \n + Throughput Optimized HDD: ``st1`` \n + Cold HDD: ``sc1`` \n + Magnetic: ``standard`` \n \n For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html).\n Default: ``gp2``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Tags": { - "type": "array", "uniqueItems": false, "description": "The tags to apply to the volume during creation.", "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/Tag" }, "markdownDescription": "The tags to apply to the volume during creation.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "definitions": { - "Tag": { - "type": "object", - "additionalProperties": false, - "properties": { - "Key": { - "description": "The tag key.", - "type": "string", - "markdownDescription": "The tag key.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "Value": { - "description": "The tag value.", - "type": "string", - "markdownDescription": "The tag value.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - } - }, - "required": [ - "Value", - "Key" - ], - "description": "Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).", - "markdownDescription": "Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" - } - }, - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" - }, - "handlers": { - "create": { - "permissions": [ - "ec2:CreateVolume", - "ec2:DescribeVolumes", - "ec2:DescribeVolumeAttribute", - "ec2:ModifyVolumeAttribute", - "ec2:CreateTags", - "kms:GenerateDataKeyWithoutPlaintext", - "kms:CreateGrant" - ] - }, - "read": { - "permissions": [ - "ec2:DescribeVolumes", - "ec2:DescribeVolumeAttribute", - "ec2:DescribeTags" - ] - }, - "update": { - "permissions": [ - "ec2:ModifyVolume", - "ec2:ModifyVolumeAttribute", - "ec2:DescribeVolumeAttribute", - "ec2:DescribeVolumesModifications", - "ec2:DescribeVolumes", - "ec2:CreateTags", - "ec2:DeleteTags" - ], - "timeoutInMinutes": 2160 - }, - "delete": { - "permissions": [ - "ec2:DeleteVolume", - "ec2:CreateSnapshot", - "ec2:DescribeSnapshots", - "ec2:DeleteTags", - "ec2:DescribeVolumes" - ] - }, - "list": { - "permissions": [ - "ec2:DescribeVolumes", - "ec2:DescribeTags", - "ec2:DescribeVolumeAttribute" - ] - } - }, "required": [ "AvailabilityZone" ], - "primaryIdentifier": [ - "/properties/VolumeId" - ], - "readOnlyProperties": [ - "/properties/VolumeId" - ], "attributes": { "VolumeId": { - "type": "string", "description": "", + "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } diff --git a/server/schema/resources/aws-ec2-vpcblockpublicaccessexclusion.json b/server/schema/resources/aws-ec2-vpcblockpublicaccessexclusion.json new file mode 100644 index 00000000..4a5561e3 --- /dev/null +++ b/server/schema/resources/aws-ec2-vpcblockpublicaccessexclusion.json @@ -0,0 +1,141 @@ +{ + "typeName": "AWS::EC2::VPCBlockPublicAccessExclusion", + "description": "Resource Type definition for AWS::EC2::VPCBlockPublicAccessExclusion.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2-vpcblockpublicaccessexclusion.git", + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "ec2:CreateTags", + "ec2:DeleteTags" + ] + }, + "definitions": { + "Tag": { + "description": "A key-value pair to associate with a resource.", + "type": "object", + "properties": { + "Key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "InternetGatewayExclusionMode": { + "description": "The desired Block Public Access Exclusion Mode for a specific VPC/Subnet.", + "type": "string", + "enum": [ + "allow-bidirectional", + "allow-egress" + ], + "markdownDescription": "The desired Block Public Access Exclusion Mode for a specific VPC/Subnet.\n\n---\n\nRequired: Conditional \nType: String \nAllowed Values: allow-bidirectional | allow-egress \nUpdate requires: No interruption" + }, + "VpcId": { + "type": "string", + "description": "The ID of the vpc. Required only if you don't specify SubnetId.", + "markdownDescription": "The ID of the vpc. Required only if you don't specify SubnetId.\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: Replacement" + }, + "SubnetId": { + "type": "string", + "description": "The ID of the subnet. Required only if you don't specify VpcId", + "markdownDescription": "The ID of the subnet. Required only if you don't specify VpcId\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: Replacement" + }, + "Tags": { + "description": "An array of key-value pairs to apply to this resource.", + "type": "array", + "uniqueItems": false, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "oneOf": [ + { + "required": [ + "VpcId" + ] + }, + { + "required": [ + "SubnetId" + ] + } + ], + "required": [ + "InternetGatewayExclusionMode" + ], + "createOnlyProperties": [ + "/properties/VpcId", + "/properties/SubnetId" + ], + "readOnlyProperties": [ + "/properties/ExclusionId" + ], + "primaryIdentifier": [ + "/properties/ExclusionId" + ], + "handlers": { + "create": { + "permissions": [ + "ec2:DescribeVpcBlockPublicAccessExclusions", + "ec2:CreateVpcBlockPublicAccessExclusion", + "ec2:CreateTags" + ] + }, + "read": { + "permissions": [ + "ec2:DescribeVpcBlockPublicAccessExclusions" + ] + }, + "update": { + "permissions": [ + "ec2:DescribeVpcBlockPublicAccessExclusions", + "ec2:ModifyVpcBlockPublicAccessExclusion", + "ec2:CreateTags", + "ec2:DeleteTags" + ] + }, + "delete": { + "permissions": [ + "ec2:DescribeVpcBlockPublicAccessExclusions", + "ec2:DeleteVpcBlockPublicAccessExclusion" + ] + }, + "list": { + "permissions": [ + "ec2:DescribeVpcBlockPublicAccessExclusions" + ] + } + }, + "attributes": { + "ExclusionId": { + "type": "string", + "description": "The ID of the exclusion", + "markdownDescription": "The ID of the exclusion\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-ec2-vpcblockpublicaccessoptions.json b/server/schema/resources/aws-ec2-vpcblockpublicaccessoptions.json new file mode 100644 index 00000000..aad98b03 --- /dev/null +++ b/server/schema/resources/aws-ec2-vpcblockpublicaccessoptions.json @@ -0,0 +1,64 @@ +{ + "typeName": "AWS::EC2::VPCBlockPublicAccessOptions", + "description": "Resource Type definition for AWS::EC2::VPCBlockPublicAccessOptions", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2-vpcblockpublicaccessoptions.git", + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "properties": { + "InternetGatewayBlockMode": { + "description": "The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value", + "type": "string", + "enum": [ + "block-bidirectional", + "block-ingress" + ], + "markdownDescription": "The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: block-bidirectional | block-ingress \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "InternetGatewayBlockMode" + ], + "readOnlyProperties": [ + "/properties/AccountId" + ], + "primaryIdentifier": [ + "/properties/AccountId" + ], + "handlers": { + "create": { + "permissions": [ + "ec2:DescribeVpcBlockPublicAccessOptions", + "ec2:ModifyVpcBlockPublicAccessOptions" + ] + }, + "read": { + "permissions": [ + "ec2:DescribeVpcBlockPublicAccessOptions" + ] + }, + "update": { + "permissions": [ + "ec2:DescribeVpcBlockPublicAccessOptions", + "ec2:ModifyVpcBlockPublicAccessOptions" + ] + }, + "delete": { + "permissions": [ + "ec2:DescribeVpcBlockPublicAccessOptions", + "ec2:ModifyVpcBlockPublicAccessOptions" + ] + } + }, + "attributes": { + "AccountId": { + "type": "string", + "description": "The identifier for the specified AWS account.", + "markdownDescription": "The identifier for the specified AWS account.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-ec2-vpccidrblock.json b/server/schema/resources/aws-ec2-vpccidrblock.json index 45ab89fc..0652a44f 100644 --- a/server/schema/resources/aws-ec2-vpccidrblock.json +++ b/server/schema/resources/aws-ec2-vpccidrblock.json @@ -47,6 +47,11 @@ "type": "boolean", "description": "Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses, or the size of the CIDR block.", "markdownDescription": "Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses, or the size of the CIDR block.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + }, + "Ipv6CidrBlockNetworkBorderGroup": { + "type": "string", + "description": "The name of the location from which we advertise the IPV6 CIDR block.", + "markdownDescription": "The name of the location from which we advertise the IPV6 CIDR block.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" } }, "tagging": { @@ -64,7 +69,8 @@ "/properties/Ipv4IpamPoolId", "/properties/Ipv4NetmaskLength", "/properties/Ipv6IpamPoolId", - "/properties/Ipv6NetmaskLength" + "/properties/Ipv6NetmaskLength", + "/properties/Ipv6CidrBlockNetworkBorderGroup" ], "primaryIdentifier": [ "/properties/Id", diff --git a/server/schema/resources/aws-ec2-vpcendpoint.json b/server/schema/resources/aws-ec2-vpcendpoint.json index 555ba2f1..09b1d3ac 100644 --- a/server/schema/resources/aws-ec2-vpcendpoint.json +++ b/server/schema/resources/aws-ec2-vpcendpoint.json @@ -1,39 +1,68 @@ { "tagging": { - "taggable": false, - "tagOnCreate": false, - "tagUpdatable": false, + "permissions": [ + "ec2:CreateTags", + "ec2:DeleteTags", + "ec2:DescribeVpcEndpoints" + ], + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", "cloudFormationSystemTags": false }, "handlers": { "read": { "permissions": [ - "ec2:DescribeVpcEndpoints" + "ec2:DescribeVpcEndpoints", + "ec2:DescribeSubnets", + "ec2:DescribeSecurityGroups", + "vpc-lattice:DescribeServiceNetworkVpcEndpointAssociation" ] }, "create": { "permissions": [ "ec2:CreateVpcEndpoint", - "ec2:DescribeVpcEndpoints" + "ec2:DescribeVpcEndpoints", + "ec2:DescribeSubnets", + "ec2:DescribeSecurityGroups", + "vpc-lattice:CreateServiceNetworkVpcEndpointAssociation", + "vpc-lattice:DescribeServiceNetworkVpcEndpointAssociation", + "ec2:CreateTags", + "ec2:DeleteTags" ], "timeoutInMinutes": 210 }, "update": { "permissions": [ "ec2:ModifyVpcEndpoint", - "ec2:DescribeVpcEndpoints" + "ec2:DescribeVpcEndpoints", + "ec2:DescribeSubnets", + "ec2:DescribeSecurityGroups", + "vpc-lattice:CreateServiceNetworkVpcEndpointAssociation", + "vpc-lattice:DescribeServiceNetworkVpcEndpointAssociation", + "ec2:CreateTags", + "ec2:DeleteTags" ], "timeoutInMinutes": 210 }, "list": { "permissions": [ - "ec2:DescribeVpcEndpoints" + "ec2:DescribeVpcEndpoints", + "ec2:DescribeSubnets", + "ec2:DescribeSecurityGroups", + "vpc-lattice:DescribeServiceNetworkVpcEndpointAssociation" ] }, "delete": { "permissions": [ "ec2:DeleteVpcEndpoints", - "ec2:DescribeVpcEndpoints" + "ec2:DescribeVpcEndpoints", + "ec2:DescribeSubnets", + "ec2:DescribeSecurityGroups", + "vpc-lattice:DescribeServiceNetworkVpcEndpointAssociation", + "ec2:CreateTags", + "ec2:DeleteTags" ], "timeoutInMinutes": 210 } @@ -49,60 +78,90 @@ "createOnlyProperties": [ "/properties/ServiceName", "/properties/VpcEndpointType", - "/properties/VpcId" + "/properties/VpcId", + "/properties/ServiceNetworkArn", + "/properties/ResourceConfigurationArn" ], "additionalProperties": false, "primaryIdentifier": [ "/properties/Id" ], + "definitions": { + "DnsOptionsSpecification": { + "description": "", + "additionalProperties": false, + "type": "object", + "properties": { + "PrivateDnsOnlyForInboundResolverEndpoint": { + "type": "string", + "enum": [ + "OnlyInboundResolver", + "AllResolvers", + "NotSpecified" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: OnlyInboundResolver | AllResolvers | NotSpecified \nUpdate requires: No interruption" + }, + "DnsRecordIpType": { + "type": "string", + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "service-defined", + "not-specified" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ipv4 | ipv6 | dualstack | service-defined | not-specified \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tag": { + "description": "", + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Key": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Value", + "Key" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, "properties": { "PrivateDnsEnabled": { "description": "Indicate whether to associate a private hosted zone with the specified VPC. The private hosted zone contains a record set for the default public DNS name for the service for the Region (for example, ``kinesis.us-east-1.amazonaws.com``), which resolves to the private IP addresses of the endpoint network interfaces in the VPC. This enables you to make requests to the default public DNS name for the service instead of the public DNS names that are automatically generated by the VPC endpoint service.\n To use a private hosted zone, you must set the following VPC attributes to ``true``: ``enableDnsHostnames`` and ``enableDnsSupport``.\n This property is supported only for interface endpoints.\n Default: ``false``", "type": "boolean", "markdownDescription": "Indicate whether to associate a private hosted zone with the specified VPC. The private hosted zone contains a record set for the default public DNS name for the service for the Region (for example, ``kinesis.us-east-1.amazonaws.com``), which resolves to the private IP addresses of the endpoint network interfaces in the VPC. This enables you to make requests to the default public DNS name for the service instead of the public DNS names that are automatically generated by the VPC endpoint service.\n To use a private hosted zone, you must set the following VPC attributes to ``true``: ``enableDnsHostnames`` and ``enableDnsSupport``.\n This property is supported only for interface endpoints.\n Default: ``false``\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "VpcId": { - "description": "The ID of the VPC.", - "type": "string", - "markdownDescription": "The ID of the VPC.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "RouteTableIds": { - "uniqueItems": true, - "description": "The IDs of the route tables. Routing is supported only for gateway endpoints.", - "insertionOrder": false, - "type": "array", - "items": { - "relationshipRef": { - "typeName": "AWS::EC2::RouteTable", - "propertyPath": "/properties/RouteTableId" - }, - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "The IDs of the route tables. Routing is supported only for gateway endpoints.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "ServiceName": { - "description": "The name of the endpoint service.", + "IpAddressType": { + "description": "", "type": "string", - "markdownDescription": "The name of the endpoint service.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "PolicyDocument": { - "description": "An endpoint policy, which controls access to the service from the VPC. The default endpoint policy allows full access to the service. Endpoint policies are supported only for gateway and interface endpoints.\n For CloudFormation templates in YAML, you can provide the policy in JSON or YAML format. CFNlong converts YAML policies to JSON format before calling the API to create or modify the VPC endpoint.", - "type": [ - "string", - "object" + "enum": [ + "ipv4", + "ipv6", + "dualstack", + "not-specified" ], - "markdownDescription": "An endpoint policy, which controls access to the service from the VPC. The default endpoint policy allows full access to the service. Endpoint policies are supported only for gateway and interface endpoints.\n For CloudFormation templates in YAML, you can provide the policy in JSON or YAML format. CFNlong converts YAML policies to JSON format before calling the API to create or modify the VPC endpoint.\n\n---\n\nRequired: No \nType: ['string', 'object'] \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ipv4 | ipv6 | dualstack | not-specified \nUpdate requires: No interruption" }, - "VpcEndpointType": { - "description": "The type of endpoint.\n Default: Gateway", + "DnsOptions": { + "description": "", + "$ref": "#/definitions/DnsOptionsSpecification", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ResourceConfigurationArn": { + "description": "", "type": "string", - "enum": [ - "Interface", - "Gateway", - "GatewayLoadBalancer" - ], - "markdownDescription": "The type of endpoint.\n Default: Gateway\n\n---\n\nRequired: No \nType: String \nAllowed Values: Interface | Gateway | GatewayLoadBalancer \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "SecurityGroupIds": { "uniqueItems": true, @@ -149,11 +208,70 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "markdownDescription": "The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ServiceNetworkArn": { + "description": "", + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "VpcId": { + "description": "The ID of the VPC.", + "type": "string", + "markdownDescription": "The ID of the VPC.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "RouteTableIds": { + "uniqueItems": true, + "description": "The IDs of the route tables. Routing is supported only for gateway endpoints.", + "insertionOrder": false, + "type": "array", + "items": { + "relationshipRef": { + "typeName": "AWS::EC2::RouteTable", + "propertyPath": "/properties/RouteTableId" + }, + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The IDs of the route tables. Routing is supported only for gateway endpoints.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ServiceName": { + "description": "The name of the endpoint service.", + "type": "string", + "markdownDescription": "The name of the endpoint service.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "PolicyDocument": { + "description": "An endpoint policy, which controls access to the service from the VPC. The default endpoint policy allows full access to the service. Endpoint policies are supported only for gateway and interface endpoints.\n For CloudFormation templates in YAML, you can provide the policy in JSON or YAML format. For example, if you have a JSON policy, you can convert it to YAML before including it in the YAML template, and CFNlong converts the policy to JSON format before calling the API actions for privatelink. Alternatively, you can include the JSON directly in the YAML, as shown in the following ``Properties`` section:\n ``Properties: VpcEndpointType: 'Interface' ServiceName: !Sub 'com.amazonaws.${AWS::Region}.logs' PolicyDocument: '{ \"Version\":\"2012-10-17\", \"Statement\": [{ \"Effect\":\"Allow\", \"Principal\":\"*\", \"Action\":[\"logs:Describe*\",\"logs:Get*\",\"logs:List*\",\"logs:FilterLogEvents\"], \"Resource\":\"*\" }] }'``", + "type": [ + "string", + "object" + ], + "markdownDescription": "An endpoint policy, which controls access to the service from the VPC. The default endpoint policy allows full access to the service. Endpoint policies are supported only for gateway and interface endpoints.\n For CloudFormation templates in YAML, you can provide the policy in JSON or YAML format. For example, if you have a JSON policy, you can convert it to YAML before including it in the YAML template, and CFNlong converts the policy to JSON format before calling the API actions for privatelink. Alternatively, you can include the JSON directly in the YAML, as shown in the following ``Properties`` section:\n ``Properties: VpcEndpointType: 'Interface' ServiceName: !Sub 'com.amazonaws.${AWS::Region}.logs' PolicyDocument: '{ \"Version\":\"2012-10-17\", \"Statement\": [{ \"Effect\":\"Allow\", \"Principal\":\"*\", \"Action\":[\"logs:Describe*\",\"logs:Get*\",\"logs:List*\",\"logs:FilterLogEvents\"], \"Resource\":\"*\" }] }'``\n\n---\n\nRequired: No \nType: ['string', 'object'] \nUpdate requires: No interruption" + }, + "VpcEndpointType": { + "description": "The type of endpoint.\n Default: Gateway", + "type": "string", + "enum": [ + "Interface", + "Gateway", + "GatewayLoadBalancer", + "ServiceNetwork", + "Resource" + ], + "markdownDescription": "The type of endpoint.\n Default: Gateway\n\n---\n\nRequired: No \nType: String \nAllowed Values: Interface | Gateway | GatewayLoadBalancer | ServiceNetwork | Resource \nUpdate requires: Replacement" + }, + "Tags": { + "uniqueItems": false, + "description": "", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ - "VpcId", - "ServiceName" + "VpcId" ], "attributes": { "CreationTimestamp": { @@ -172,11 +290,6 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Id": { - "description": "", - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "DnsEntries": { "uniqueItems": false, "description": "", @@ -187,6 +300,11 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Id": { + "description": "", + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-ec2-vpcendpointconnectionnotification.json b/server/schema/resources/aws-ec2-vpcendpointconnectionnotification.json index a899ffe8..9ec74fca 100644 --- a/server/schema/resources/aws-ec2-vpcendpointconnectionnotification.json +++ b/server/schema/resources/aws-ec2-vpcendpointconnectionnotification.json @@ -1,70 +1,30 @@ { - "typeName": "AWS::EC2::VPCEndpointConnectionNotification", - "description": "Resource Type definition for AWS::EC2::VPCEndpointConnectionNotification", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2-vpc-endpoint", - "additionalProperties": false, - "properties": { - "ConnectionEvents": { - "description": "The endpoint events for which to receive notifications.", - "type": "array", - "uniqueItems": false, - "insertionOrder": false, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "The endpoint events for which to receive notifications.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "ConnectionNotificationArn": { - "description": "The ARN of the SNS topic for the notifications.", - "type": "string", - "markdownDescription": "The ARN of the SNS topic for the notifications.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "ServiceId": { - "description": "The ID of the endpoint service.", - "type": "string", - "markdownDescription": "The ID of the endpoint service.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, - "VPCEndpointId": { - "description": "The ID of the endpoint.", - "type": "string", - "markdownDescription": "The ID of the endpoint.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - } - }, - "required": [ - "ConnectionEvents", - "ConnectionNotificationArn" - ], - "createOnlyProperties": [ - "/properties/ServiceId", - "/properties/VPCEndpointId" - ], "tagging": { "taggable": false, "tagOnCreate": false, "tagUpdatable": false, "cloudFormationSystemTags": false }, - "readOnlyProperties": [ - "/properties/VPCEndpointConnectionNotificationId" - ], - "primaryIdentifier": [ - "/properties/VPCEndpointConnectionNotificationId" - ], "handlers": { + "read": { + "permissions": [ + "ec2:DescribeVpcEndpointConnectionNotifications" + ] + }, "create": { "permissions": [ "ec2:CreateVpcEndpointConnectionNotification" ] }, - "read": { + "update": { "permissions": [ + "ec2:ModifyVpcEndpointConnectionNotification", "ec2:DescribeVpcEndpointConnectionNotifications" ] }, - "update": { + "list": { "permissions": [ - "ec2:ModifyVpcEndpointConnectionNotification", "ec2:DescribeVpcEndpointConnectionNotifications" ] }, @@ -72,13 +32,53 @@ "permissions": [ "ec2:DeleteVpcEndpointConnectionNotifications" ] + } + }, + "typeName": "AWS::EC2::VPCEndpointConnectionNotification", + "readOnlyProperties": [ + "/properties/VPCEndpointConnectionNotificationId" + ], + "description": "Resource Type definition for AWS::EC2::VPCEndpointConnectionNotification", + "createOnlyProperties": [ + "/properties/ServiceId", + "/properties/VPCEndpointId" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/VPCEndpointConnectionNotificationId" + ], + "properties": { + "ConnectionEvents": { + "uniqueItems": false, + "description": "The endpoint events for which to receive notifications.", + "insertionOrder": false, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The endpoint events for which to receive notifications.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, - "list": { - "permissions": [ - "ec2:DescribeVpcEndpointConnectionNotifications" - ] + "VPCEndpointId": { + "description": "The ID of the endpoint.", + "type": "string", + "markdownDescription": "The ID of the endpoint.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "ConnectionNotificationArn": { + "description": "The ARN of the SNS topic for the notifications.", + "type": "string", + "markdownDescription": "The ARN of the SNS topic for the notifications.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "ServiceId": { + "description": "The ID of the endpoint service.", + "type": "string", + "markdownDescription": "The ID of the endpoint service.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" } }, + "required": [ + "ConnectionEvents", + "ConnectionNotificationArn" + ], "attributes": { "VPCEndpointConnectionNotificationId": { "description": "VPC Endpoint Connection ID generated by service", diff --git a/server/schema/resources/aws-ec2-vpcendpointservice.json b/server/schema/resources/aws-ec2-vpcendpointservice.json index d5acce4d..1496c78b 100644 --- a/server/schema/resources/aws-ec2-vpcendpointservice.json +++ b/server/schema/resources/aws-ec2-vpcendpointservice.json @@ -2,12 +2,37 @@ "typeName": "AWS::EC2::VPCEndpointService", "description": "Resource Type definition for AWS::EC2::VPCEndpointService", "additionalProperties": false, + "definitions": { + "Tag": { + "type": "object", + "additionalProperties": false, + "properties": { + "Value": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Key": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Value", + "Key" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, "properties": { "NetworkLoadBalancerArns": { "type": "array", "uniqueItems": false, "items": { "type": "string", + "relationshipRef": { + "typeName": "AWS::ElasticLoadBalancingV2::LoadBalancer", + "propertyPath": "/properties/LoadBalancerArn" + }, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" @@ -32,6 +57,16 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Tags": { + "type": "array", + "description": "The tags to add to the VPC endpoint service.", + "uniqueItems": false, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to add to the VPC endpoint service.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "primaryIdentifier": [ @@ -44,32 +79,38 @@ "/properties/ContributorInsightsEnabled" ], "tagging": { - "taggable": false, - "tagOnCreate": false, - "tagUpdatable": false, - "cloudFormationSystemTags": false + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "ec2:CreateTags", + "ec2:DeleteTags" + ] }, "handlers": { "create": { "permissions": [ "ec2:CreateVpcEndpointServiceConfiguration", - "ec2:ModifyVpcEndpointServiceConfiguration", "ec2:ModifyVpcEndpointServicePayerResponsibility", "cloudwatch:ListManagedInsightRules", "cloudwatch:DeleteInsightRules", "cloudwatch:PutManagedInsightRules", - "ec2:DescribeVpcEndpointServiceConfigurations" + "ec2:DescribeVpcEndpointServiceConfigurations", + "ec2:CreateTags" ] }, "update": { "permissions": [ "ec2:ModifyVpcEndpointServiceConfiguration", - "ec2:DeleteVpcEndpointServiceConfigurations", "ec2:DescribeVpcEndpointServiceConfigurations", "ec2:ModifyVpcEndpointServicePayerResponsibility", "cloudwatch:ListManagedInsightRules", "cloudwatch:DeleteInsightRules", - "cloudwatch:PutManagedInsightRules" + "cloudwatch:PutManagedInsightRules", + "ec2:CreateTags", + "ec2:DeleteTags" ] }, "read": { @@ -83,7 +124,8 @@ "ec2:DeleteVpcEndpointServiceConfigurations", "ec2:DescribeVpcEndpointServiceConfigurations", "cloudwatch:ListManagedInsightRules", - "cloudwatch:DeleteInsightRules" + "cloudwatch:DeleteInsightRules", + "ec2:DeleteTags" ] }, "list": { diff --git a/server/schema/resources/aws-ec2-vpcendpointservicepermissions.json b/server/schema/resources/aws-ec2-vpcendpointservicepermissions.json index 85cf263c..5b7b33cf 100644 --- a/server/schema/resources/aws-ec2-vpcendpointservicepermissions.json +++ b/server/schema/resources/aws-ec2-vpcendpointservicepermissions.json @@ -1,31 +1,4 @@ { - "typeName": "AWS::EC2::VPCEndpointServicePermissions", - "description": "Resource Type definition for AWS::EC2::VPCEndpointServicePermissions", - "additionalProperties": false, - "properties": { - "AllowedPrincipals": { - "type": "array", - "uniqueItems": false, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "ServiceId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - } - }, - "required": [ - "ServiceId" - ], - "createOnlyProperties": [ - "/properties/ServiceId" - ], - "primaryIdentifier": [ - "/properties/ServiceId" - ], "tagging": { "taggable": false, "tagOnCreate": false, @@ -33,7 +6,7 @@ "cloudFormationSystemTags": false }, "handlers": { - "create": { + "read": { "permissions": [ "ec2:CreateVpcEndpointServicePermissions", "ec2:ModifyVpcEndpointServicePermissions", @@ -41,7 +14,7 @@ "ec2:DescribeVpcEndpointServicePermissions" ] }, - "update": { + "create": { "permissions": [ "ec2:CreateVpcEndpointServicePermissions", "ec2:ModifyVpcEndpointServicePermissions", @@ -49,7 +22,7 @@ "ec2:DescribeVpcEndpointServicePermissions" ] }, - "read": { + "update": { "permissions": [ "ec2:CreateVpcEndpointServicePermissions", "ec2:ModifyVpcEndpointServicePermissions", @@ -57,7 +30,7 @@ "ec2:DescribeVpcEndpointServicePermissions" ] }, - "delete": { + "list": { "permissions": [ "ec2:CreateVpcEndpointServicePermissions", "ec2:ModifyVpcEndpointServicePermissions", @@ -65,7 +38,7 @@ "ec2:DescribeVpcEndpointServicePermissions" ] }, - "list": { + "delete": { "permissions": [ "ec2:CreateVpcEndpointServicePermissions", "ec2:ModifyVpcEndpointServicePermissions", @@ -74,5 +47,32 @@ ] } }, + "typeName": "AWS::EC2::VPCEndpointServicePermissions", + "description": "Resource Type definition for AWS::EC2::VPCEndpointServicePermissions", + "createOnlyProperties": [ + "/properties/ServiceId" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/ServiceId" + ], + "properties": { + "AllowedPrincipals": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ServiceId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + } + }, + "required": [ + "ServiceId" + ], "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-ec2-vpnconnection.json b/server/schema/resources/aws-ec2-vpnconnection.json index 01d7d621..a2c1cffd 100644 --- a/server/schema/resources/aws-ec2-vpnconnection.json +++ b/server/schema/resources/aws-ec2-vpnconnection.json @@ -69,24 +69,315 @@ "/properties/VpnConnectionId" ], "definitions": { + "CloudwatchLogOptionsSpecification": { + "description": "Options for sending VPN tunnel logs to CloudWatch.", + "additionalProperties": false, + "type": "object", + "properties": { + "LogEnabled": { + "description": "Enable or disable VPN tunnel logging feature. Default value is ``False``.\n Valid values: ``True`` | ``False``", + "type": "boolean", + "markdownDescription": "Enable or disable VPN tunnel logging feature. Default value is ``False``.\n Valid values: ``True`` | ``False``\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "LogOutputFormat": { + "description": "Set log format. Default format is ``json``.\n Valid values: ``json`` | ``text``", + "type": "string", + "enum": [ + "json", + "text" + ], + "markdownDescription": "Set log format. Default format is ``json``.\n Valid values: ``json`` | ``text``\n\n---\n\nRequired: No \nType: String \nAllowed Values: json | text \nUpdate requires: No interruption" + }, + "LogGroupArn": { + "description": "The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Options for sending VPN tunnel logs to CloudWatch.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Phase1IntegrityAlgorithmsRequestListValue": { + "description": "Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations.", + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "description": "The value for the integrity algorithm.", + "type": "string", + "enum": [ + "SHA1", + "SHA2-256", + "SHA2-384", + "SHA2-512" + ], + "markdownDescription": "The value for the integrity algorithm.\n\n---\n\nRequired: No \nType: String \nAllowed Values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512 \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Phase2EncryptionAlgorithmsRequestListValue": { + "description": "Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations.", + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "description": "The encryption algorithm.", + "type": "string", + "enum": [ + "AES128", + "AES256", + "AES128-GCM-16", + "AES256-GCM-16" + ], + "markdownDescription": "The encryption algorithm.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16 \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Phase2IntegrityAlgorithmsRequestListValue": { + "description": "Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations.", + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "description": "The integrity algorithm.", + "type": "string", + "enum": [ + "SHA1", + "SHA2-256", + "SHA2-384", + "SHA2-512" + ], + "markdownDescription": "The integrity algorithm.\n\n---\n\nRequired: No \nType: String \nAllowed Values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512 \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Phase1DHGroupNumbersRequestListValue": { + "description": "Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE negotiations.", + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "description": "The Diffie-Hellmann group number.", + "type": "integer", + "enum": [ + 2, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ], + "markdownDescription": "The Diffie-Hellmann group number.\n\n---\n\nRequired: No \nType: Integer \nAllowed Values: 2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE negotiations.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "VpnTunnelOptionsSpecification": { "description": "The tunnel options for a single VPN tunnel.", "additionalProperties": false, "type": "object", "properties": { - "PreSharedKey": { - "description": "The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.\n Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).", + "Phase2EncryptionAlgorithms": { + "uniqueItems": false, + "description": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16``", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Phase2EncryptionAlgorithmsRequestListValue" + }, + "markdownDescription": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Phase2DHGroupNumbers": { + "uniqueItems": false, + "description": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n Valid values: ``2`` | ``5`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24``", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Phase2DHGroupNumbersRequestListValue" + }, + "markdownDescription": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n Valid values: ``2`` | ``5`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "TunnelInsideIpv6Cidr": { + "description": "The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.\n Constraints: A size /126 CIDR block from the local ``fd00::/8`` range.", "type": "string", - "markdownDescription": "The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.\n Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.\n Constraints: A size /126 CIDR block from the local ``fd00::/8`` range.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "StartupAction": { + "description": "The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation.\n Valid Values: ``add`` | ``start`` \n Default: ``add``", + "type": "string", + "enum": [ + "add", + "start" + ], + "markdownDescription": "The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation.\n Valid Values: ``add`` | ``start`` \n Default: ``add``\n\n---\n\nRequired: No \nType: String \nAllowed Values: add | start \nUpdate requires: No interruption" }, "TunnelInsideCidr": { "description": "The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. \n Constraints: A size /30 CIDR block from the ``169.254.0.0/16`` range. The following CIDR blocks are reserved and cannot be used:\n + ``169.254.0.0/30`` \n + ``169.254.1.0/30`` \n + ``169.254.2.0/30`` \n + ``169.254.3.0/30`` \n + ``169.254.4.0/30`` \n + ``169.254.5.0/30`` \n + ``169.254.169.252/30``", "type": "string", "markdownDescription": "The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. \n Constraints: A size /30 CIDR block from the ``169.254.0.0/16`` range. The following CIDR blocks are reserved and cannot be used:\n + ``169.254.0.0/30`` \n + ``169.254.1.0/30`` \n + ``169.254.2.0/30`` \n + ``169.254.3.0/30`` \n + ``169.254.4.0/30`` \n + ``169.254.5.0/30`` \n + ``169.254.169.252/30``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "IKEVersions": { + "uniqueItems": false, + "description": "The IKE versions that are permitted for the VPN tunnel.\n Valid values: ``ikev1`` | ``ikev2``", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/IKEVersionsRequestListValue" + }, + "markdownDescription": "The IKE versions that are permitted for the VPN tunnel.\n Valid values: ``ikev1`` | ``ikev2``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "LogOptions": { + "description": "Options for logging VPN tunnel activity.", + "$ref": "#/definitions/VpnTunnelLogOptionsSpecification", + "markdownDescription": "Options for logging VPN tunnel activity.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Phase1DHGroupNumbers": { + "uniqueItems": false, + "description": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n Valid values: ``2`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24``", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Phase1DHGroupNumbersRequestListValue" + }, + "markdownDescription": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n Valid values: ``2`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ReplayWindowSize": { + "description": "The number of packets in an IKE replay window.\n Constraints: A value between 64 and 2048.\n Default: ``1024``", + "maximum": 2048, + "type": "integer", + "minimum": 64, + "markdownDescription": "The number of packets in an IKE replay window.\n Constraints: A value between 64 and 2048.\n Default: ``1024``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "EnableTunnelLifecycleControl": { + "description": "Turn on or off tunnel endpoint lifecycle control feature.", + "type": "boolean", + "markdownDescription": "Turn on or off tunnel endpoint lifecycle control feature.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "RekeyMarginTimeSeconds": { + "description": "The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for ``RekeyFuzzPercentage``.\n Constraints: A value between 60 and half of ``Phase2LifetimeSeconds``.\n Default: ``270``", + "type": "integer", + "minimum": 60, + "markdownDescription": "The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for ``RekeyFuzzPercentage``.\n Constraints: A value between 60 and half of ``Phase2LifetimeSeconds``.\n Default: ``270``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "DPDTimeoutAction": { + "description": "The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session.\n Valid Values: ``clear`` | ``none`` | ``restart`` \n Default: ``clear``", + "type": "string", + "enum": [ + "clear", + "none", + "restart" + ], + "markdownDescription": "The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session.\n Valid Values: ``clear`` | ``none`` | ``restart`` \n Default: ``clear``\n\n---\n\nRequired: No \nType: String \nAllowed Values: clear | none | restart \nUpdate requires: No interruption" + }, + "Phase2LifetimeSeconds": { + "description": "The lifetime for phase 2 of the IKE negotiation, in seconds.\n Constraints: A value between 900 and 3,600. The value must be less than the value for ``Phase1LifetimeSeconds``.\n Default: ``3600``", + "maximum": 3600, + "type": "integer", + "minimum": 900, + "markdownDescription": "The lifetime for phase 2 of the IKE negotiation, in seconds.\n Constraints: A value between 900 and 3,600. The value must be less than the value for ``Phase1LifetimeSeconds``.\n Default: ``3600``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Phase2IntegrityAlgorithms": { + "uniqueItems": false, + "description": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512``", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Phase2IntegrityAlgorithmsRequestListValue" + }, + "markdownDescription": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Phase1IntegrityAlgorithms": { + "uniqueItems": false, + "description": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512``", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Phase1IntegrityAlgorithmsRequestListValue" + }, + "markdownDescription": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "PreSharedKey": { + "description": "The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.\n Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).", + "type": "string", + "markdownDescription": "The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.\n Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Phase1LifetimeSeconds": { + "description": "The lifetime for phase 1 of the IKE negotiation, in seconds.\n Constraints: A value between 900 and 28,800.\n Default: ``28800``", + "maximum": 28800, + "type": "integer", + "minimum": 900, + "markdownDescription": "The lifetime for phase 1 of the IKE negotiation, in seconds.\n Constraints: A value between 900 and 28,800.\n Default: ``28800``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "RekeyFuzzPercentage": { + "description": "The percentage of the rekey window (determined by ``RekeyMarginTimeSeconds``) during which the rekey time is randomly selected.\n Constraints: A value between 0 and 100.\n Default: ``100``", + "maximum": 100, + "type": "integer", + "minimum": 0, + "markdownDescription": "The percentage of the rekey window (determined by ``RekeyMarginTimeSeconds``) during which the rekey time is randomly selected.\n Constraints: A value between 0 and 100.\n Default: ``100``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Phase1EncryptionAlgorithms": { + "uniqueItems": false, + "description": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16``", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Phase1EncryptionAlgorithmsRequestListValue" + }, + "markdownDescription": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "DPDTimeoutSeconds": { + "description": "The number of seconds after which a DPD timeout occurs.\n Constraints: A value greater than or equal to 30.\n Default: ``30``", + "type": "integer", + "minimum": 30, + "markdownDescription": "The number of seconds after which a DPD timeout occurs.\n Constraints: A value greater than or equal to 30.\n Default: ``30``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "markdownDescription": "The tunnel options for a single VPN tunnel.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "Phase1EncryptionAlgorithmsRequestListValue": { + "description": "Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations.", + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "description": "The value for the encryption algorithm.", + "type": "string", + "enum": [ + "AES128", + "AES256", + "AES128-GCM-16", + "AES256-GCM-16" + ], + "markdownDescription": "The value for the encryption algorithm.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16 \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "IKEVersionsRequestListValue": { + "description": "The IKE version that is permitted for the VPN tunnel.", + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "description": "The IKE version.", + "type": "string", + "enum": [ + "ikev1", + "ikev2" + ], + "markdownDescription": "The IKE version.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ikev1 | ikev2 \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The IKE version that is permitted for the VPN tunnel.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "Tag": { "description": "Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).", "additionalProperties": false, @@ -108,18 +399,59 @@ "Key" ], "markdownDescription": "Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "VpnTunnelLogOptionsSpecification": { + "description": "Options for logging VPN tunnel activity.", + "additionalProperties": false, + "type": "object", + "properties": { + "CloudwatchLogOptions": { + "description": "Options for sending VPN tunnel logs to CloudWatch.", + "$ref": "#/definitions/CloudwatchLogOptionsSpecification", + "markdownDescription": "Options for sending VPN tunnel logs to CloudWatch.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Options for logging VPN tunnel activity.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Phase2DHGroupNumbersRequestListValue": { + "description": "Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE negotiations.", + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "description": "The Diffie-Hellmann group number.", + "type": "integer", + "enum": [ + 2, + 5, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ], + "markdownDescription": "The Diffie-Hellmann group number.\n\n---\n\nRequired: No \nType: Integer \nAllowed Values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE negotiations.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { "RemoteIpv6NetworkCidr": { - "description": "", + "description": "The IPv6 CIDR on the AWS side of the VPN connection.\n Default: ``::/0``", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The IPv6 CIDR on the AWS side of the VPN connection.\n Default: ``::/0``\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "RemoteIpv4NetworkCidr": { - "description": "", + "description": "The IPv4 CIDR on the AWS side of the VPN connection.\n Default: ``0.0.0.0/0``", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The IPv4 CIDR on the AWS side of the VPN connection.\n Default: ``0.0.0.0/0``\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "VpnTunnelOptionsSpecifications": { "uniqueItems": false, @@ -137,9 +469,9 @@ "markdownDescription": "The ID of the customer gateway at your end of the VPN connection.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "OutsideIpAddressType": { - "description": "", + "description": "The type of IPv4 address assigned to the outside interface of the customer gateway device.\n Valid values: ``PrivateIpv4`` | ``PublicIpv4`` \n Default: ``PublicIpv4``", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The type of IPv4 address assigned to the outside interface of the customer gateway device.\n Valid values: ``PrivateIpv4`` | ``PublicIpv4`` \n Default: ``PublicIpv4``\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "StaticRoutesOnly": { "description": "Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.\n If you are creating a VPN connection for a device that does not support Border Gateway Protocol (BGP), you must specify ``true``.", @@ -162,9 +494,9 @@ "markdownDescription": "The type of VPN connection.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "LocalIpv4NetworkCidr": { - "description": "", + "description": "The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.\n Default: ``0.0.0.0/0``", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.\n Default: ``0.0.0.0/0``\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "VpnGatewayId": { "description": "The ID of the virtual private gateway at the AWS side of the VPN connection.\n You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both.", @@ -172,19 +504,19 @@ "markdownDescription": "The ID of the virtual private gateway at the AWS side of the VPN connection.\n You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "TransportTransitGatewayAttachmentId": { - "description": "", + "description": "The transit gateway attachment ID to use for the VPN tunnel.\n Required if ``OutsideIpAddressType`` is set to ``PrivateIpv4``.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The transit gateway attachment ID to use for the VPN tunnel.\n Required if ``OutsideIpAddressType`` is set to ``PrivateIpv4``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "LocalIpv6NetworkCidr": { - "description": "", + "description": "The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.\n Default: ``::/0``", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.\n Default: ``::/0``\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "TunnelInsideIpVersion": { - "description": "", + "description": "Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.\n Default: ``ipv4``", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.\n Default: ``ipv4``\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "Tags": { "uniqueItems": false, diff --git a/server/schema/resources/aws-ecr-repositorycreationtemplate.json b/server/schema/resources/aws-ecr-repositorycreationtemplate.json index 3ac263f0..5ea41f7a 100644 --- a/server/schema/resources/aws-ecr-repositorycreationtemplate.json +++ b/server/schema/resources/aws-ecr-repositorycreationtemplate.json @@ -25,16 +25,17 @@ "description": "The encryption type to use.", "enum": [ "AES256", - "KMS" + "KMS", + "KMS_DSSE" ], - "markdownDescription": "The encryption type to use.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AES256 | KMS \nUpdate requires: No interruption" + "markdownDescription": "The encryption type to use.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AES256 | KMS | KMS_DSSE \nUpdate requires: No interruption" }, "KmsKey": { "type": "string", - "description": "If you use the KMS encryption type, specify the CMK to use for encryption. The alias, key ID, or full ARN of the CMK can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed CMK for Amazon ECR will be used.", + "description": "If you use the KMS or KMS_DSSE encryption type, specify the CMK to use for encryption. The alias, key ID, or full ARN of the CMK can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed CMK for Amazon ECR will be used.", "minLength": 1, "maxLength": 2048, - "markdownDescription": "If you use the KMS encryption type, specify the CMK to use for encryption. The alias, key ID, or full ARN of the CMK can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed CMK for Amazon ECR will be used.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + "markdownDescription": "If you use the KMS or KMS_DSSE encryption type, specify the CMK to use for encryption. The alias, key ID, or full ARN of the CMK can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed CMK for Amazon ECR will be used.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" }, "Tag": { "description": "An array of key-value pairs to apply to this resource.", diff --git a/server/schema/resources/aws-ecs-capacityprovider.json b/server/schema/resources/aws-ecs-capacityprovider.json index 1c3ce9c2..2876e460 100644 --- a/server/schema/resources/aws-ecs-capacityprovider.json +++ b/server/schema/resources/aws-ecs-capacityprovider.json @@ -3,7 +3,16 @@ "/properties/AutoScalingGroupProvider/AutoScalingGroupArn": "$split(AutoScalingGroupProvider.AutoScalingGroupArn, \"autoScalingGroupName/\")[-1] $OR $split(AutoScalingGroupArn, \"autoScalingGroupName/\")[-1]" }, "tagging": { - "taggable": true + "permissions": [ + "ecs:TagResource", + "ecs:UntagResource", + "ecs:ListTagsForResource" + ], + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": true }, "handlers": { "read": { @@ -51,38 +60,6 @@ "/properties/Name" ], "definitions": { - "ManagedScaling": { - "description": "The managed scaling settings for the Auto Scaling group capacity provider.", - "additionalProperties": false, - "type": "object", - "properties": { - "Status": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISABLED | ENABLED \nUpdate requires: No interruption" - }, - "MinimumScalingStepSize": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "InstanceWarmupPeriod": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "TargetCapacity": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "MaximumScalingStepSize": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "markdownDescription": "The managed scaling settings for the Auto Scaling group capacity provider.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "AutoScalingGroupProvider": { "additionalProperties": false, "type": "object", @@ -116,6 +93,38 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: Replacement" }, + "ManagedScaling": { + "description": "The managed scaling settings for the Auto Scaling group capacity provider.", + "additionalProperties": false, + "type": "object", + "properties": { + "Status": { + "type": "string", + "enum": [ + "DISABLED", + "ENABLED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISABLED | ENABLED \nUpdate requires: No interruption" + }, + "MinimumScalingStepSize": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "InstanceWarmupPeriod": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "TargetCapacity": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MaximumScalingStepSize": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The managed scaling settings for the Auto Scaling group capacity provider.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "Tag": { "additionalProperties": false, "type": "object", @@ -150,8 +159,5 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" } }, - "required": [ - "AutoScalingGroupProvider" - ], "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-ecs-cluster.json b/server/schema/resources/aws-ecs-cluster.json index 81ef33f9..3cc64be9 100644 --- a/server/schema/resources/aws-ecs-cluster.json +++ b/server/schema/resources/aws-ecs-cluster.json @@ -1,6 +1,15 @@ { "tagging": { - "taggable": true + "permissions": [ + "ecs:TagResource", + "ecs:UntagResource", + "ecs:ListTagsForResource" + ], + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": true }, "propertyTransform": { "/properties/Configuration/ManagedStorageConfiguration/FargateEphemeralStorageKmsKeyId": "$join([\"arn:aws[-a-z]*:kms:[a-z0-9-]+:[0-9]{12}:key/\", FargateEphemeralStorageKmsKeyId])" diff --git a/server/schema/resources/aws-ecs-clustercapacityproviderassociations.json b/server/schema/resources/aws-ecs-clustercapacityproviderassociations.json index d09bb9e0..d0114edc 100644 --- a/server/schema/resources/aws-ecs-clustercapacityproviderassociations.json +++ b/server/schema/resources/aws-ecs-clustercapacityproviderassociations.json @@ -15,7 +15,8 @@ "create": { "permissions": [ "ecs:DescribeClusters", - "ecs:PutClusterCapacityProviders" + "ecs:PutClusterCapacityProviders", + "ecs:DescribeCapacityProviders" ] }, "update": { diff --git a/server/schema/resources/aws-ecs-service.json b/server/schema/resources/aws-ecs-service.json index e7fe75f3..8889f402 100644 --- a/server/schema/resources/aws-ecs-service.json +++ b/server/schema/resources/aws-ecs-service.json @@ -1,10 +1,19 @@ { "tagging": { + "permissions": [ + "ecs:TagResource", + "ecs:UntagResource", + "ecs:ListTagsForResource" + ], "taggable": true, "tagOnCreate": true, "tagUpdatable": true, "tagProperty": "/properties/Tags", - "cloudFormationSystemTags": true + "cloudFormationSystemTags": false + }, + "propertyTransform": { + "/properties/TaskDefinition": "TaskDefinition $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:ecs:[a-z0-9-]+:[0-9]{12}:task-definition/\", $contains(TaskDefinition,\":\")?TaskDefinition:$join([TaskDefinition, \":[0-9]+\"])])", + "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" }, "handlers": { "read": { @@ -156,6 +165,34 @@ }, "markdownDescription": "The certificate root authority that secures your service.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "VpcLatticeConfiguration": { + "description": "The VPC Lattice configuration for your service that holds the information for the target group(s) Amazon ECS tasks will be registered to.", + "additionalProperties": false, + "type": "object", + "properties": { + "TargetGroupArn": { + "description": "The full Amazon Resource Name (ARN) of the target group or groups associated with the VPC Lattice configuration that the Amazon ECS tasks will be registered to.", + "type": "string", + "markdownDescription": "The full Amazon Resource Name (ARN) of the target group or groups associated with the VPC Lattice configuration that the Amazon ECS tasks will be registered to.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "PortName": { + "description": "The name of the port mapping to register in the VPC Lattice target group. This is the name of the ``portMapping`` you defined in your task definition.", + "type": "string", + "markdownDescription": "The name of the port mapping to register in the VPC Lattice target group. This is the name of the ``portMapping`` you defined in your task definition.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "RoleArn": { + "description": "The ARN of the IAM role to associate with this VPC Lattice configuration. This is the Amazon ECS\u2028 infrastructure IAM role that is used to manage your VPC Lattice infrastructure.", + "type": "string", + "markdownDescription": "The ARN of the IAM role to associate with this VPC Lattice configuration. This is the Amazon ECS\u2028 infrastructure IAM role that is used to manage your VPC Lattice infrastructure.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "RoleArn", + "TargetGroupArn", + "PortName" + ], + "markdownDescription": "The VPC Lattice configuration for your service that holds the information for the target group(s) Amazon ECS tasks will be registered to.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "LoadBalancer": { "description": "The ``LoadBalancer`` property specifies details on a load balancer that is used with a service.\n If the service is using the ``CODE_DEPLOY`` deployment controller, the service is required to use either an Application Load Balancer or Network Load Balancer. When you are creating an ACDlong deployment group, you specify two target groups (referred to as a ``targetGroupPair``). Each target group binds to a separate task set in the deployment. The load balancer can also have up to two listeners, a required listener for production traffic and an optional listener that allows you to test new revisions of the service before routing production traffic to it.\n Services with tasks that use the ``awsvpc`` network mode (for example, those with the Fargate launch type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers are not supported. Also, when you create any target groups for these services, you must choose ``ip`` as the target type, not ``instance``. Tasks that use the ``awsvpc`` network mode are associated with an elastic network interface, not an Amazon EC2 instance.", "additionalProperties": false, @@ -271,7 +308,7 @@ "markdownDescription": "The key that encrypts and decrypts your resources for Service Connect TLS.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "DeploymentController": { - "description": "The deployment controller to use for the service. For more information, see [Amazon ECS deployment types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) in the *Amazon Elastic Container Service Developer Guide*.", + "description": "The deployment controller to use for the service.", "additionalProperties": false, "type": "object", "properties": { @@ -286,7 +323,7 @@ "markdownDescription": "The deployment controller type to use. There are three deployment controller types available:\n + ECS The rolling update (ECS) deployment type involves replacing the current running version of the container with the latest version. The number of containers Amazon ECS adds or removes from the service during a rolling update is controlled by adjusting the minimum and maximum number of healthy tasks allowed during a service deployment, as specified in the DeploymentConfiguration. + CODE_DEPLOY The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment model powered by , which allows you to verify a new deployment of a service before sending production traffic to it. + EXTERNAL The external (EXTERNAL) deployment type enables you to use any third-party deployment controller for full control over the deployment process for an Amazon ECS service.\n\n---\n\nRequired: No \nType: String \nAllowed Values: CODE_DEPLOY | ECS | EXTERNAL \nUpdate requires: No interruption" } }, - "markdownDescription": "The deployment controller to use for the service. For more information, see [Amazon ECS deployment types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The deployment controller to use for the service.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "LogConfiguration": { "description": "The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run.\n By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition.\n Understand the following when specifying a log configuration for your containers.\n + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent.\n For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``.\n For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``.\n + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance.\n + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*.\n + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to.", @@ -309,10 +346,10 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``", + "description": "The configuration options to send to the log driver.\n The options you can specify depend on the log driver. Some of the options you can specify when you use the ``awslogs`` log driver to route logs to Amazon CloudWatch include the following:\n + awslogs-create-group Required: No Specify whether you want the log group to be created automatically. If this option isn't specified, it defaults to false. Your IAM policy must include the logs:CreateLogGroup permission before you attempt to use awslogs-create-group. + awslogs-region Required: Yes Specify the Region that the awslogs log driver is to send your Docker logs to. You can choose to send all of your logs from clusters in different Regions to a single region in CloudWatch Logs. This is so that they're all visible in one location. Otherwise, you can separate them by Region for more granularity. Make sure that the specified log group exists in the Region that you specify with this option. + awslogs-group Required: Yes Make sure to specify a log group that the awslogs log driver sends its log streams to. + awslogs-stream-prefix Required: Yes, when using the Fargate launch type.Optional for the EC2 launch type, required for the Fargate launch type. Use the awslogs-stream-prefix option to associate a log stream with the specified prefix, the container name, and the ID of the Amazon ECS task that the container belongs to. If you specify a prefix with this option, then the log stream takes the format prefix-name/container-name/ecs-task-id. If you don't specify a prefix with this option, then the log stream is named after the container ID that's assigned by the Docker daemon on the container instance. Because it's difficult to trace logs back to the container that sent them with just the Docker container ID (which is only available on the container instance), we recommend that you specify a prefix with this option. For Amazon ECS services, you can use the service name as the prefix. Doing so, you can trace log streams to the service that the container belongs to, the name of the container that sent them, and the ID of the task that the container belongs to. You must specify a stream-prefix for your logs to have your logs appear in the Log pane when using the Amazon ECS console. + awslogs-datetime-format Required: No This option defines a multiline start pattern in Python strftime format. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages. One example of a use case for using this format is for parsing output such as a stack dump, which might otherwise be logged in multiple entries. The correct pattern allows it to be captured in a single entry. For more information, see awslogs-datetime-format. You cannot configure both the awslogs-datetime-format and awslogs-multiline-pattern options. Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. + awslogs-multiline-pattern Required: No This option defines a multiline start pattern that uses a regular expression. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages. For more information, see awslogs-multiline-pattern. This option is ignored if awslogs-datetime-format is also configured. You cannot configure both the awslogs-datetime-format and awslogs-multiline-pattern options. Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. + mode Required: No Valid values: non-blocking | blocking This option defines the delivery mode of log messages from the container to CloudWatch Logs. The delivery mode you choose affects application availability when the flow of logs from container to CloudWatch is interrupted. If you use the blocking mode and the flow of logs to CloudWatch is interrupted, calls from container code to write to the stdout and stderr streams will block. The logging thread of the application will block as a result. This may cause the application to become unresponsive and lead to container healthcheck failure. If you use the non-blocking mode, the container's logs are instead stored in an in-memory intermediate buffer configured with the max-buffer-size option. This prevents the application from becoming unresponsive when logs cannot be sent to CloudWatch. We recommend using this mode if you want to ensure service availability and are okay with some log loss. For more information, see Preventing log loss with non-blocking mode in the awslogs container log driver. + max-buffer-size Required: No Default value: 1m When non-blocking mode is used, the max-buffer-size log option controls the size of the buffer that's used for intermediate message storage. Make sure to specify an adequate buffer size based on your application. When the buffer fills up, further logs cannot be stored. Logs that cannot be stored are lost. \n To route logs using the ``splunk`` log router, you need to specify a ``splunk-token`` and a ``splunk-url``.\n When you use the ``awsfirelens`` log router to route logs to an AWS Service or AWS Partner Network destination for log storage and analytics, you can set the ``log-driver-buffer-limit`` option to limit the number of events that are buffered in memory, before being sent to the log router container. It can help to resolve potential log loss issue because high throughput might result in memory running out for the buffer inside of Docker.\n Other options you can specify when using ``awsfirelens`` to route logs depend on the destination. When you export logs to Amazon Data Firehose, you can specify the AWS Region with ``region`` and a name for the log stream with ``delivery_stream``.\n When you export logs to Amazon Kinesis Data Streams, you can specify an AWS Region with ``region`` and a data stream name with ``stream``.\n When you export logs to Amazon OpenSearch Service, you can specify options like ``Name``, ``Host`` (OpenSearch Service endpoint without protocol), ``Port``, ``Index``, ``Type``, ``Aws_auth``, ``Aws_region``, ``Suppress_Type_Name``, and ``tls``. For more information, see [Under the hood: FireLens for Amazon ECS Tasks](https://docs.aws.amazon.com/containers/under-the-hood-firelens-for-amazon-ecs-tasks/).\n When you export logs to Amazon S3, you can specify the bucket using the ``bucket`` option. You can also specify ``region``, ``total_file_size``, ``upload_timeout``, and ``use_put_object`` as options.\n This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``", "additionalProperties": false, "type": "object", - "markdownDescription": "The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The configuration options to send to the log driver.\n The options you can specify depend on the log driver. Some of the options you can specify when you use the ``awslogs`` log driver to route logs to Amazon CloudWatch include the following:\n + awslogs-create-group Required: No Specify whether you want the log group to be created automatically. If this option isn't specified, it defaults to false. Your IAM policy must include the logs:CreateLogGroup permission before you attempt to use awslogs-create-group. + awslogs-region Required: Yes Specify the Region that the awslogs log driver is to send your Docker logs to. You can choose to send all of your logs from clusters in different Regions to a single region in CloudWatch Logs. This is so that they're all visible in one location. Otherwise, you can separate them by Region for more granularity. Make sure that the specified log group exists in the Region that you specify with this option. + awslogs-group Required: Yes Make sure to specify a log group that the awslogs log driver sends its log streams to. + awslogs-stream-prefix Required: Yes, when using the Fargate launch type.Optional for the EC2 launch type, required for the Fargate launch type. Use the awslogs-stream-prefix option to associate a log stream with the specified prefix, the container name, and the ID of the Amazon ECS task that the container belongs to. If you specify a prefix with this option, then the log stream takes the format prefix-name/container-name/ecs-task-id. If you don't specify a prefix with this option, then the log stream is named after the container ID that's assigned by the Docker daemon on the container instance. Because it's difficult to trace logs back to the container that sent them with just the Docker container ID (which is only available on the container instance), we recommend that you specify a prefix with this option. For Amazon ECS services, you can use the service name as the prefix. Doing so, you can trace log streams to the service that the container belongs to, the name of the container that sent them, and the ID of the task that the container belongs to. You must specify a stream-prefix for your logs to have your logs appear in the Log pane when using the Amazon ECS console. + awslogs-datetime-format Required: No This option defines a multiline start pattern in Python strftime format. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages. One example of a use case for using this format is for parsing output such as a stack dump, which might otherwise be logged in multiple entries. The correct pattern allows it to be captured in a single entry. For more information, see awslogs-datetime-format. You cannot configure both the awslogs-datetime-format and awslogs-multiline-pattern options. Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. + awslogs-multiline-pattern Required: No This option defines a multiline start pattern that uses a regular expression. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages. For more information, see awslogs-multiline-pattern. This option is ignored if awslogs-datetime-format is also configured. You cannot configure both the awslogs-datetime-format and awslogs-multiline-pattern options. Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. + mode Required: No Valid values: non-blocking | blocking This option defines the delivery mode of log messages from the container to CloudWatch Logs. The delivery mode you choose affects application availability when the flow of logs from container to CloudWatch is interrupted. If you use the blocking mode and the flow of logs to CloudWatch is interrupted, calls from container code to write to the stdout and stderr streams will block. The logging thread of the application will block as a result. This may cause the application to become unresponsive and lead to container healthcheck failure. If you use the non-blocking mode, the container's logs are instead stored in an in-memory intermediate buffer configured with the max-buffer-size option. This prevents the application from becoming unresponsive when logs cannot be sent to CloudWatch. We recommend using this mode if you want to ensure service availability and are okay with some log loss. For more information, see Preventing log loss with non-blocking mode in the awslogs container log driver. + max-buffer-size Required: No Default value: 1m When non-blocking mode is used, the max-buffer-size log option controls the size of the buffer that's used for intermediate message storage. Make sure to specify an adequate buffer size based on your application. When the buffer fills up, further logs cannot be stored. Logs that cannot be stored are lost. \n To route logs using the ``splunk`` log router, you need to specify a ``splunk-token`` and a ``splunk-url``.\n When you use the ``awsfirelens`` log router to route logs to an AWS Service or AWS Partner Network destination for log storage and analytics, you can set the ``log-driver-buffer-limit`` option to limit the number of events that are buffered in memory, before being sent to the log router container. It can help to resolve potential log loss issue because high throughput might result in memory running out for the buffer inside of Docker.\n Other options you can specify when using ``awsfirelens`` to route logs depend on the destination. When you export logs to Amazon Data Firehose, you can specify the AWS Region with ``region`` and a name for the log stream with ``delivery_stream``.\n When you export logs to Amazon Kinesis Data Streams, you can specify an AWS Region with ``region`` and a data stream name with ``stream``.\n When you export logs to Amazon OpenSearch Service, you can specify options like ``Name``, ``Host`` (OpenSearch Service endpoint without protocol), ``Port``, ``Index``, ``Type``, ``Aws_auth``, ``Aws_region``, ``Suppress_Type_Name``, and ``tls``. For more information, see [Under the hood: FireLens for Amazon ECS Tasks](https://docs.aws.amazon.com/containers/under-the-hood-firelens-for-amazon-ecs-tasks/).\n When you export logs to Amazon S3, you can specify the bucket using the ``bucket`` option. You can also specify ``region``, ``total_file_size``, ``upload_timeout``, and ``use_put_object`` as options.\n This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "LogDriver": { "description": "The log driver to use for the container.\n For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``.\n For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``syslog``, ``splunk``, and ``awsfirelens``.\n For more information about using the ``awslogs`` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*.\n For more information about using the ``awsfirelens`` log driver, see [Send Amazon ECS logs to an service or Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html).\n If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software.", @@ -368,13 +405,13 @@ "markdownDescription": "The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration``.\n All specified subnets must be from the same VPC.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "AssignPublicIp": { - "description": "Whether the task's elastic network interface receives a public IP address. The default value is ``DISABLED``.", + "description": "Whether the task's elastic network interface receives a public IP address. The default value is ``ENABLED``.", "type": "string", "enum": [ "DISABLED", "ENABLED" ], - "markdownDescription": "Whether the task's elastic network interface receives a public IP address. The default value is ``DISABLED``.\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISABLED | ENABLED \nUpdate requires: No interruption" + "markdownDescription": "Whether the task's elastic network interface receives a public IP address. The default value is ``ENABLED``.\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISABLED | ENABLED \nUpdate requires: No interruption" } }, "markdownDescription": "An object representing the networking details for a task or service. For example ``awsVpcConfiguration={subnets=[\"subnet-12344321\"],securityGroups=[\"sg-12344321\"]}``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -405,7 +442,7 @@ "markdownDescription": "An object representing a constraint on task placement. For more information, see [Task placement constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*.\n If you're using the Fargate launch type, task placement constraints aren't supported.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ServiceManagedEBSVolumeConfiguration": { - "description": "The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service.\n Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters.", + "description": "The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service. For information about the supported launch types and operating systems, see [Supported operating systems and launch types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-volumes.html#ebs-volumes-configuration) in the*Amazon Elastic Container Service Developer Guide*.\n Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters.", "additionalProperties": false, "type": "object", "required": [ @@ -436,9 +473,9 @@ "markdownDescription": "The tags to apply to the volume. Amazon ECS applies service-managed tags by default. This parameter maps 1:1 with the ``TagSpecifications.N`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "FilesystemType": { - "description": "The Linux filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start.\n The available filesystem types are\u2028 ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default.", + "description": "The filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start.\n The available Linux filesystem types are\u2028 ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default.\n The available Windows filesystem types are ``NTFS``.", "type": "string", - "markdownDescription": "The Linux filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start.\n The available filesystem types are\u2028 ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start.\n The available Linux filesystem types are\u2028 ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default.\n The available Windows filesystem types are ``NTFS``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Encrypted": { "description": "Indicates whether the volume should be encrypted. If no value is specified, encryption is turned on by default. This parameter maps 1:1 with the ``Encrypted`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.", @@ -450,6 +487,11 @@ "type": "integer", "markdownDescription": "The throughput to provision for a volume, in MiB/s, with a maximum of 1,000 MiB/s. This parameter maps 1:1 with the ``Throughput`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.\n This parameter is only supported for the ``gp3`` volume type.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "VolumeInitializationRate": { + "description": "", + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, "Iops": { "description": "The number of I/O operations per second (IOPS). For ``gp3``, ``io1``, and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.\n The following are the supported values for each volume type.\n + ``gp3``: 3,000 - 16,000 IOPS\n + ``io1``: 100 - 64,000 IOPS\n + ``io2``: 100 - 256,000 IOPS\n \n This parameter is required for ``io1`` and ``io2`` volume types. The default for ``gp3`` volumes is ``3,000 IOPS``. This parameter is not supported for ``st1``, ``sc1``, or ``standard`` volume types.\n This parameter maps 1:1 with the ``Iops`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.", "type": "integer", @@ -466,7 +508,7 @@ "markdownDescription": "The ARN of the IAM role to associate with this volume. This is the Amazon ECS infrastructure IAM role that is used to manage your AWS infrastructure. We recommend using the Amazon ECS-managed ``AmazonECSInfrastructureRolePolicyForVolumes`` IAM policy with this role. For more information, see [Amazon ECS infrastructure IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html) in the *Amazon ECS Developer Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service.\n Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service. For information about the supported launch types and operating systems, see [Supported operating systems and launch types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-volumes.html#ebs-volumes-configuration) in the*Amazon Elastic Container Service Developer Guide*.\n Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ServiceConnectClientAlias": { "description": "Each alias (\"endpoint\") is a fully-qualified name and port number that other tasks (\"clients\") can use to connect to this service.\n Each name and port mapping must be unique within the namespace.\n Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*.", @@ -607,14 +649,14 @@ "markdownDescription": "The deployment circuit breaker can only be used for services using the rolling update (``ECS``) deployment type.\n The *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see [Rolling update](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) in the *Amazon Elastic Container Service Developer Guide*\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "MaximumPercent": { - "description": "If a service is using the rolling update (``ECS``) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state.\n You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type.\n If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service.", + "description": "If a service is using the rolling update (``ECS``) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%.\n The Amazon ECS scheduler uses this parameter to replace unhealthy tasks by starting replacement tasks first and then stopping the unhealthy tasks, as long as cluster resources for starting replacement tasks are available. For more information about how the scheduler replaces unhealthy tasks, see [Amazon ECS services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html).\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state.\n You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type.\n If the service uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and the tasks in the service use the Fargate launch type, the maximum percent value is not used. The value is still returned when describing your service.", "type": "integer", - "markdownDescription": "If a service is using the rolling update (``ECS``) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state.\n You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type.\n If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "If a service is using the rolling update (``ECS``) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%.\n The Amazon ECS scheduler uses this parameter to replace unhealthy tasks by starting replacement tasks first and then stopping the unhealthy tasks, as long as cluster resources for starting replacement tasks are available. For more information about how the scheduler replaces unhealthy tasks, see [Amazon ECS services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html).\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state.\n You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type.\n If the service uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and the tasks in the service use the Fargate launch type, the maximum percent value is not used. The value is still returned when describing your service.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "MinimumHealthyPercent": { - "description": "If a service is using the rolling update (``ECS``) deployment type, the ``minimumHealthyPercent`` represents a lower limit on the number of your service's tasks that must remain in the ``RUNNING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a ``desiredCount`` of four tasks and a ``minimumHealthyPercent`` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. \n For services that *do not* use a load balancer, the following should be noted:\n + A service is considered healthy if all essential containers within the tasks in the service pass their health checks.\n + If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a ``RUNNING`` state before the task is counted towards the minimum healthy percent total.\n + If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings. \n \n For services that *do* use a load balancer, the following should be noted:\n + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n \n The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console.\n The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent``/100, rounded up to the nearest integer value.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state.\n You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.", + "description": "If a service is using the rolling update (``ECS``) deployment type, the ``minimumHealthyPercent`` represents a lower limit on the number of your service's tasks that must remain in the ``RUNNING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a ``desiredCount`` of four tasks and a ``minimumHealthyPercent`` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. \n If any tasks are unhealthy and if ``maximumPercent`` doesn't allow the Amazon ECS scheduler to start replacement tasks, the scheduler stops the unhealthy tasks one-by-one \u2014 using the ``minimumHealthyPercent`` as a constraint \u2014 to clear up capacity to launch replacement tasks. For more information about how the scheduler replaces unhealthy tasks, see [Amazon ECS services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) . \n For services that *do not* use a load balancer, the following should be noted:\n + A service is considered healthy if all essential containers within the tasks in the service pass their health checks.\n + If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a ``RUNNING`` state before the task is counted towards the minimum healthy percent total.\n + If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings. \n \n For services that *do* use a load balancer, the following should be noted:\n + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n \n The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console.\n The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent``/100, rounded up to the nearest integer value.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state.\n You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.", "type": "integer", - "markdownDescription": "If a service is using the rolling update (``ECS``) deployment type, the ``minimumHealthyPercent`` represents a lower limit on the number of your service's tasks that must remain in the ``RUNNING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a ``desiredCount`` of four tasks and a ``minimumHealthyPercent`` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. \n For services that *do not* use a load balancer, the following should be noted:\n + A service is considered healthy if all essential containers within the tasks in the service pass their health checks.\n + If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a ``RUNNING`` state before the task is counted towards the minimum healthy percent total.\n + If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings. \n \n For services that *do* use a load balancer, the following should be noted:\n + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n \n The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console.\n The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent``/100, rounded up to the nearest integer value.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state.\n You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "If a service is using the rolling update (``ECS``) deployment type, the ``minimumHealthyPercent`` represents a lower limit on the number of your service's tasks that must remain in the ``RUNNING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a ``desiredCount`` of four tasks and a ``minimumHealthyPercent`` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. \n If any tasks are unhealthy and if ``maximumPercent`` doesn't allow the Amazon ECS scheduler to start replacement tasks, the scheduler stops the unhealthy tasks one-by-one \u2014 using the ``minimumHealthyPercent`` as a constraint \u2014 to clear up capacity to launch replacement tasks. For more information about how the scheduler replaces unhealthy tasks, see [Amazon ECS services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) . \n For services that *do not* use a load balancer, the following should be noted:\n + A service is considered healthy if all essential containers within the tasks in the service pass their health checks.\n + If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a ``RUNNING`` state before the task is counted towards the minimum healthy percent total.\n + If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings. \n \n For services that *do* use a load balancer, the following should be noted:\n + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n \n The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console.\n The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent``/100, rounded up to the nearest integer value.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state.\n You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "markdownDescription": "Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -738,12 +780,12 @@ "markdownDescription": "The configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "CapacityProviderStrategy": { - "description": "The capacity provider strategy to use for the service.\n If a ``capacityProviderStrategy`` is specified, the ``launchType`` parameter must be omitted. If no ``capacityProviderStrategy`` or ``launchType`` is specified, the ``defaultCapacityProviderStrategy`` for the cluster is used.\n A capacity provider strategy may contain a maximum of 6 capacity providers.", + "description": "The capacity provider strategy to use for the service.\n If a ``capacityProviderStrategy`` is specified, the ``launchType`` parameter must be omitted. If no ``capacityProviderStrategy`` or ``launchType`` is specified, the ``defaultCapacityProviderStrategy`` for the cluster is used.\n A capacity provider strategy can contain a maximum of 20 capacity providers.", "type": "array", "items": { "$ref": "#/definitions/CapacityProviderStrategyItem" }, - "markdownDescription": "The capacity provider strategy to use for the service.\n If a ``capacityProviderStrategy`` is specified, the ``launchType`` parameter must be omitted. If no ``capacityProviderStrategy`` or ``launchType`` is specified, the ``defaultCapacityProviderStrategy`` for the cluster is used.\n A capacity provider strategy may contain a maximum of 6 capacity providers.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The capacity provider strategy to use for the service.\n If a ``capacityProviderStrategy`` is specified, the ``launchType`` parameter must be omitted. If no ``capacityProviderStrategy`` or ``launchType`` is specified, the ``defaultCapacityProviderStrategy`` for the cluster is used.\n A capacity provider strategy can contain a maximum of 20 capacity providers.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "LaunchType": { "description": "The launch type on which to run your service. For more information, see [Amazon ECS Launch Types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) in the *Amazon Elastic Container Service Developer Guide*.", @@ -755,6 +797,16 @@ ], "markdownDescription": "The launch type on which to run your service. For more information, see [Amazon ECS Launch Types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nType: String \nAllowed Values: EC2 | FARGATE | EXTERNAL \nUpdate requires: Replacement" }, + "AvailabilityZoneRebalancing": { + "default": "DISABLED", + "description": "Indicates whether to use Availability Zone rebalancing for the service.\n For more information, see [Balancing an Amazon ECS service across Availability Zones](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-rebalancing.html) in the *Amazon Elastic Container Service Developer Guide*.", + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "Indicates whether to use Availability Zone rebalancing for the service.\n For more information, see [Balancing an Amazon ECS service across Availability Zones](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-rebalancing.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + }, "SchedulingStrategy": { "description": "The scheduling strategy to use for the service. For more information, see [Services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html).\n There are two service scheduler strategies available:\n + ``REPLICA``-The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. This scheduler strategy is required if the service uses the ``CODE_DEPLOY`` or ``EXTERNAL`` deployment controller types.\n + ``DAEMON``-The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks and will stop tasks that don't meet the placement constraints. When you're using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies.\n Tasks using the Fargate launch type or the ``CODE_DEPLOY`` or ``EXTERNAL`` deployment controller types don't support the ``DAEMON`` scheduling strategy.", "type": "string", @@ -778,9 +830,9 @@ "markdownDescription": "The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well.\n The following basic restrictions apply to tags:\n + Maximum number of tags per resource - 50\n + For each resource, each tag key must be unique, and each tag key can have only one value.\n + Maximum key length - 128 Unicode characters in UTF-8\n + Maximum value length - 256 Unicode characters in UTF-8\n + If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.\n + Tag keys and values are case-sensitive.\n + Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "HealthCheckGracePeriodSeconds": { - "description": "The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started. This is only used when your service is configured to use a load balancer. If your service has a load balancer defined and you don't specify a health check grace period value, the default value of ``0`` is used.\n If you do not use an Elastic Load Balancing, we recommend that you use the ``startPeriod`` in the task definition health check parameters. For more information, see [Health check](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.html).\n If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 2,147,483,647 seconds (about 69 years). During that time, the Amazon ECS service scheduler ignores health check status. This grace period can prevent the service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.", + "description": "The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you don't specify a health check grace period value, the default value of ``0`` is used. If you don't use any of the health checks, then ``healthCheckGracePeriodSeconds`` is unused.\n If your service's tasks take a while to start and respond to health checks, you can specify a health check grace period of up to 2,147,483,647 seconds (about 69 years). During that time, the Amazon ECS service scheduler ignores health check status. This grace period can prevent the service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.", "type": "integer", - "markdownDescription": "The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started. This is only used when your service is configured to use a load balancer. If your service has a load balancer defined and you don't specify a health check grace period value, the default value of ``0`` is used.\n If you do not use an Elastic Load Balancing, we recommend that you use the ``startPeriod`` in the task definition health check parameters. For more information, see [Health check](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.html).\n If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 2,147,483,647 seconds (about 69 years). During that time, the Amazon ECS service scheduler ignores health check status. This grace period can prevent the service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you don't specify a health check grace period value, the default value of ``0`` is used. If you don't use any of the health checks, then ``healthCheckGracePeriodSeconds`` is unused.\n If your service's tasks take a while to start and respond to health checks, you can specify a health check grace period of up to 2,147,483,647 seconds (about 69 years). During that time, the Amazon ECS service scheduler ignores health check status. This grace period can prevent the service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "EnableECSManagedTags": { "description": "Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see [Tagging your Amazon ECS resources](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) in the *Amazon Elastic Container Service Developer Guide*.\n When you use Amazon ECS managed tags, you need to set the ``propagateTags`` request parameter.", @@ -823,6 +875,14 @@ "type": "integer", "markdownDescription": "The number of instantiations of the specified task definition to place and keep running in your service.\n For new services, if a desired count is not specified, a default value of ``1`` is used. When using the ``DAEMON`` scheduling strategy, the desired count is not required.\n For existing services, if a desired count is not specified, it is omitted from the operation.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "VpcLatticeConfigurations": { + "description": "The VPC Lattice configuration for the service being created.", + "type": "array", + "items": { + "$ref": "#/definitions/VpcLatticeConfiguration" + }, + "markdownDescription": "The VPC Lattice configuration for the service being created.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "DeploymentController": { "description": "The deployment controller to use for the service. If no deployment controller is specified, the default value of ``ECS`` is used.", "$ref": "#/definitions/DeploymentController", diff --git a/server/schema/resources/aws-ecs-taskdefinition.json b/server/schema/resources/aws-ecs-taskdefinition.json index 010ee13c..ea08f482 100644 --- a/server/schema/resources/aws-ecs-taskdefinition.json +++ b/server/schema/resources/aws-ecs-taskdefinition.json @@ -1,6 +1,11 @@ { "sourceUrl": "https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html", "tagging": { + "permissions": [ + "ecs:TagResource", + "ecs:UntagResource", + "ecs:ListTagsForResource" + ], "taggable": true, "tagOnCreate": true, "tagUpdatable": true, @@ -59,6 +64,7 @@ "/properties/Family", "/properties/ContainerDefinitions", "/properties/Cpu", + "/properties/EnableFaultInjection", "/properties/ExecutionRoleArn", "/properties/InferenceAccelerators", "/properties/Memory", @@ -120,14 +126,14 @@ "type": "object", "properties": { "Command": { - "description": "A string array representing the command that the container runs to determine if it is healthy. The string array must start with ``CMD`` to run the command arguments directly, or ``CMD-SHELL`` to run the command with the container's default shell. \n When you use the AWS Management Console JSON panel, the CLIlong, or the APIs, enclose the list of commands in double quotes and brackets.\n ``[ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]`` \n You don't include the double quotes and brackets when you use the AWS Management Console.\n ``CMD-SHELL, curl -f http://localhost/ || exit 1`` \n An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker container create command", + "description": "A string array representing the command that the container runs to determine if it is healthy. The string array must start with ``CMD`` to run the command arguments directly, or ``CMD-SHELL`` to run the command with the container's default shell. \n When you use the AWS Management Console JSON panel, the CLIlong, or the APIs, enclose the list of commands in double quotes and brackets.\n ``[ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]`` \n You don't include the double quotes and brackets when you use the AWS Management Console.\n ``CMD-SHELL, curl -f http://localhost/ || exit 1`` \n An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in the docker container create command.", "insertionOrder": true, "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "A string array representing the command that the container runs to determine if it is healthy. The string array must start with ``CMD`` to run the command arguments directly, or ``CMD-SHELL`` to run the command with the container's default shell. \n When you use the AWS Management Console JSON panel, the CLIlong, or the APIs, enclose the list of commands in double quotes and brackets.\n ``[ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]`` \n You don't include the double quotes and brackets when you use the AWS Management Console.\n ``CMD-SHELL, curl -f http://localhost/ || exit 1`` \n An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker container create command\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A string array representing the command that the container runs to determine if it is healthy. The string array must start with ``CMD`` to run the command arguments directly, or ``CMD-SHELL`` to run the command with the container's default shell. \n When you use the AWS Management Console JSON panel, the CLIlong, or the APIs, enclose the list of commands in double quotes and brackets.\n ``[ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]`` \n You don't include the double quotes and brackets when you use the AWS Management Console.\n ``CMD-SHELL, curl -f http://localhost/ || exit 1`` \n An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in the docker container create command.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Timeout": { "description": "The time period in seconds to wait for a health check to succeed before it is considered a failure. You may specify between 2 and 60 seconds. The default value is 5.", @@ -215,13 +221,13 @@ }, "VolumesFrom": { "uniqueItems": true, - "description": "Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker container create command and the ``--volumes-from`` option to docker run.", + "description": "Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in the docker container create command and the ``--volumes-from`` option to docker run.", "insertionOrder": false, "type": "array", "items": { "$ref": "#/definitions/VolumeFrom" }, - "markdownDescription": "Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker container create command and the ``--volumes-from`` option to docker run.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in the docker container create command and the ``--volumes-from`` option to docker run.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Cpu": { "description": "The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker container create commandand the ``--cpu-shares`` option to docker run.\n This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value.\n You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024.\n Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units.\n On Linux container instances, the Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. The minimum valid CPU share value that the Linux kernel allows is 2, and the maximum valid CPU share value that the Linux kernel allows is 262144. However, the CPU parameter isn't required, and you can use CPU values below 2 or above 262144 in your container definitions. For CPU values below 2 (including null) or above 262144, the behavior varies based on your Amazon ECS container agent version:\n + *Agent versions less than or equal to 1.1.0:* Null and zero CPU values are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux kernel converts to two CPU shares.\n + *Agent versions greater than or equal to 1.2.0:* Null, zero, and CPU values of 1 are passed to Docker as 2.\n + *Agent versions greater than or equal to 1.84.0:* CPU values greater than 256 vCPU are passed to Docker as 256, which is equivalent to 262144 CPU shares.\n \n On Windows container instances, the CPU limit is enforced as an absolute limit, or a quota. Windows containers only have access to the specified amount of CPU that's described in the task definition. A null or zero CPU value is passed to Docker as ``0``, which Windows interprets as 1% of one CPU.", @@ -229,14 +235,14 @@ "markdownDescription": "The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker container create commandand the ``--cpu-shares`` option to docker run.\n This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value.\n You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024.\n Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units.\n On Linux container instances, the Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. The minimum valid CPU share value that the Linux kernel allows is 2, and the maximum valid CPU share value that the Linux kernel allows is 262144. However, the CPU parameter isn't required, and you can use CPU values below 2 or above 262144 in your container definitions. For CPU values below 2 (including null) or above 262144, the behavior varies based on your Amazon ECS container agent version:\n + *Agent versions less than or equal to 1.1.0:* Null and zero CPU values are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux kernel converts to two CPU shares.\n + *Agent versions greater than or equal to 1.2.0:* Null, zero, and CPU values of 1 are passed to Docker as 2.\n + *Agent versions greater than or equal to 1.84.0:* CPU values greater than 256 vCPU are passed to Docker as 256, which is equivalent to 262144 CPU shares.\n \n On Windows container instances, the CPU limit is enforced as an absolute limit, or a quota. Windows containers only have access to the specified amount of CPU that's described in the task definition. A null or zero CPU value is passed to Docker as ``0``, which Windows interprets as 1% of one CPU.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "EntryPoint": { - "description": "Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead.\n The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker container create command and the ``--entrypoint`` option to docker run.", + "description": "Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead.\n The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in the docker container create command and the ``--entrypoint`` option to docker run.", "insertionOrder": true, "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead.\n The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker container create command and the ``--entrypoint`` option to docker run.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead.\n The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in the docker container create command and the ``--entrypoint`` option to docker run.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "DnsServers": { "description": "A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the docker container create command and the ``--dns`` option to docker run.\n This parameter is not supported for Windows containers.", @@ -287,9 +293,9 @@ "markdownDescription": "A list of files containing the environment variables to pass to a container. This parameter maps to the ``--env-file`` option to docker run.\n You can specify up to ten environment files. The file must have a ``.env`` file extension. Each line in an environment file contains an environment variable in ``VARIABLE=VALUE`` format. Lines beginning with ``#`` are treated as comments and are ignored.\n If there are environment variables specified using the ``environment`` parameter in a container definition, they take precedence over the variables contained within an environment file. If multiple environment files are specified that contain the same variable, they're processed from the top down. We recommend that you use unique variable names. For more information, see [Specifying Environment Variables](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Name": { - "description": "The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker container create command and the ``--name`` option to docker run.", + "description": "The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in the docker container create command and the ``--name`` option to docker run.", "type": "string", - "markdownDescription": "The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker container create command and the ``--name`` option to docker run.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in the docker container create command and the ``--name`` option to docker run.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "FirelensConfiguration": { "description": "The FireLens configuration for the container. This is used to specify and configure a log router for container logs. For more information, see [Custom Log Routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*.", @@ -307,13 +313,13 @@ "markdownDescription": "A list of strings to provide custom configuration for multiple security systems. This field isn't valid for containers in tasks using the Fargate launch type.\n For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems.\n For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*.\n This parameter maps to ``SecurityOpt`` in the docker container create command and the ``--security-opt`` option to docker run.\n The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*.\n Valid values: \"no-new-privileges\" | \"apparmor:PROFILE\" | \"label:value\" | \"credentialspec:CredentialSpecFilePath\"\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "SystemControls": { - "description": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.", + "description": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in the docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.", "insertionOrder": false, "type": "array", "items": { "$ref": "#/definitions/SystemControl" }, - "markdownDescription": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in the docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Interactive": { "description": "When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker container create command and the ``--interactive`` option to docker run.", @@ -350,9 +356,9 @@ "markdownDescription": "A list of ``ulimits`` to set in the container. This parameter maps to ``Ulimits`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--ulimit`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). Valid naming values are displayed in the [Ulimit](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Ulimit.html) data type. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` \n This parameter is not supported for Windows containers.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "StopTimeout": { - "description": "Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own.\n For tasks using the Fargate launch type, the task or service requires the following platforms:\n + Linux platform version ``1.3.0`` or later.\n + Windows platform version ``1.0.0`` or later.\n \n The max stop timeout value is 120 seconds and if the parameter is not specified, the default value of 30 seconds is used.\n For tasks that use the EC2 launch type, if the ``stopTimeout`` parameter isn't specified, the value set for the Amazon ECS container agent configuration variable ``ECS_CONTAINER_STOP_TIMEOUT`` is used. If neither the ``stopTimeout`` parameter or the ``ECS_CONTAINER_STOP_TIMEOUT`` agent configuration variable are set, then the default values of 30 seconds for Linux containers and 30 seconds on Windows containers are used. Your container instances require at least version 1.26.0 of the container agent to use a container stop timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see [Updating the Amazon ECS Container Agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) in the *Amazon Elastic Container Service Developer Guide*. If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ``ecs-init`` package. If your container instances are launched from version ``20190301`` or later, then they contain the required versions of the container agent and ``ecs-init``. For more information, see [Amazon ECS-optimized Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) in the *Amazon Elastic Container Service Developer Guide*.\n The valid values are 2-120 seconds.", + "description": "Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own.\n For tasks using the Fargate launch type, the task or service requires the following platforms:\n + Linux platform version ``1.3.0`` or later.\n + Windows platform version ``1.0.0`` or later.\n \n For tasks that use the Fargate launch type, the max stop timeout value is 120 seconds and if the parameter is not specified, the default value of 30 seconds is used.\n For tasks that use the EC2 launch type, if the ``stopTimeout`` parameter isn't specified, the value set for the Amazon ECS container agent configuration variable ``ECS_CONTAINER_STOP_TIMEOUT`` is used. If neither the ``stopTimeout`` parameter or the ``ECS_CONTAINER_STOP_TIMEOUT`` agent configuration variable are set, then the default values of 30 seconds for Linux containers and 30 seconds on Windows containers are used. Your container instances require at least version 1.26.0 of the container agent to use a container stop timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see [Updating the Amazon ECS Container Agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) in the *Amazon Elastic Container Service Developer Guide*. If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ``ecs-init`` package. If your container instances are launched from version ``20190301`` or later, then they contain the required versions of the container agent and ``ecs-init``. For more information, see [Amazon ECS-optimized Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) in the *Amazon Elastic Container Service Developer Guide*.\n The valid values for Fargate are 2-120 seconds.", "type": "integer", - "markdownDescription": "Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own.\n For tasks using the Fargate launch type, the task or service requires the following platforms:\n + Linux platform version ``1.3.0`` or later.\n + Windows platform version ``1.0.0`` or later.\n \n The max stop timeout value is 120 seconds and if the parameter is not specified, the default value of 30 seconds is used.\n For tasks that use the EC2 launch type, if the ``stopTimeout`` parameter isn't specified, the value set for the Amazon ECS container agent configuration variable ``ECS_CONTAINER_STOP_TIMEOUT`` is used. If neither the ``stopTimeout`` parameter or the ``ECS_CONTAINER_STOP_TIMEOUT`` agent configuration variable are set, then the default values of 30 seconds for Linux containers and 30 seconds on Windows containers are used. Your container instances require at least version 1.26.0 of the container agent to use a container stop timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see [Updating the Amazon ECS Container Agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) in the *Amazon Elastic Container Service Developer Guide*. If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ``ecs-init`` package. If your container instances are launched from version ``20190301`` or later, then they contain the required versions of the container agent and ``ecs-init``. For more information, see [Amazon ECS-optimized Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) in the *Amazon Elastic Container Service Developer Guide*.\n The valid values are 2-120 seconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own.\n For tasks using the Fargate launch type, the task or service requires the following platforms:\n + Linux platform version ``1.3.0`` or later.\n + Windows platform version ``1.0.0`` or later.\n \n For tasks that use the Fargate launch type, the max stop timeout value is 120 seconds and if the parameter is not specified, the default value of 30 seconds is used.\n For tasks that use the EC2 launch type, if the ``stopTimeout`` parameter isn't specified, the value set for the Amazon ECS container agent configuration variable ``ECS_CONTAINER_STOP_TIMEOUT`` is used. If neither the ``stopTimeout`` parameter or the ``ECS_CONTAINER_STOP_TIMEOUT`` agent configuration variable are set, then the default values of 30 seconds for Linux containers and 30 seconds on Windows containers are used. Your container instances require at least version 1.26.0 of the container agent to use a container stop timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see [Updating the Amazon ECS Container Agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) in the *Amazon Elastic Container Service Developer Guide*. If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ``ecs-init`` package. If your container instances are launched from version ``20190301`` or later, then they contain the required versions of the container agent and ``ecs-init``. For more information, see [Amazon ECS-optimized Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) in the *Amazon Elastic Container Service Developer Guide*.\n The valid values for Fargate are 2-120 seconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "WorkingDirectory": { "description": "The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker container create command and the ``--workdir`` option to docker run.", @@ -379,15 +385,25 @@ "markdownDescription": "A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker container create command and the ``--add-host`` option to docker run.\n This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Hostname": { - "description": "The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker container create command and the ``--hostname`` option to docker run.\n The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode.", + "description": "The hostname to use for your container. This parameter maps to ``Hostname`` in the docker container create command and the ``--hostname`` option to docker run.\n The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode.", "type": "string", - "markdownDescription": "The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker container create command and the ``--hostname`` option to docker run.\n The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The hostname to use for your container. This parameter maps to ``Hostname`` in the docker container create command and the ``--hostname`` option to docker run.\n The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "LinuxParameters": { "description": "Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more information see [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html).\n This parameter is not supported for Windows containers.", "$ref": "#/definitions/LinuxParameters", "markdownDescription": "Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more information see [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html).\n This parameter is not supported for Windows containers.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, + "VersionConsistency": { + "default": "enabled", + "description": "Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. By default, the value is ``enabled``. If you set the value for a container as ``disabled``, Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment. For more information about container image resolution, see [Container image resolution](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html#deployment-container-image-stability) in the *Amazon ECS Developer Guide*.", + "type": "string", + "enum": [ + "enabled", + "disabled" + ], + "markdownDescription": "Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. By default, the value is ``enabled``. If you set the value for a container as ``disabled``, Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment. For more information about container image resolution, see [Container image resolution](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html#deployment-container-image-stability) in the *Amazon ECS Developer Guide*.\n\n---\n\nRequired: No \nType: String \nAllowed Values: enabled | disabled \nUpdate requires: No interruption" + }, "RestartPolicy": { "description": "The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*.", "$ref": "#/definitions/RestartPolicy", @@ -399,9 +415,9 @@ "markdownDescription": "When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker container create command.\n This parameter is not supported for Windows containers.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "PseudoTerminal": { - "description": "When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker container create command and the ``--tty`` option to docker run.", + "description": "When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in the docker container create command and the ``--tty`` option to docker run.", "type": "boolean", - "markdownDescription": "When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker container create command and the ``--tty`` option to docker run.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in the docker container create command and the ``--tty`` option to docker run.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "MountPoints": { "uniqueItems": true, @@ -479,7 +495,7 @@ "markdownDescription": "The ``ContainerDefinition`` property specifies a container definition. Container definitions are used in task definitions to describe the different containers that are launched as part of a task.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SystemControl": { - "description": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.\n We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages:\n + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect.\n + For tasks that use the ``host`` network mode, the network namespace ``systemControls`` aren't supported.\n \n If you're setting an IPC resource namespace to use for the containers in the task, the following conditions apply to your system controls. For more information, see [IPC mode](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#task_definition_ipcmode).\n + For tasks that use the ``host`` IPC mode, IPC namespace ``systemControls`` aren't supported.\n + For tasks that use the ``task`` IPC mode, IPC namespace ``systemControls`` values apply to all containers within a task.\n \n This parameter is not supported for Windows containers.\n This parameter is only supported for tasks that are hosted on FARGATElong if the tasks are using platform version ``1.4.0`` or later (Linux). This isn't supported for Windows containers on Fargate.", + "description": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in the docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.\n We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages:\n + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect.\n + For tasks that use the ``host`` network mode, the network namespace ``systemControls`` aren't supported.\n \n If you're setting an IPC resource namespace to use for the containers in the task, the following conditions apply to your system controls. For more information, see [IPC mode](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#task_definition_ipcmode).\n + For tasks that use the ``host`` IPC mode, IPC namespace ``systemControls`` aren't supported.\n + For tasks that use the ``task`` IPC mode, IPC namespace ``systemControls`` values apply to all containers within a task.\n \n This parameter is not supported for Windows containers.\n This parameter is only supported for tasks that are hosted on FARGATElong if the tasks are using platform version ``1.4.0`` or later (Linux). This isn't supported for Windows containers on Fargate.", "additionalProperties": false, "type": "object", "properties": { @@ -494,7 +510,7 @@ "markdownDescription": "The namespaced kernel parameter to set a ``value`` for.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.\n We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages:\n + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect.\n + For tasks that use the ``host`` network mode, the network namespace ``systemControls`` aren't supported.\n \n If you're setting an IPC resource namespace to use for the containers in the task, the following conditions apply to your system controls. For more information, see [IPC mode](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#task_definition_ipcmode).\n + For tasks that use the ``host`` IPC mode, IPC namespace ``systemControls`` aren't supported.\n + For tasks that use the ``task`` IPC mode, IPC namespace ``systemControls`` values apply to all containers within a task.\n \n This parameter is not supported for Windows containers.\n This parameter is only supported for tasks that are hosted on FARGATElong if the tasks are using platform version ``1.4.0`` or later (Linux). This isn't supported for Windows containers on Fargate.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in the docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.\n We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages:\n + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect.\n + For tasks that use the ``host`` network mode, the network namespace ``systemControls`` aren't supported.\n \n If you're setting an IPC resource namespace to use for the containers in the task, the following conditions apply to your system controls. For more information, see [IPC mode](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#task_definition_ipcmode).\n + For tasks that use the ``host`` IPC mode, IPC namespace ``systemControls`` aren't supported.\n + For tasks that use the ``task`` IPC mode, IPC namespace ``systemControls`` values apply to all containers within a task.\n \n This parameter is not supported for Windows containers.\n This parameter is only supported for tasks that are hosted on FARGATElong if the tasks are using platform version ``1.4.0`` or later (Linux). This isn't supported for Windows containers on Fargate.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "DockerVolumeConfiguration": { "description": "The ``DockerVolumeConfiguration`` property specifies a Docker volume configuration and is used when you use Docker volumes. Docker volumes are only supported when you are using the EC2 launch type. Windows containers only support the use of the ``local`` driver. To use bind mounts, specify a ``host`` instead.", @@ -567,10 +583,10 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``", + "description": "The configuration options to send to the log driver.\n The options you can specify depend on the log driver. Some of the options you can specify when you use the ``awslogs`` log driver to route logs to Amazon CloudWatch include the following:\n + awslogs-create-group Required: No Specify whether you want the log group to be created automatically. If this option isn't specified, it defaults to false. Your IAM policy must include the logs:CreateLogGroup permission before you attempt to use awslogs-create-group. + awslogs-region Required: Yes Specify the Region that the awslogs log driver is to send your Docker logs to. You can choose to send all of your logs from clusters in different Regions to a single region in CloudWatch Logs. This is so that they're all visible in one location. Otherwise, you can separate them by Region for more granularity. Make sure that the specified log group exists in the Region that you specify with this option. + awslogs-group Required: Yes Make sure to specify a log group that the awslogs log driver sends its log streams to. + awslogs-stream-prefix Required: Yes, when using the Fargate launch type.Optional for the EC2 launch type, required for the Fargate launch type. Use the awslogs-stream-prefix option to associate a log stream with the specified prefix, the container name, and the ID of the Amazon ECS task that the container belongs to. If you specify a prefix with this option, then the log stream takes the format prefix-name/container-name/ecs-task-id. If you don't specify a prefix with this option, then the log stream is named after the container ID that's assigned by the Docker daemon on the container instance. Because it's difficult to trace logs back to the container that sent them with just the Docker container ID (which is only available on the container instance), we recommend that you specify a prefix with this option. For Amazon ECS services, you can use the service name as the prefix. Doing so, you can trace log streams to the service that the container belongs to, the name of the container that sent them, and the ID of the task that the container belongs to. You must specify a stream-prefix for your logs to have your logs appear in the Log pane when using the Amazon ECS console. + awslogs-datetime-format Required: No This option defines a multiline start pattern in Python strftime format. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages. One example of a use case for using this format is for parsing output such as a stack dump, which might otherwise be logged in multiple entries. The correct pattern allows it to be captured in a single entry. For more information, see awslogs-datetime-format. You cannot configure both the awslogs-datetime-format and awslogs-multiline-pattern options. Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. + awslogs-multiline-pattern Required: No This option defines a multiline start pattern that uses a regular expression. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages. For more information, see awslogs-multiline-pattern. This option is ignored if awslogs-datetime-format is also configured. You cannot configure both the awslogs-datetime-format and awslogs-multiline-pattern options. Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. + mode Required: No Valid values: non-blocking | blocking This option defines the delivery mode of log messages from the container to CloudWatch Logs. The delivery mode you choose affects application availability when the flow of logs from container to CloudWatch is interrupted. If you use the blocking mode and the flow of logs to CloudWatch is interrupted, calls from container code to write to the stdout and stderr streams will block. The logging thread of the application will block as a result. This may cause the application to become unresponsive and lead to container healthcheck failure. If you use the non-blocking mode, the container's logs are instead stored in an in-memory intermediate buffer configured with the max-buffer-size option. This prevents the application from becoming unresponsive when logs cannot be sent to CloudWatch. We recommend using this mode if you want to ensure service availability and are okay with some log loss. For more information, see Preventing log loss with non-blocking mode in the awslogs container log driver. + max-buffer-size Required: No Default value: 1m When non-blocking mode is used, the max-buffer-size log option controls the size of the buffer that's used for intermediate message storage. Make sure to specify an adequate buffer size based on your application. When the buffer fills up, further logs cannot be stored. Logs that cannot be stored are lost. \n To route logs using the ``splunk`` log router, you need to specify a ``splunk-token`` and a ``splunk-url``.\n When you use the ``awsfirelens`` log router to route logs to an AWS Service or AWS Partner Network destination for log storage and analytics, you can set the ``log-driver-buffer-limit`` option to limit the number of events that are buffered in memory, before being sent to the log router container. It can help to resolve potential log loss issue because high throughput might result in memory running out for the buffer inside of Docker.\n Other options you can specify when using ``awsfirelens`` to route logs depend on the destination. When you export logs to Amazon Data Firehose, you can specify the AWS Region with ``region`` and a name for the log stream with ``delivery_stream``.\n When you export logs to Amazon Kinesis Data Streams, you can specify an AWS Region with ``region`` and a data stream name with ``stream``.\n When you export logs to Amazon OpenSearch Service, you can specify options like ``Name``, ``Host`` (OpenSearch Service endpoint without protocol), ``Port``, ``Index``, ``Type``, ``Aws_auth``, ``Aws_region``, ``Suppress_Type_Name``, and ``tls``. For more information, see [Under the hood: FireLens for Amazon ECS Tasks](https://docs.aws.amazon.com/containers/under-the-hood-firelens-for-amazon-ecs-tasks/).\n When you export logs to Amazon S3, you can specify the bucket using the ``bucket`` option. You can also specify ``region``, ``total_file_size``, ``upload_timeout``, and ``use_put_object`` as options.\n This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``", "additionalProperties": false, "type": "object", - "markdownDescription": "The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The configuration options to send to the log driver.\n The options you can specify depend on the log driver. Some of the options you can specify when you use the ``awslogs`` log driver to route logs to Amazon CloudWatch include the following:\n + awslogs-create-group Required: No Specify whether you want the log group to be created automatically. If this option isn't specified, it defaults to false. Your IAM policy must include the logs:CreateLogGroup permission before you attempt to use awslogs-create-group. + awslogs-region Required: Yes Specify the Region that the awslogs log driver is to send your Docker logs to. You can choose to send all of your logs from clusters in different Regions to a single region in CloudWatch Logs. This is so that they're all visible in one location. Otherwise, you can separate them by Region for more granularity. Make sure that the specified log group exists in the Region that you specify with this option. + awslogs-group Required: Yes Make sure to specify a log group that the awslogs log driver sends its log streams to. + awslogs-stream-prefix Required: Yes, when using the Fargate launch type.Optional for the EC2 launch type, required for the Fargate launch type. Use the awslogs-stream-prefix option to associate a log stream with the specified prefix, the container name, and the ID of the Amazon ECS task that the container belongs to. If you specify a prefix with this option, then the log stream takes the format prefix-name/container-name/ecs-task-id. If you don't specify a prefix with this option, then the log stream is named after the container ID that's assigned by the Docker daemon on the container instance. Because it's difficult to trace logs back to the container that sent them with just the Docker container ID (which is only available on the container instance), we recommend that you specify a prefix with this option. For Amazon ECS services, you can use the service name as the prefix. Doing so, you can trace log streams to the service that the container belongs to, the name of the container that sent them, and the ID of the task that the container belongs to. You must specify a stream-prefix for your logs to have your logs appear in the Log pane when using the Amazon ECS console. + awslogs-datetime-format Required: No This option defines a multiline start pattern in Python strftime format. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages. One example of a use case for using this format is for parsing output such as a stack dump, which might otherwise be logged in multiple entries. The correct pattern allows it to be captured in a single entry. For more information, see awslogs-datetime-format. You cannot configure both the awslogs-datetime-format and awslogs-multiline-pattern options. Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. + awslogs-multiline-pattern Required: No This option defines a multiline start pattern that uses a regular expression. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages. For more information, see awslogs-multiline-pattern. This option is ignored if awslogs-datetime-format is also configured. You cannot configure both the awslogs-datetime-format and awslogs-multiline-pattern options. Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. + mode Required: No Valid values: non-blocking | blocking This option defines the delivery mode of log messages from the container to CloudWatch Logs. The delivery mode you choose affects application availability when the flow of logs from container to CloudWatch is interrupted. If you use the blocking mode and the flow of logs to CloudWatch is interrupted, calls from container code to write to the stdout and stderr streams will block. The logging thread of the application will block as a result. This may cause the application to become unresponsive and lead to container healthcheck failure. If you use the non-blocking mode, the container's logs are instead stored in an in-memory intermediate buffer configured with the max-buffer-size option. This prevents the application from becoming unresponsive when logs cannot be sent to CloudWatch. We recommend using this mode if you want to ensure service availability and are okay with some log loss. For more information, see Preventing log loss with non-blocking mode in the awslogs container log driver. + max-buffer-size Required: No Default value: 1m When non-blocking mode is used, the max-buffer-size log option controls the size of the buffer that's used for intermediate message storage. Make sure to specify an adequate buffer size based on your application. When the buffer fills up, further logs cannot be stored. Logs that cannot be stored are lost. \n To route logs using the ``splunk`` log router, you need to specify a ``splunk-token`` and a ``splunk-url``.\n When you use the ``awsfirelens`` log router to route logs to an AWS Service or AWS Partner Network destination for log storage and analytics, you can set the ``log-driver-buffer-limit`` option to limit the number of events that are buffered in memory, before being sent to the log router container. It can help to resolve potential log loss issue because high throughput might result in memory running out for the buffer inside of Docker.\n Other options you can specify when using ``awsfirelens`` to route logs depend on the destination. When you export logs to Amazon Data Firehose, you can specify the AWS Region with ``region`` and a name for the log stream with ``delivery_stream``.\n When you export logs to Amazon Kinesis Data Streams, you can specify an AWS Region with ``region`` and a data stream name with ``stream``.\n When you export logs to Amazon OpenSearch Service, you can specify options like ``Name``, ``Host`` (OpenSearch Service endpoint without protocol), ``Port``, ``Index``, ``Type``, ``Aws_auth``, ``Aws_region``, ``Suppress_Type_Name``, and ``tls``. For more information, see [Under the hood: FireLens for Amazon ECS Tasks](https://docs.aws.amazon.com/containers/under-the-hood-firelens-for-amazon-ecs-tasks/).\n When you export logs to Amazon S3, you can specify the bucket using the ``bucket`` option. You can also specify ``region``, ``total_file_size``, ``upload_timeout``, and ``use_put_object`` as options.\n This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "LogDriver": { "description": "The log driver to use for the container.\n For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``.\n For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``syslog``, ``splunk``, and ``awsfirelens``.\n For more information about using the ``awslogs`` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*.\n For more information about using the ``awsfirelens`` log driver, see [Send Amazon ECS logs to an service or Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html).\n If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software.", @@ -740,9 +756,9 @@ "markdownDescription": "The protocol used for the port mapping. Valid values are ``tcp`` and ``udp``. The default is ``tcp``. ``protocol`` is immutable in a Service Connect service. Updating this field requires a service deletion and redeployment.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Name": { - "description": "The name that's used for the port mapping. This parameter only applies to Service Connect. This parameter is the name that you use in the ``serviceConnectConfiguration`` of a service. The name can include up to 64 characters. The characters can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen.\n For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*.", + "description": "The name that's used for the port mapping. This parameter is the name that you use in the ``serviceConnectConfiguration`` and the ``vpcLatticeConfigurations`` of a service. The name can include up to 64 characters. The characters can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen.", "type": "string", - "markdownDescription": "The name that's used for the port mapping. This parameter only applies to Service Connect. This parameter is the name that you use in the ``serviceConnectConfiguration`` of a service. The name can include up to 64 characters. The characters can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen.\n For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name that's used for the port mapping. This parameter is the name that you use in the ``serviceConnectConfiguration`` and the ``vpcLatticeConfigurations`` of a service. The name can include up to 64 characters. The characters can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "The ``PortMapping`` property specifies a port mapping. Port mappings allow containers to access ports on the host container instance to send or receive traffic. Port mappings are specified as part of the container definition.\n If you are using containers in a task with the ``awsvpc`` or ``host`` network mode, exposed ports should be specified using ``containerPort``. The ``hostPort`` can be left blank or it must be the same value as the ``containerPort``.\n After a task reaches the ``RUNNING`` status, manual and automatic host and container port assignments are visible in the ``networkBindings`` section of [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) API responses.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -920,13 +936,13 @@ "markdownDescription": "The value for the size (in MiB) of the ``/dev/shm`` volume. This parameter maps to the ``--shm-size`` option to docker run.\n If you are using tasks that use the Fargate launch type, the ``sharedMemorySize`` parameter is not supported.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Devices": { - "description": "Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker container create command and the ``--device`` option to docker run.\n If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported.", + "description": "Any host devices to expose to the container. This parameter maps to ``Devices`` in the docker container create command and the ``--device`` option to docker run.\n If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported.", "insertionOrder": false, "type": "array", "items": { "$ref": "#/definitions/Device" }, - "markdownDescription": "Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker container create command and the ``--device`` option to docker run.\n If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Any host devices to expose to the container. This parameter maps to ``Devices`` in the docker container create command and the ``--device`` option to docker run.\n If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "InitProcessEnabled": { "description": "Run an ``init`` process inside the container that forwards signals and reaps processes. This parameter maps to the ``--init`` option to docker run. This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``", @@ -952,14 +968,14 @@ ], "properties": { "SoftLimit": { - "description": "The soft limit for the ``ulimit`` type.", + "description": "The soft limit for the ``ulimit`` type. The value can be specified in bytes, seconds, or as a count, depending on the ``type`` of the ``ulimit``.", "type": "integer", - "markdownDescription": "The soft limit for the ``ulimit`` type.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The soft limit for the ``ulimit`` type. The value can be specified in bytes, seconds, or as a count, depending on the ``type`` of the ``ulimit``.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, "HardLimit": { - "description": "The hard limit for the ``ulimit`` type.", + "description": "The hard limit for the ``ulimit`` type. The value can be specified in bytes, seconds, or as a count, depending on the ``type`` of the ``ulimit``.", "type": "integer", - "markdownDescription": "The hard limit for the ``ulimit`` type.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The hard limit for the ``ulimit`` type. The value can be specified in bytes, seconds, or as a count, depending on the ``type`` of the ``ulimit``.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, "Name": { "description": "The ``type`` of the ``ulimit``.", @@ -1206,9 +1222,9 @@ "type": "object", "properties": { "SizeInGiB": { - "description": "The total amount, in GiB, of ephemeral storage to set for the task. The minimum supported value is ``20`` GiB and the maximum supported value is ``200`` GiB.", + "description": "The total amount, in GiB, of ephemeral storage to set for the task. The minimum supported value is ``21`` GiB and the maximum supported value is ``200`` GiB.", "type": "integer", - "markdownDescription": "The total amount, in GiB, of ephemeral storage to set for the task. The minimum supported value is ``20`` GiB and the maximum supported value is ``200`` GiB.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The total amount, in GiB, of ephemeral storage to set for the task. The minimum supported value is ``21`` GiB and the maximum supported value is ``200`` GiB.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "markdownDescription": "The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on FARGATElong. For more information, see [Using data volumes in tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html) in the *Amazon ECS Developer Guide;*.\n For tasks using the Fargate launch type, the task requires the following platforms:\n + Linux platform version ``1.4.0`` or later.\n + Windows platform version ``1.0.0`` or later.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -1303,6 +1319,11 @@ "type": "string", "markdownDescription": "The process namespace to use for the containers in the task. The valid values are ``host`` or ``task``. On Fargate for Linux containers, the only valid value is ``task``. For example, monitoring sidecars might need ``pidMode`` to access information about other containers running in the same task.\n If ``host`` is specified, all containers within the tasks that specified the ``host`` PID mode on the same container instance share the same process namespace with the host Amazon EC2 instance.\n If ``task`` is specified, all containers within the specified task share the same process namespace.\n If no value is specified, the default is a private namespace for each container.\n If the ``host`` PID mode is used, there's a heightened risk of undesired process namespace exposure.\n This parameter is not supported for Windows containers.\n This parameter is only supported for tasks that are hosted on FARGATElong if the tasks are using platform version ``1.4.0`` or later (Linux). This isn't supported for Windows containers on Fargate.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, + "EnableFaultInjection": { + "description": "Enables fault injection and allows for fault injection requests to be accepted from the task's containers. The default value is ``false``.", + "type": "boolean", + "markdownDescription": "Enables fault injection and allows for fault injection requests to be accepted from the task's containers. The default value is ``false``.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + }, "ExecutionRoleArn": { "description": "The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent permission to make AWS API calls on your behalf. For informationabout the required IAM roles for Amazon ECS, see [IAM roles for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-ecs-iam-role-overview.html) in the *Amazon Elastic Container Service Developer Guide*.", "type": "string", diff --git a/server/schema/resources/aws-ecs-taskset.json b/server/schema/resources/aws-ecs-taskset.json index a332794c..f7c497bd 100644 --- a/server/schema/resources/aws-ecs-taskset.json +++ b/server/schema/resources/aws-ecs-taskset.json @@ -1,85 +1,173 @@ { + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "permissions": [ + "ecs:TagResource", + "ecs:UntagResource", + "ecs:ListTagsForResource" + ], + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": false + }, + "handlers": { + "read": { + "permissions": [ + "ecs:DescribeTaskSets" + ] + }, + "create": { + "permissions": [ + "ecs:CreateTaskSet", + "ecs:DescribeTaskSets", + "ecs:TagResource" + ] + }, + "update": { + "permissions": [ + "ecs:DescribeTaskSets", + "ecs:TagResource", + "ecs:UntagResource", + "ecs:UpdateTaskSet" + ] + }, + "delete": { + "permissions": [ + "ecs:DeleteTaskSet", + "ecs:DescribeTaskSets" + ] + } + }, "typeName": "AWS::ECS::TaskSet", + "readOnlyProperties": [ + "/properties/Id" + ], "description": "Create a task set in the specified cluster and service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.htmlin the Amazon Elastic Container Service Developer Guide.", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition", + "/properties/CapacityProviderStrategy" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], "definitions": { - "LoadBalancer": { - "description": "A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer. ", + "CapacityProviderStrategyItem": { + "additionalProperties": false, "type": "object", "properties": { - "ContainerName": { - "description": "The name of the container (as it appears in a container definition) to associate with the load balancer.", + "CapacityProvider": { "type": "string", - "markdownDescription": "The name of the container (as it appears in a container definition) to associate with the load balancer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ContainerPort": { - "description": "The port on the container to associate with the load balancer. This port must correspond to a containerPort in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they are launched on must allow ingress traffic on the hostPort of the port mapping.", + "Base": { "type": "integer", - "markdownDescription": "The port on the container to associate with the load balancer. This port must correspond to a containerPort in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they are launched on must allow ingress traffic on the hostPort of the port mapping.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "TargetGroupArn": { - "description": "The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set. A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. If you are using a Classic Load Balancer this should be omitted. For services using the ECS deployment controller, you can specify one or multiple target groups. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html in the Amazon Elastic Container Service Developer Guide. For services using the CODE_DEPLOY deployment controller, you are required to define two target groups for the load balancer. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html in the Amazon Elastic Container Service Developer Guide. If your service's task definition uses the awsvpc network mode (which is required for the Fargate launch type), you must choose ip as the target type, not instance, when creating your target groups because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.", - "type": "string", - "markdownDescription": "The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set. A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. If you are using a Classic Load Balancer this should be omitted. For services using the ECS deployment controller, you can specify one or multiple target groups. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html in the Amazon Elastic Container Service Developer Guide. For services using the CODE_DEPLOY deployment controller, you are required to define two target groups for the load balancer. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html in the Amazon Elastic Container Service Developer Guide. If your service's task definition uses the awsvpc network mode (which is required for the Fargate launch type), you must choose ip as the target type, not instance, when creating your target groups because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "markdownDescription": "A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer. \n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "NetworkConfiguration": { - "description": "An object representing the network configuration for a task or service.", - "type": "object", - "properties": { - "AwsVpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" + "Weight": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "markdownDescription": "An object representing the network configuration for a task or service.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AwsVpcConfiguration": { "description": "The VPC subnets and security groups associated with a task. All specified subnets and security groups must be from the same VPC.", + "additionalProperties": false, "type": "object", "properties": { - "AssignPublicIp": { - "description": "Whether the task's elastic network interface receives a public IP address. The default value is DISABLED.", - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ], - "markdownDescription": "Whether the task's elastic network interface receives a public IP address. The default value is DISABLED.\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISABLED | ENABLED \nUpdate requires: No interruption" - }, "SecurityGroups": { + "maxItems": 5, "description": "The security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. There is a limit of 5 security groups that can be specified per AwsVpcConfiguration.", "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "maxItems": 5, "markdownDescription": "The security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. There is a limit of 5 security groups that can be specified per AwsVpcConfiguration.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Subnets": { + "maxItems": 16, "description": "The subnets associated with the task or service. There is a limit of 16 subnets that can be specified per AwsVpcConfiguration.", "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "maxItems": 16, "markdownDescription": "The subnets associated with the task or service. There is a limit of 16 subnets that can be specified per AwsVpcConfiguration.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "AssignPublicIp": { + "description": "Whether the task's elastic network interface receives a public IP address. The default value is DISABLED.", + "type": "string", + "enum": [ + "DISABLED", + "ENABLED" + ], + "markdownDescription": "Whether the task's elastic network interface receives a public IP address. The default value is DISABLED.\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISABLED | ENABLED \nUpdate requires: No interruption" } }, "required": [ "Subnets" ], - "additionalProperties": false, "markdownDescription": "The VPC subnets and security groups associated with a task. All specified subnets and security groups must be from the same VPC.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "LoadBalancer": { + "description": "A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer. ", + "additionalProperties": false, + "type": "object", + "properties": { + "TargetGroupArn": { + "description": "The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set. A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. If you are using a Classic Load Balancer this should be omitted. For services using the ECS deployment controller, you can specify one or multiple target groups. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html in the Amazon Elastic Container Service Developer Guide. For services using the CODE_DEPLOY deployment controller, you are required to define two target groups for the load balancer. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html in the Amazon Elastic Container Service Developer Guide. If your service's task definition uses the awsvpc network mode (which is required for the Fargate launch type), you must choose ip as the target type, not instance, when creating your target groups because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.", + "type": "string", + "markdownDescription": "The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set. A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. If you are using a Classic Load Balancer this should be omitted. For services using the ECS deployment controller, you can specify one or multiple target groups. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html in the Amazon Elastic Container Service Developer Guide. For services using the CODE_DEPLOY deployment controller, you are required to define two target groups for the load balancer. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html in the Amazon Elastic Container Service Developer Guide. If your service's task definition uses the awsvpc network mode (which is required for the Fargate launch type), you must choose ip as the target type, not instance, when creating your target groups because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ContainerName": { + "description": "The name of the container (as it appears in a container definition) to associate with the load balancer.", + "type": "string", + "markdownDescription": "The name of the container (as it appears in a container definition) to associate with the load balancer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ContainerPort": { + "description": "The port on the container to associate with the load balancer. This port must correspond to a containerPort in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they are launched on must allow ingress traffic on the hostPort of the port mapping.", + "type": "integer", + "markdownDescription": "The port on the container to associate with the load balancer. This port must correspond to a containerPort in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they are launched on must allow ingress traffic on the hostPort of the port mapping.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer. \n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "NetworkConfiguration": { + "description": "An object representing the network configuration for a task or service.", + "additionalProperties": false, + "type": "object", + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "markdownDescription": "An object representing the network configuration for a task or service.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "Scale": { + "additionalProperties": false, "type": "object", "properties": { + "Value": { + "description": "The value, specified as a percent total of a service's desiredCount, to scale the task set. Accepted values are numbers between 0 and 100.", + "maximum": 100, + "type": "number", + "minimum": 0, + "markdownDescription": "The value, specified as a percent total of a service's desiredCount, to scale the task set. Accepted values are numbers between 0 and 100.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, "Unit": { "description": "The unit of measure for the scale value.", "type": "string", @@ -87,19 +175,12 @@ "PERCENT" ], "markdownDescription": "The unit of measure for the scale value.\n\n---\n\nRequired: No \nType: String \nAllowed Values: PERCENT \nUpdate requires: No interruption" - }, - "Value": { - "description": "The value, specified as a percent total of a service's desiredCount, to scale the task set. Accepted values are numbers between 0 and 100.", - "type": "number", - "minimum": 0, - "maximum": 100, - "markdownDescription": "The value, specified as a percent total of a service's desiredCount, to scale the task set. Accepted values are numbers between 0 and 100.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ServiceRegistry": { + "additionalProperties": false, "type": "object", "properties": { "ContainerName": { @@ -107,60 +188,60 @@ "type": "string", "markdownDescription": "The container name value, already specified in the task definition, to be used for your service discovery service. If the task definition that your service task specifies uses the bridge or host network mode, you must specify a containerName and containerPort combination from the task definition. If the task definition that your service task specifies uses the awsvpc network mode and a type SRV DNS record is used, you must specify either a containerName and containerPort combination or a port value, but not both.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ContainerPort": { - "description": "The port value, already specified in the task definition, to be used for your service discovery service. If the task definition your service task specifies uses the bridge or host network mode, you must specify a containerName and containerPort combination from the task definition. If the task definition your service task specifies uses the awsvpc network mode and a type SRV DNS record is used, you must specify either a containerName and containerPort combination or a port value, but not both.", - "type": "integer", - "markdownDescription": "The port value, already specified in the task definition, to be used for your service discovery service. If the task definition your service task specifies uses the bridge or host network mode, you must specify a containerName and containerPort combination from the task definition. If the task definition your service task specifies uses the awsvpc network mode and a type SRV DNS record is used, you must specify either a containerName and containerPort combination or a port value, but not both.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, "Port": { "description": "The port value used if your service discovery service specified an SRV record. This field may be used if both the awsvpc network mode and SRV records are used.", "type": "integer", "markdownDescription": "The port value used if your service discovery service specified an SRV record. This field may be used if both the awsvpc network mode and SRV records are used.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "ContainerPort": { + "description": "The port value, already specified in the task definition, to be used for your service discovery service. If the task definition your service task specifies uses the bridge or host network mode, you must specify a containerName and containerPort combination from the task definition. If the task definition your service task specifies uses the awsvpc network mode and a type SRV DNS record is used, you must specify either a containerName and containerPort combination or a port value, but not both.", + "type": "integer", + "markdownDescription": "The port value, already specified in the task definition, to be used for your service discovery service. If the task definition your service task specifies uses the bridge or host network mode, you must specify a containerName and containerPort combination from the task definition. If the task definition your service task specifies uses the awsvpc network mode and a type SRV DNS record is used, you must specify either a containerName and containerPort combination or a port value, but not both.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, "RegistryArn": { "description": "The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is AWS Cloud Map. For more information, see https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html", "type": "string", "markdownDescription": "The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is AWS Cloud Map. For more information, see https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { + "additionalProperties": false, "type": "object", "properties": { - "Key": { + "Value": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Value": { + "Key": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], "properties": { - "Cluster": { - "description": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in.", + "PlatformVersion": { + "description": "The platform version that the tasks in the task set should use. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATEST platform version is used by default.", "type": "string", - "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The platform version that the tasks in the task set should use. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATEST platform version is used by default.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "ExternalId": { "description": "An optional non-unique tag that identifies this task set in external systems. If the task set is associated with a service discovery registry, the tasks in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided value. ", "type": "string", "markdownDescription": "An optional non-unique tag that identifies this task set in external systems. If the task set is associated with a service discovery registry, the tasks in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided value. \n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "LaunchType": { - "description": "The launch type that new tasks in the task set will use. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html in the Amazon Elastic Container Service Developer Guide. ", + "Cluster": { + "description": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in.", "type": "string", - "enum": [ - "EC2", - "FARGATE" - ], - "markdownDescription": "The launch type that new tasks in the task set will use. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html in the Amazon Elastic Container Service Developer Guide. \n\n---\n\nRequired: No \nType: String \nAllowed Values: EC2 | FARGATE \nUpdate requires: Replacement" + "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "LoadBalancers": { "type": "array", @@ -169,24 +250,16 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlatformVersion": { - "description": "The platform version that the tasks in the task set should use. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATEST platform version is used by default.", + "Service": { + "description": "The short name or full Amazon Resource Name (ARN) of the service to create the task set in.", "type": "string", - "markdownDescription": "The platform version that the tasks in the task set should use. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATEST platform version is used by default.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the service to create the task set in.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "Scale": { "description": "A floating-point percentage of the desired number of tasks to place and keep running in the task set.", "$ref": "#/definitions/Scale", "markdownDescription": "A floating-point percentage of the desired number of tasks to place and keep running in the task set.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "Service": { - "description": "The short name or full Amazon Resource Name (ARN) of the service to create the task set in.", - "type": "string", - "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the service to create the task set in.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, "ServiceRegistries": { "description": "The details of the service discovery registries to assign to this task set. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html.", "type": "array", @@ -195,78 +268,38 @@ }, "markdownDescription": "The details of the service discovery registries to assign to this task set. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" }, - "Tags": { + "CapacityProviderStrategy": { "type": "array", "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/CapacityProviderStrategyItem" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + }, + "LaunchType": { + "description": "The launch type that new tasks in the task set will use. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html in the Amazon Elastic Container Service Developer Guide. ", + "type": "string", + "enum": [ + "EC2", + "FARGATE" + ], + "markdownDescription": "The launch type that new tasks in the task set will use. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html in the Amazon Elastic Container Service Developer Guide. \n\n---\n\nRequired: No \nType: String \nAllowed Values: EC2 | FARGATE \nUpdate requires: Replacement" }, "TaskDefinition": { "description": "The short name or full Amazon Resource Name (ARN) of the task definition for the tasks in the task set to use.", "type": "string", "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the task definition for the tasks in the task set to use.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - } - }, - "required": [ - "Cluster", - "Service", - "TaskDefinition" - ], - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "cloudFormationSystemTags": false - }, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/ExternalId", - "/properties/LaunchType", - "/properties/LoadBalancers", - "/properties/NetworkConfiguration", - "/properties/PlatformVersion", - "/properties/Service", - "/properties/ServiceRegistries", - "/properties/TaskDefinition" - ], - "readOnlyProperties": [ - "/properties/Id" - ], - "primaryIdentifier": [ - "/properties/Cluster", - "/properties/Service", - "/properties/Id" - ], - "handlers": { - "create": { - "permissions": [ - "ecs:CreateTaskSet", - "ecs:DescribeTaskSets", - "ecs:TagResource" - ] }, - "read": { - "permissions": [ - "ecs:DescribeTaskSets" - ] - }, - "update": { - "permissions": [ - "ecs:DescribeTaskSets", - "ecs:TagResource", - "ecs:UntagResource", - "ecs:UpdateTaskSet" - ] + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" }, - "delete": { - "permissions": [ - "ecs:DeleteTaskSet", - "ecs:DescribeTaskSets" - ] + "Tags": { + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "additionalProperties": false, "attributes": { "Id": { "description": "The ID of the task set.", diff --git a/server/schema/resources/aws-efs-accesspoint.json b/server/schema/resources/aws-efs-accesspoint.json index 7332d782..1f5bec8f 100644 --- a/server/schema/resources/aws-efs-accesspoint.json +++ b/server/schema/resources/aws-efs-accesspoint.json @@ -167,8 +167,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": false, - "tagProperty": "/properties/AccessPointTags" + "cloudFormationSystemTags": true, + "tagProperty": "/properties/AccessPointTags", + "permissions": [ + "elasticfilesystem:TagResource", + "elasticfilesystem:ListTagsForResource", + "elasticfilesystem:UntagResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-efs-filesystem.json b/server/schema/resources/aws-efs-filesystem.json index 2bba91c6..546af457 100644 --- a/server/schema/resources/aws-efs-filesystem.json +++ b/server/schema/resources/aws-efs-filesystem.json @@ -82,8 +82,8 @@ "DISABLED", "ENABLED" ], - "description": "The status of the file system's replication overwrite protection.\n + ``ENABLED`` \u2013 The file system cannot be used as the destination file system in a replication configuration. The file system is writeable. Replication overwrite protection is ``ENABLED`` by default. \n + ``DISABLED`` \u2013 The file system can be used as the destination file system in a replication configuration. The file system is read-only and can only be modified by EFS replication.\n + ``REPLICATING`` \u2013 The file system is being used as the destination file system in a replication configuration. The file system is read-only and is only modified only by EFS replication.\n \n If the replication configuration is deleted, the file system's replication overwrite protection is re-enabled, the file system becomes writeable.", - "markdownDescription": "The status of the file system's replication overwrite protection.\n + ``ENABLED`` \u2013 The file system cannot be used as the destination file system in a replication configuration. The file system is writeable. Replication overwrite protection is ``ENABLED`` by default. \n + ``DISABLED`` \u2013 The file system can be used as the destination file system in a replication configuration. The file system is read-only and can only be modified by EFS replication.\n + ``REPLICATING`` \u2013 The file system is being used as the destination file system in a replication configuration. The file system is read-only and is only modified only by EFS replication.\n \n If the replication configuration is deleted, the file system's replication overwrite protection is re-enabled, the file system becomes writeable.\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISABLED | ENABLED \nUpdate requires: No interruption" + "description": "The status of the file system's replication overwrite protection.\n + ``ENABLED`` \u2013 The file system cannot be used as the destination file system in a replication configuration. The file system is writeable. Replication overwrite protection is ``ENABLED`` by default. \n + ``DISABLED`` \u2013 The file system can be used as the destination file system in a replication configuration. The file system is read-only and can only be modified by EFS replication.\n + ``REPLICATING`` \u2013 The file system is being used as the destination file system in a replication configuration. The file system is read-only and is modified only by EFS replication.\n \n If the replication configuration is deleted, the file system's replication overwrite protection is re-enabled, the file system becomes writeable.", + "markdownDescription": "The status of the file system's replication overwrite protection.\n + ``ENABLED`` \u2013 The file system cannot be used as the destination file system in a replication configuration. The file system is writeable. Replication overwrite protection is ``ENABLED`` by default. \n + ``DISABLED`` \u2013 The file system can be used as the destination file system in a replication configuration. The file system is read-only and can only be modified by EFS replication.\n + ``REPLICATING`` \u2013 The file system is being used as the destination file system in a replication configuration. The file system is read-only and is modified only by EFS replication.\n \n If the replication configuration is deleted, the file system's replication overwrite protection is re-enabled, the file system becomes writeable.\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISABLED | ENABLED \nUpdate requires: No interruption" } }, "description": "Describes the protection on the file system.", @@ -93,16 +93,31 @@ "type": "object", "additionalProperties": false, "properties": { + "Status": { + "type": "string", + "description": "Describes the status of the replication configuration. For more information about replication status, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide*.", + "markdownDescription": "Describes the status of the replication configuration. For more information about replication status, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "StatusMessage": { + "type": "string", + "description": "Message that provides details about the ``PAUSED`` or ``ERRROR`` state of the replication destination configuration. For more information about replication status messages, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide*.", + "markdownDescription": "Message that provides details about the ``PAUSED`` or ``ERRROR`` state of the replication destination configuration. For more information about replication status messages, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "FileSystemId": { "type": "string", "description": "The ID of the destination Amazon EFS file system.", - "markdownDescription": "The ID of the destination Amazon EFS file system.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ID of the destination Amazon EFS file system.\n\n---\n\nRequired: No \nType: String \nPattern: ^(arn:aws[-a-z]*:elasticfilesystem:[0-9a-z-:]+:file-system/fs-[0-9a-f]{8,40}|fs-[0-9a-f]{8,40})$ \nUpdate requires: No interruption" }, "Region": { "type": "string", "description": "The AWS-Region in which the destination file system is located.\n For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located.", "markdownDescription": "The AWS-Region in which the destination file system is located.\n For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "RoleArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the current source file system in the replication configuration.", + "markdownDescription": "The Amazon Resource Name (ARN) of the current source file system in the replication configuration.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "AvailabilityZoneName": { "type": "string", "description": "For One Zone file systems, the replication configuration must specify the Availability Zone in which the destination file system is located. \n Use the format ``us-east-1a`` to specify the Availability Zone. For more information about One Zone file systems, see [EFS file system types](https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html) in the *Amazon EFS User Guide*.\n One Zone file system type is not available in all Availability Zones in AWS-Regions where Amazon EFS is available.", @@ -215,7 +230,9 @@ "additionalProperties": false, "readOnlyProperties": [ "/properties/Arn", - "/properties/FileSystemId" + "/properties/FileSystemId", + "/properties/ReplicationConfiguration/Destinations/*/Status", + "/properties/ReplicationConfiguration/Destinations/*/StatusMessage" ], "primaryIdentifier": [ "/properties/FileSystemId" @@ -233,14 +250,21 @@ ], "propertyTransform": { "/properties/KmsKeyId": "\"arn:aws[-a-z]*:kms:[a-z0-9-]+:[0-9]{12}:key/[a-zA-Z0-9-]+\"", - "/properties/FileSystemProtection/ReplicationOverwriteProtection": "$uppercase(FileSystemProtection.ReplicationOverwriteProtection)='DISABLED' ? 'REPLICATING' : $uppercase(FileSystemProtection.ReplicationOverwriteProtection)" + "/properties/FileSystemProtection/ReplicationOverwriteProtection": "$uppercase(FileSystemProtection.ReplicationOverwriteProtection)='DISABLED' ? 'REPLICATING' : $uppercase(FileSystemProtection.ReplicationOverwriteProtection)", + "/properties/ReplicationConfiguration/Destinations/*/FileSystemId": "$split(FileSystemId, \"/\")[-1]" }, "tagging": { "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": false, - "tagProperty": "/properties/FileSystemTags" + "cloudFormationSystemTags": true, + "tagProperty": "/properties/FileSystemTags", + "permissions": [ + "elasticfilesystem:TagResource", + "elasticfilesystem:ListTagsForResource", + "elasticfilesystem:UntagResource", + "elasticfilesystem:DeleteTags" + ] }, "handlers": { "create": { @@ -256,7 +280,9 @@ "elasticfilesystem:UpdateFileSystemProtection", "kms:DescribeKey", "kms:GenerateDataKeyWithoutPlaintext", - "kms:CreateGrant" + "kms:CreateGrant", + "iam:PassRole", + "iam:CreateServiceLinkedRole" ] }, "read": { @@ -289,7 +315,9 @@ "elasticfilesystem:UpdateFileSystemProtection", "kms:DescribeKey", "kms:GenerateDataKeyWithoutPlaintext", - "kms:CreateGrant" + "kms:CreateGrant", + "iam:PassRole", + "iam:CreateServiceLinkedRole" ] }, "delete": { diff --git a/server/schema/resources/aws-eks-accessentry.json b/server/schema/resources/aws-eks-accessentry.json index d02517a8..14278f4a 100644 --- a/server/schema/resources/aws-eks-accessentry.json +++ b/server/schema/resources/aws-eks-accessentry.json @@ -142,7 +142,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "eks:TagResource", + "eks:UntagResource" + ] }, "additionalProperties": false, "required": [ diff --git a/server/schema/resources/aws-eks-cluster.json b/server/schema/resources/aws-eks-cluster.json index 6cb22533..1f9055a1 100644 --- a/server/schema/resources/aws-eks-cluster.json +++ b/server/schema/resources/aws-eks-cluster.json @@ -1,207 +1,125 @@ { - "tagging": { - "permissions": [ - "eks:TagResource", - "eks:UntagResource" - ], - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "tagProperty": "/properties/Tags", - "cloudFormationSystemTags": true - }, "typeName": "AWS::EKS::Cluster", - "readOnlyProperties": [ - "/properties/Id", - "/properties/Arn", - "/properties/Endpoint", - "/properties/CertificateAuthorityData", - "/properties/ClusterSecurityGroupId", - "/properties/EncryptionConfigKeyArn", - "/properties/OpenIdConnectIssuerUrl", - "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" - ], "description": "An object representing an Amazon EKS cluster.", - "createOnlyProperties": [ - "/properties/OutpostConfig", - "/properties/EncryptionConfig", - "/properties/KubernetesNetworkConfig", - "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", - "/properties/Name", - "/properties/RoleArn", - "/properties/BootstrapSelfManagedAddons" - ], - "primaryIdentifier": [ - "/properties/Name" - ], - "required": [ - "RoleArn", - "ResourcesVpcConfig" - ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-eks.git", - "handlers": { - "read": { - "permissions": [ - "eks:DescribeCluster" - ] - }, - "create": { - "permissions": [ - "eks:CreateCluster", - "eks:DescribeCluster", - "eks:TagResource", - "iam:PassRole", - "iam:GetRole", - "iam:ListAttachedRolePolicies", - "iam:CreateServiceLinkedRole", - "iam:CreateInstanceProfile", - "iam:TagInstanceProfile", - "iam:AddRoleToInstanceProfile", - "iam:GetInstanceProfile", - "iam:DeleteInstanceProfile", - "iam:RemoveRoleFromInstanceProfile", - "ec2:DescribeSubnets", - "ec2:DescribeVpcs", - "kms:DescribeKey", - "kms:CreateGrant" - ] - }, - "update": { - "permissions": [ - "iam:PassRole", - "eks:UpdateClusterConfig", - "eks:UpdateClusterVersion", - "eks:DescribeCluster", - "eks:DescribeUpdate", - "eks:TagResource", - "eks:UntagResource" - ], - "timeoutInMinutes": 180 - }, - "list": { - "permissions": [ - "eks:ListClusters" - ] - }, - "delete": { - "permissions": [ - "eks:DeleteCluster", - "eks:DescribeCluster" - ] - } - }, - "writeOnlyProperties": [ - "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", - "/properties/BootstrapSelfManagedAddons" - ], - "additionalProperties": false, "definitions": { - "Logging": { - "description": "Enable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs based on log types. By default, cluster control plane logs aren't exported to CloudWatch Logs.", - "additionalProperties": false, + "Tag": { + "description": "A key-value pair to associate with a resource.", "type": "object", "properties": { - "ClusterLogging": { - "description": "The cluster control plane logging configuration for your cluster. ", - "$ref": "#/definitions/ClusterLogging", - "markdownDescription": "The cluster control plane logging configuration for your cluster. \n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "Key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" } }, - "markdownDescription": "Enable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs based on log types. By default, cluster control plane logs aren't exported to CloudWatch Logs.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "RemoteNodeNetworks": { - "description": "Network configuration of nodes run on-premises with EKS Hybrid Nodes.", - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/RemoteNodeNetwork" - }, - "markdownDescription": "Network configuration of nodes run on-premises with EKS Hybrid Nodes.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "EnabledTypes": { - "description": "Enable control plane logs for your cluster, all log types will be disabled if the array is empty", - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/LoggingTypeConfig" - }, - "markdownDescription": "Enable control plane logs for your cluster, all log types will be disabled if the array is empty\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "ControlPlanePlacement": { - "description": "Specify the placement group of the control plane machines for your cluster.", + "required": [ + "Key", + "Value" + ], "additionalProperties": false, + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Provider": { "type": "object", + "additionalProperties": false, "properties": { - "GroupName": { - "description": "Specify the placement group name of the control place machines for your cluster.", + "KeyArn": { + "description": "Amazon Resource Name (ARN) or alias of the KMS key. The KMS key must be symmetric, created in the same region as the cluster, and if the KMS key was created in a different account, the user must have access to the KMS key.", "type": "string", - "markdownDescription": "Specify the placement group name of the control place machines for your cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Amazon Resource Name (ARN) or alias of the KMS key. The KMS key must be symmetric, created in the same region as the cluster, and if the KMS key was created in a different account, the user must have access to the KMS key.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "Specify the placement group of the control plane machines for your cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ZonalShiftConfig": { - "description": "The current zonal shift configuration to use for the cluster.", - "additionalProperties": false, + "EncryptionConfig": { + "description": "The encryption configuration for the cluster", "type": "object", "properties": { - "Enabled": { - "description": "Set this value to true to enable zonal shift for the cluster.", - "type": "boolean", - "markdownDescription": "Set this value to true to enable zonal shift for the cluster.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "Provider": { + "description": "The encryption provider for the cluster.", + "$ref": "#/definitions/Provider", + "markdownDescription": "The encryption provider for the cluster.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Resources": { + "description": "Specifies the resources to be encrypted. The only supported value is \"secrets\".", + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "Specifies the resources to be encrypted. The only supported value is \"secrets\".\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "The current zonal shift configuration to use for the cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "AccessConfig": { - "description": "An object representing the Access Config to use for the cluster.", "additionalProperties": false, + "markdownDescription": "The encryption configuration for the cluster\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ResourcesVpcConfig": { + "description": "An object representing the VPC configuration to use for an Amazon EKS cluster.", "type": "object", + "additionalProperties": false, "properties": { - "AuthenticationMode": { - "description": "Specify the authentication mode that should be used to create your cluster.", - "type": "string", - "enum": [ - "CONFIG_MAP", - "API_AND_CONFIG_MAP", - "API" - ], - "markdownDescription": "Specify the authentication mode that should be used to create your cluster.\n\n---\n\nRequired: No \nType: String \nAllowed Values: CONFIG_MAP | API_AND_CONFIG_MAP | API \nUpdate requires: No interruption" + "EndpointPrivateAccess": { + "description": "Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is false, which disables private access for your Kubernetes API server. If you disable private access and you have nodes or AWS Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the nodes or Fargate pods.", + "type": "boolean", + "markdownDescription": "Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is false, which disables private access for your Kubernetes API server. If you disable private access and you have nodes or AWS Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the nodes or Fargate pods.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "BootstrapClusterCreatorAdminPermissions": { - "description": "Set this value to false to avoid creating a default cluster admin Access Entry using the IAM principal used to create the cluster.", + "EndpointPublicAccess": { + "description": "Set this value to false to disable public access to your cluster's Kubernetes API server endpoint. If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is true, which enables public access for your Kubernetes API server.", "type": "boolean", - "markdownDescription": "Set this value to false to avoid creating a default cluster admin Access Entry using the IAM principal used to create the cluster.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - } - }, - "markdownDescription": "An object representing the Access Config to use for the cluster.\n\n---\n\nRequired: No \nUpdate requires: Replacement" - }, - "EncryptionConfig": { - "description": "The encryption configuration for the cluster", - "additionalProperties": false, - "type": "object", - "properties": { - "Resources": { - "description": "Specifies the resources to be encrypted. The only supported value is \"secrets\".", + "markdownDescription": "Set this value to false to disable public access to your cluster's Kubernetes API server endpoint. If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is true, which enables public access for your Kubernetes API server.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "PublicAccessCidrs": { + "description": "The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0. If you've disabled private endpoint access and you have nodes or AWS Fargate pods in the cluster, then ensure that you specify the necessary CIDR blocks.", + "type": "array", "insertionOrder": false, + "items": { + "type": "string", + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0. If you've disabled private endpoint access and you have nodes or AWS Fargate pods in the cluster, then ensure that you specify the necessary CIDR blocks.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SecurityGroupIds": { + "description": "Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. If you don't specify a security group, the default security group for your VPC is used.", "type": "array", + "insertionOrder": false, "items": { "type": "string", + "minItems": 1, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "Specifies the resources to be encrypted. The only supported value is \"secrets\".\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. If you don't specify a security group, the default security group for your VPC is used.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Provider": { - "description": "The encryption provider for the cluster.", - "$ref": "#/definitions/Provider", - "markdownDescription": "The encryption provider for the cluster.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "SubnetIds": { + "description": "Specify subnets for your Amazon EKS nodes. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your nodes and the Kubernetes control plane.", + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "Specify subnets for your Amazon EKS nodes. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your nodes and the Kubernetes control plane.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "The encryption configuration for the cluster\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "required": [ + "SubnetIds" + ], + "markdownDescription": "An object representing the VPC configuration to use for an Amazon EKS cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "LoggingTypeConfig": { "description": "Enabled Logging Type", - "additionalProperties": false, "type": "object", "properties": { "Type": { @@ -217,12 +135,22 @@ "markdownDescription": "name of the log type\n\n---\n\nRequired: No \nType: String \nAllowed Values: api | audit | authenticator | controllerManager | scheduler \nUpdate requires: No interruption" } }, + "additionalProperties": false, "markdownDescription": "Enabled Logging Type\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "EnabledTypes": { + "description": "Enable control plane logs for your cluster, all log types will be disabled if the array is empty", + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LoggingTypeConfig" + }, + "markdownDescription": "Enable control plane logs for your cluster, all log types will be disabled if the array is empty\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "ClusterLogging": { "description": "The cluster control plane logging configuration for your cluster. ", - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { "EnabledTypes": { "$ref": "#/definitions/EnabledTypes" @@ -230,323 +158,500 @@ }, "markdownDescription": "The cluster control plane logging configuration for your cluster. \n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "KubernetesNetworkConfig": { - "description": "The Kubernetes network configuration for the cluster.", - "additionalProperties": false, + "Logging": { + "description": "Enable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs based on log types. By default, cluster control plane logs aren't exported to CloudWatch Logs.", "type": "object", - "properties": { - "ServiceIpv4Cidr": { - "description": "The CIDR block to assign Kubernetes service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. ", - "type": "string", - "markdownDescription": "The CIDR block to assign Kubernetes service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. \n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "ServiceIpv6Cidr": { - "description": "The CIDR block to assign Kubernetes service IP addresses from.", - "type": "string", - "markdownDescription": "The CIDR block to assign Kubernetes service IP addresses from.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "IpFamily": { - "description": "Ipv4 or Ipv6. You can only specify ipv6 for 1.21 and later clusters that use version 1.10.1 or later of the Amazon VPC CNI add-on", - "type": "string", - "enum": [ - "ipv4", - "ipv6" - ], - "markdownDescription": "Ipv4 or Ipv6. You can only specify ipv6 for 1.21 and later clusters that use version 1.10.1 or later of the Amazon VPC CNI add-on\n\n---\n\nRequired: No \nType: String \nAllowed Values: ipv4 | ipv6 \nUpdate requires: No interruption" - } - }, - "markdownDescription": "The Kubernetes network configuration for the cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Provider": { "additionalProperties": false, - "type": "object", "properties": { - "KeyArn": { - "description": "Amazon Resource Name (ARN) or alias of the KMS key. The KMS key must be symmetric, created in the same region as the cluster, and if the KMS key was created in a different account, the user must have access to the KMS key.", - "type": "string", - "markdownDescription": "Amazon Resource Name (ARN) or alias of the KMS key. The KMS key must be symmetric, created in the same region as the cluster, and if the KMS key was created in a different account, the user must have access to the KMS key.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "ClusterLogging": { + "description": "The cluster control plane logging configuration for your cluster. ", + "$ref": "#/definitions/ClusterLogging", + "markdownDescription": "The cluster control plane logging configuration for your cluster. \n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Enable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs based on log types. By default, cluster control plane logs aren't exported to CloudWatch Logs.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "RemoteNodeNetwork": { "description": "Network configuration of nodes run on-premises with EKS Hybrid Nodes.", - "additionalProperties": false, "type": "object", "properties": { "Cidrs": { "description": "Specifies the list of remote node CIDRs.", - "insertionOrder": false, "type": "array", + "insertionOrder": false, "items": { - "minItems": 1, "type": "string", + "minItems": 1, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "markdownDescription": "Specifies the list of remote node CIDRs.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, + "additionalProperties": false, "required": [ "Cidrs" ], "markdownDescription": "Network configuration of nodes run on-premises with EKS Hybrid Nodes.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "UpgradePolicy": { - "description": "An object representing the Upgrade Policy to use for the cluster.", - "additionalProperties": false, + "RemoteNodeNetworks": { + "description": "Network configuration of nodes run on-premises with EKS Hybrid Nodes.", + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/RemoteNodeNetwork" + }, + "markdownDescription": "Network configuration of nodes run on-premises with EKS Hybrid Nodes.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "RemotePodNetwork": { + "description": "Network configuration of pods run on-premises with EKS Hybrid Nodes.", "type": "object", "properties": { - "SupportType": { - "description": "Specify the support type for your cluster.", - "type": "string", - "enum": [ - "STANDARD", - "EXTENDED" - ], - "markdownDescription": "Specify the support type for your cluster.\n\n---\n\nRequired: No \nType: String \nAllowed Values: STANDARD | EXTENDED \nUpdate requires: No interruption" + "Cidrs": { + "description": "Specifies the list of remote pod CIDRs.", + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "Specifies the list of remote pod CIDRs.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "An object representing the Upgrade Policy to use for the cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "required": [ + "Cidrs" + ], + "markdownDescription": "Network configuration of pods run on-premises with EKS Hybrid Nodes.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "RemotePodNetworks": { "description": "Network configuration of pods run on-premises with EKS Hybrid Nodes.", - "insertionOrder": false, "type": "array", + "insertionOrder": false, "items": { "$ref": "#/definitions/RemotePodNetwork" }, "markdownDescription": "Network configuration of pods run on-premises with EKS Hybrid Nodes.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Tag": { - "description": "A key-value pair to associate with a resource.", + "RemoteNetworkConfig": { + "description": "Configuration fields for specifying on-premises node and pod CIDRs that are external to the VPC passed during cluster creation.", "additionalProperties": false, "type": "object", "properties": { - "Value": { - "minLength": 0, - "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", - "type": "string", - "maxLength": 256, - "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + "RemoteNodeNetworks": { + "description": "Network configuration of nodes run on-premises with EKS Hybrid Nodes.", + "$ref": "#/definitions/RemoteNodeNetworks", + "markdownDescription": "Network configuration of nodes run on-premises with EKS Hybrid Nodes.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, - "Key": { - "minLength": 1, - "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", - "type": "string", - "maxLength": 128, - "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "RemotePodNetworks": { + "description": "Network configuration of pods run on-premises with EKS Hybrid Nodes.", + "$ref": "#/definitions/RemotePodNetworks", + "markdownDescription": "Network configuration of pods run on-premises with EKS Hybrid Nodes.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ - "Key", - "Value" + "RemoteNodeNetworks" ], - "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Configuration fields for specifying on-premises node and pod CIDRs that are external to the VPC passed during cluster creation.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "OutpostConfig": { - "description": "An object representing the Outpost configuration to use for AWS EKS outpost cluster.", + "ComputeConfig": { + "description": "Todo: add description", "additionalProperties": false, "type": "object", "properties": { - "OutpostArns": { - "description": "Specify one or more Arn(s) of Outpost(s) on which you would like to create your cluster.", - "insertionOrder": false, + "Enabled": { + "description": "Todo: add description", + "type": "boolean", + "markdownDescription": "Todo: add description\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "NodeRoleArn": { + "description": "Todo: add description", + "type": "string", + "markdownDescription": "Todo: add description\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "NodePools": { + "description": "Todo: add description", "type": "array", + "insertionOrder": false, "items": { - "minItems": 1, "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "Specify one or more Arn(s) of Outpost(s) on which you would like to create your cluster.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "ControlPlanePlacement": { - "description": "Specify the placement group of the control plane machines for your cluster.", - "$ref": "#/definitions/ControlPlanePlacement", - "markdownDescription": "Specify the placement group of the control plane machines for your cluster.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "ControlPlaneInstanceType": { - "description": "Specify the Instance type of the machines that should be used to create your cluster.", - "type": "string", - "markdownDescription": "Specify the Instance type of the machines that should be used to create your cluster.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Todo: add description\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "required": [ - "OutpostArns", - "ControlPlaneInstanceType" - ], - "markdownDescription": "An object representing the Outpost configuration to use for AWS EKS outpost cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Todo: add description\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ResourcesVpcConfig": { - "description": "An object representing the VPC configuration to use for an Amazon EKS cluster.", + "BlockStorage": { + "description": "Todo: add description", "additionalProperties": false, "type": "object", "properties": { - "EndpointPublicAccess": { - "description": "Set this value to false to disable public access to your cluster's Kubernetes API server endpoint. If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is true, which enables public access for your Kubernetes API server.", + "Enabled": { + "description": "Todo: add description", "type": "boolean", - "markdownDescription": "Set this value to false to disable public access to your cluster's Kubernetes API server endpoint. If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is true, which enables public access for your Kubernetes API server.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "PublicAccessCidrs": { - "description": "The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0. If you've disabled private endpoint access and you have nodes or AWS Fargate pods in the cluster, then ensure that you specify the necessary CIDR blocks.", - "insertionOrder": false, - "type": "array", - "items": { - "minItems": 1, - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0. If you've disabled private endpoint access and you have nodes or AWS Fargate pods in the cluster, then ensure that you specify the necessary CIDR blocks.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "EndpointPrivateAccess": { - "description": "Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is false, which disables private access for your Kubernetes API server. If you disable private access and you have nodes or AWS Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the nodes or Fargate pods.", + "markdownDescription": "Todo: add description\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Todo: add description\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StorageConfig": { + "description": "Todo: add description", + "additionalProperties": false, + "type": "object", + "properties": { + "BlockStorage": { + "description": "Todo: add description", + "$ref": "#/definitions/BlockStorage", + "markdownDescription": "Todo: add description\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Todo: add description\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ElasticLoadBalancing": { + "description": "Todo: add description", + "additionalProperties": false, + "type": "object", + "properties": { + "Enabled": { + "description": "Todo: add description", "type": "boolean", - "markdownDescription": "Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is false, which disables private access for your Kubernetes API server. If you disable private access and you have nodes or AWS Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the nodes or Fargate pods.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "Todo: add description\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Todo: add description\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "KubernetesNetworkConfig": { + "description": "The Kubernetes network configuration for the cluster.", + "additionalProperties": false, + "type": "object", + "properties": { + "ServiceIpv4Cidr": { + "description": "The CIDR block to assign Kubernetes service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. ", + "type": "string", + "markdownDescription": "The CIDR block to assign Kubernetes service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. \n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SecurityGroupIds": { - "description": "Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. If you don't specify a security group, the default security group for your VPC is used.", - "insertionOrder": false, - "type": "array", - "items": { - "minItems": 1, - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. If you don't specify a security group, the default security group for your VPC is used.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "ServiceIpv6Cidr": { + "description": "The CIDR block to assign Kubernetes service IP addresses from.", + "type": "string", + "markdownDescription": "The CIDR block to assign Kubernetes service IP addresses from.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SubnetIds": { - "description": "Specify subnets for your Amazon EKS nodes. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your nodes and the Kubernetes control plane.", - "insertionOrder": false, - "type": "array", - "items": { - "minItems": 1, - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "Specify subnets for your Amazon EKS nodes. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your nodes and the Kubernetes control plane.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "IpFamily": { + "description": "Ipv4 or Ipv6. You can only specify ipv6 for 1.21 and later clusters that use version 1.10.1 or later of the Amazon VPC CNI add-on", + "type": "string", + "enum": [ + "ipv4", + "ipv6" + ], + "markdownDescription": "Ipv4 or Ipv6. You can only specify ipv6 for 1.21 and later clusters that use version 1.10.1 or later of the Amazon VPC CNI add-on\n\n---\n\nRequired: No \nType: String \nAllowed Values: ipv4 | ipv6 \nUpdate requires: No interruption" + }, + "ElasticLoadBalancing": { + "description": "Todo: add description", + "$ref": "#/definitions/ElasticLoadBalancing", + "markdownDescription": "Todo: add description\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "required": [ - "SubnetIds" - ], - "markdownDescription": "An object representing the VPC configuration to use for an Amazon EKS cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The Kubernetes network configuration for the cluster.\n\n---\n\nRequired: No \nUpdate requires: Replacement" }, - "RemotePodNetwork": { - "description": "Network configuration of pods run on-premises with EKS Hybrid Nodes.", + "ControlPlanePlacement": { + "description": "Specify the placement group of the control plane machines for your cluster.", + "type": "object", + "additionalProperties": false, + "properties": { + "GroupName": { + "description": "Specify the placement group name of the control place machines for your cluster.", + "type": "string", + "markdownDescription": "Specify the placement group name of the control place machines for your cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specify the placement group of the control plane machines for your cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "OutpostConfig": { + "description": "An object representing the Outpost configuration to use for AWS EKS outpost cluster.", "additionalProperties": false, "type": "object", "properties": { - "Cidrs": { - "description": "Specifies the list of remote pod CIDRs.", - "insertionOrder": false, + "OutpostArns": { + "description": "Specify one or more Arn(s) of Outpost(s) on which you would like to create your cluster.", "type": "array", + "insertionOrder": false, "items": { - "minItems": 1, "type": "string", + "minItems": 1, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "Specifies the list of remote pod CIDRs.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specify one or more Arn(s) of Outpost(s) on which you would like to create your cluster.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "ControlPlaneInstanceType": { + "description": "Specify the Instance type of the machines that should be used to create your cluster.", + "type": "string", + "markdownDescription": "Specify the Instance type of the machines that should be used to create your cluster.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "ControlPlanePlacement": { + "description": "Specify the placement group of the control plane machines for your cluster.", + "$ref": "#/definitions/ControlPlanePlacement", + "markdownDescription": "Specify the placement group of the control plane machines for your cluster.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ - "Cidrs" + "OutpostArns", + "ControlPlaneInstanceType" ], - "markdownDescription": "Network configuration of pods run on-premises with EKS Hybrid Nodes.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - } - }, - "properties": { - "Logging": { - "$ref": "#/definitions/Logging" - }, - "BootstrapSelfManagedAddons": { - "description": "Set this value to false to avoid creating the default networking add-ons when the cluster is created.", - "type": "boolean", - "markdownDescription": "Set this value to false to avoid creating the default networking add-ons when the cluster is created.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" - }, - "ZonalShiftConfig": { - "$ref": "#/definitions/ZonalShiftConfig" + "markdownDescription": "An object representing the Outpost configuration to use for AWS EKS outpost cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AccessConfig": { - "$ref": "#/definitions/AccessConfig" + "description": "An object representing the Access Config to use for the cluster.", + "additionalProperties": false, + "type": "object", + "properties": { + "BootstrapClusterCreatorAdminPermissions": { + "description": "Set this value to false to avoid creating a default cluster admin Access Entry using the IAM principal used to create the cluster.", + "type": "boolean", + "markdownDescription": "Set this value to false to avoid creating a default cluster admin Access Entry using the IAM principal used to create the cluster.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "AuthenticationMode": { + "description": "Specify the authentication mode that should be used to create your cluster.", + "type": "string", + "enum": [ + "CONFIG_MAP", + "API_AND_CONFIG_MAP", + "API" + ], + "markdownDescription": "Specify the authentication mode that should be used to create your cluster.\n\n---\n\nRequired: No \nType: String \nAllowed Values: CONFIG_MAP | API_AND_CONFIG_MAP | API \nUpdate requires: No interruption" + } + }, + "markdownDescription": "An object representing the Access Config to use for the cluster.\n\n---\n\nRequired: No \nUpdate requires: Replacement" + }, + "UpgradePolicy": { + "description": "An object representing the Upgrade Policy to use for the cluster.", + "additionalProperties": false, + "type": "object", + "properties": { + "SupportType": { + "description": "Specify the support type for your cluster.", + "type": "string", + "enum": [ + "STANDARD", + "EXTENDED" + ], + "markdownDescription": "Specify the support type for your cluster.\n\n---\n\nRequired: No \nType: String \nAllowed Values: STANDARD | EXTENDED \nUpdate requires: No interruption" + } + }, + "markdownDescription": "An object representing the Upgrade Policy to use for the cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ZonalShiftConfig": { + "description": "The current zonal shift configuration to use for the cluster.", + "additionalProperties": false, + "type": "object", + "properties": { + "Enabled": { + "description": "Set this value to true to enable zonal shift for the cluster.", + "type": "boolean", + "markdownDescription": "Set this value to true to enable zonal shift for the cluster.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The current zonal shift configuration to use for the cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { "EncryptionConfig": { - "insertionOrder": false, "type": "array", + "insertionOrder": false, "items": { - "maxItems": 1, - "$ref": "#/definitions/EncryptionConfig" + "$ref": "#/definitions/EncryptionConfig", + "maxItems": 1 }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" }, "KubernetesNetworkConfig": { "$ref": "#/definitions/KubernetesNetworkConfig" }, - "RoleArn": { - "description": "The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "Logging": { + "$ref": "#/definitions/Logging" }, "Name": { - "minLength": 1, "description": "The unique name to give to your cluster.", "type": "string", + "minLength": 1, "maxLength": 100, "markdownDescription": "The unique name to give to your cluster.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nPattern: ^[0-9A-Za-z][A-Za-z0-9\\-_]* \nUpdate requires: Replacement" }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/ResourcesVpcConfig" + }, + "OutpostConfig": { + "$ref": "#/definitions/OutpostConfig" + }, + "AccessConfig": { + "$ref": "#/definitions/AccessConfig" + }, "UpgradePolicy": { "$ref": "#/definitions/UpgradePolicy" }, + "RemoteNetworkConfig": { + "$ref": "#/definitions/RemoteNetworkConfig" + }, + "ComputeConfig": { + "$ref": "#/definitions/ComputeConfig" + }, + "StorageConfig": { + "$ref": "#/definitions/StorageConfig" + }, + "RoleArn": { + "description": "The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, "Version": { "description": "The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used.", "type": "string", "markdownDescription": "The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used.\n\n---\n\nRequired: No \nType: String \nPattern: 1\\.\\d\\d \nUpdate requires: No interruption" }, - "OutpostConfig": { - "$ref": "#/definitions/OutpostConfig" - }, - "ResourcesVpcConfig": { - "$ref": "#/definitions/ResourcesVpcConfig" - }, "Tags": { - "uniqueItems": true, "description": "An array of key-value pairs to apply to this resource.", - "insertionOrder": false, "type": "array", + "uniqueItems": true, + "insertionOrder": false, "items": { "$ref": "#/definitions/Tag" }, "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "BootstrapSelfManagedAddons": { + "description": "Set this value to false to avoid creating the default networking add-ons when the cluster is created.", + "type": "boolean", + "markdownDescription": "Set this value to false to avoid creating the default networking add-ons when the cluster is created.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + }, + "ZonalShiftConfig": { + "$ref": "#/definitions/ZonalShiftConfig" + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "eks:TagResource", + "eks:UntagResource" + ] + }, + "additionalProperties": false, + "required": [ + "RoleArn", + "ResourcesVpcConfig" + ], + "primaryIdentifier": [ + "/properties/Name" + ], + "createOnlyProperties": [ + "/properties/OutpostConfig", + "/properties/EncryptionConfig", + "/properties/KubernetesNetworkConfig/IpFamily", + "/properties/KubernetesNetworkConfig/ServiceIpv4Cidr", + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/Name", + "/properties/RoleArn", + "/properties/BootstrapSelfManagedAddons", + "/properties/RemoteNetworkConfig" + ], + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn", + "/properties/Endpoint", + "/properties/CertificateAuthorityData", + "/properties/ClusterSecurityGroupId", + "/properties/EncryptionConfigKeyArn", + "/properties/OpenIdConnectIssuerUrl", + "/properties/KubernetesNetworkConfig/ServiceIpv6Cidr" + ], + "writeOnlyProperties": [ + "/properties/AccessConfig/BootstrapClusterCreatorAdminPermissions", + "/properties/BootstrapSelfManagedAddons" + ], + "handlers": { + "create": { + "permissions": [ + "eks:CreateCluster", + "eks:DescribeCluster", + "eks:TagResource", + "eks:CreateAccessEntry", + "iam:PassRole", + "iam:GetRole", + "iam:ListAttachedRolePolicies", + "iam:CreateServiceLinkedRole", + "iam:CreateInstanceProfile", + "iam:TagInstanceProfile", + "iam:AddRoleToInstanceProfile", + "iam:GetInstanceProfile", + "iam:DeleteInstanceProfile", + "iam:RemoveRoleFromInstanceProfile", + "ec2:DescribeSubnets", + "ec2:DescribeVpcs", + "kms:DescribeKey", + "kms:CreateGrant" + ] + }, + "read": { + "permissions": [ + "eks:DescribeCluster" + ] + }, + "update": { + "permissions": [ + "iam:PassRole", + "eks:UpdateClusterConfig", + "eks:UpdateClusterVersion", + "eks:DescribeCluster", + "eks:DescribeUpdate", + "eks:TagResource", + "eks:UntagResource" + ], + "timeoutInMinutes": 180 + }, + "delete": { + "permissions": [ + "eks:DeleteCluster", + "eks:DescribeCluster" + ] + }, + "list": { + "permissions": [ + "eks:ListClusters" + ] } }, "attributes": { - "EncryptionConfigKeyArn": { - "description": "Amazon Resource Name (ARN) or alias of the customer master key (CMK).", + "Id": { + "description": "The unique ID given to your cluster.", "type": "string", - "markdownDescription": "Amazon Resource Name (ARN) or alias of the customer master key (CMK).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The unique ID given to your cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "CertificateAuthorityData": { - "description": "The certificate-authority-data for your cluster.", + "Arn": { + "description": "The ARN of the cluster, such as arn:aws:eks:us-west-2:666666666666:cluster/prod.", "type": "string", - "markdownDescription": "The certificate-authority-data for your cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the cluster, such as arn:aws:eks:us-west-2:666666666666:cluster/prod.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Endpoint": { "description": "The endpoint for your Kubernetes API server, such as https://5E1D0CEXAMPLEA591B746AFC5AB30262.yl4.us-west-2.eks.amazonaws.com.", "type": "string", "markdownDescription": "The endpoint for your Kubernetes API server, such as https://5E1D0CEXAMPLEA591B746AFC5AB30262.yl4.us-west-2.eks.amazonaws.com.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "CertificateAuthorityData": { + "description": "The certificate-authority-data for your cluster.", + "type": "string", + "markdownDescription": "The certificate-authority-data for your cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "ClusterSecurityGroupId": { "description": "The cluster security group that was created by Amazon EKS for the cluster. Managed node groups use this security group for control plane to data plane communication.", "type": "string", "markdownDescription": "The cluster security group that was created by Amazon EKS for the cluster. Managed node groups use this security group for control plane to data plane communication.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Id": { - "description": "The unique ID given to your cluster.", - "type": "string", - "markdownDescription": "The unique ID given to your cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Arn": { - "description": "The ARN of the cluster, such as arn:aws:eks:us-west-2:666666666666:cluster/prod.", + "EncryptionConfigKeyArn": { + "description": "Amazon Resource Name (ARN) or alias of the customer master key (CMK).", "type": "string", - "markdownDescription": "The ARN of the cluster, such as arn:aws:eks:us-west-2:666666666666:cluster/prod.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Amazon Resource Name (ARN) or alias of the customer master key (CMK).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "OpenIdConnectIssuerUrl": { "description": "The issuer URL for the cluster's OIDC identity provider, such as https://oidc.eks.us-west-2.amazonaws.com/id/EXAMPLED539D4633E53DE1B716D3041E. If you need to remove https:// from this output value, you can include the following code in your template.", diff --git a/server/schema/resources/aws-eks-nodegroup.json b/server/schema/resources/aws-eks-nodegroup.json index cbbbd277..d819e18e 100644 --- a/server/schema/resources/aws-eks-nodegroup.json +++ b/server/schema/resources/aws-eks-nodegroup.json @@ -117,6 +117,19 @@ } }, "markdownDescription": "The node group update configuration.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "NodeRepairConfig": { + "description": "The node auto repair configuration for node group.", + "type": "object", + "additionalProperties": false, + "properties": { + "Enabled": { + "description": "Set this value to true to enable node auto repair for the node group.", + "type": "boolean", + "markdownDescription": "Set this value to true to enable node auto repair for the node group.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The node auto repair configuration for node group.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -238,6 +251,11 @@ "$ref": "#/definitions/UpdateConfig", "markdownDescription": "The node group update configuration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, + "NodeRepairConfig": { + "description": "The node auto repair configuration for node group.", + "$ref": "#/definitions/NodeRepairConfig", + "markdownDescription": "The node auto repair configuration for node group.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "Version": { "description": "The Kubernetes version to use for your managed nodes.", "type": "string", diff --git a/server/schema/resources/aws-elasticache-globalreplicationgroup.json b/server/schema/resources/aws-elasticache-globalreplicationgroup.json index 298ca677..9e923233 100644 --- a/server/schema/resources/aws-elasticache-globalreplicationgroup.json +++ b/server/schema/resources/aws-elasticache-globalreplicationgroup.json @@ -99,6 +99,11 @@ "type": "string", "markdownDescription": "The engine version of the Global Datastore.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "Engine": { + "description": "The engine of the Global Datastore.", + "type": "string", + "markdownDescription": "The engine of the Global Datastore.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "CacheParameterGroupName": { "description": "Cache parameter group name to use for the new engine version. This parameter cannot be modified independently.", "type": "string", diff --git a/server/schema/resources/aws-elasticache-replicationgroup.json b/server/schema/resources/aws-elasticache-replicationgroup.json index 49def186..6db0fc3a 100644 --- a/server/schema/resources/aws-elasticache-replicationgroup.json +++ b/server/schema/resources/aws-elasticache-replicationgroup.json @@ -63,7 +63,7 @@ }, "Engine": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Tags": { "type": "array", @@ -372,6 +372,7 @@ "/properties/KmsKeyId", "/properties/Port", "/properties/SnapshotArns", + "/properties/SnapshotName", "/properties/CacheSubnetGroupName", "/properties/NetworkType", "/properties/DataTieringEnabled", @@ -379,9 +380,7 @@ "/properties/ReplicationGroupId", "/properties/GlobalReplicationGroupId", "/properties/ReplicasPerNodeGroup", - "/properties/PreferredCacheClusterAZs", - "/properties/SnapshotName", - "/properties/Engine" + "/properties/PreferredCacheClusterAZs" ], "primaryIdentifier": [ "/properties/ReplicationGroupId" diff --git a/server/schema/resources/aws-elasticache-serverlesscache.json b/server/schema/resources/aws-elasticache-serverlesscache.json index b86f7c67..11e8f707 100644 --- a/server/schema/resources/aws-elasticache-serverlesscache.json +++ b/server/schema/resources/aws-elasticache-serverlesscache.json @@ -122,12 +122,12 @@ "Engine": { "description": "The engine name of the Serverless Cache.", "type": "string", - "markdownDescription": "The engine name of the Serverless Cache.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The engine name of the Serverless Cache.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "MajorEngineVersion": { "description": "The major engine version of the Serverless Cache.", "type": "string", - "markdownDescription": "The major engine version of the Serverless Cache.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The major engine version of the Serverless Cache.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "CacheUsageLimits": { "$ref": "#/definitions/CacheUsageLimits" @@ -212,7 +212,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "elasticache:AddTagsToResource", + "elasticache:RemoveTagsFromResource" + ] }, "additionalProperties": false, "readOnlyProperties": [ @@ -231,8 +235,6 @@ ], "createOnlyProperties": [ "/properties/ServerlessCacheName", - "/properties/Engine", - "/properties/MajorEngineVersion", "/properties/KmsKeyId", "/properties/SnapshotArnsToRestore", "/properties/SubnetIds" diff --git a/server/schema/resources/aws-elasticache-user.json b/server/schema/resources/aws-elasticache-user.json index f1fedb5b..eb87c00c 100644 --- a/server/schema/resources/aws-elasticache-user.json +++ b/server/schema/resources/aws-elasticache-user.json @@ -41,12 +41,13 @@ "markdownDescription": "The username of the user.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "Engine": { - "description": "Must be redis.", + "description": "The target cache engine for the user.", "type": "string", "enum": [ - "redis" + "redis", + "valkey" ], - "markdownDescription": "Must be redis.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: redis \nUpdate requires: Replacement" + "markdownDescription": "The target cache engine for the user.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: redis | valkey \nUpdate requires: No interruption" }, "AccessString": { "description": "Access permissions string used for this user account.", @@ -133,8 +134,7 @@ ], "createOnlyProperties": [ "/properties/UserId", - "/properties/UserName", - "/properties/Engine" + "/properties/UserName" ], "writeOnlyProperties": [ "/properties/Passwords", diff --git a/server/schema/resources/aws-elasticbeanstalk-environment.json b/server/schema/resources/aws-elasticbeanstalk-environment.json index 14f343b2..fbedcf94 100644 --- a/server/schema/resources/aws-elasticbeanstalk-environment.json +++ b/server/schema/resources/aws-elasticbeanstalk-environment.json @@ -1,5 +1,10 @@ { "tagging": { + "permissions": [ + "elasticbeanstalk:AddTags", + "elasticbeanstalk:RemoveTags", + "elasticbeanstalk:ListTagsForResource" + ], "taggable": true, "tagOnCreate": true, "tagUpdatable": true, @@ -48,11 +53,15 @@ "permissions": [ "elasticbeanstalk:DescribeEnvironments", "elasticbeanstalk:UpdateEnvironment", - "elasticbeanstalk:UpdateTagsForResource", "elasticbeanstalk:AssociateEnvironmentOperationsRole", "elasticbeanstalk:DisassociateEnvironmentOperationsRole", "elasticbeanstalk:AddTags", "elasticbeanstalk:ListTagsForResource", + "elasticbeanstalk:RemoveTags", + "s3:GetBucketLocation", + "s3:GetBucketPolicy", + "s3:ListBucket", + "s3:PutBucketPolicy", "iam:PassRole" ], "timeoutInMinutes": 300 diff --git a/server/schema/resources/aws-elasticloadbalancingv2-listener.json b/server/schema/resources/aws-elasticloadbalancingv2-listener.json index 2aed3420..80930e05 100644 --- a/server/schema/resources/aws-elasticloadbalancingv2-listener.json +++ b/server/schema/resources/aws-elasticloadbalancingv2-listener.json @@ -107,6 +107,11 @@ "description": "The Amazon Resource Name (ARN) of the trust store.", "type": "string", "markdownDescription": "The Amazon Resource Name (ARN) of the trust store.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AdvertiseTrustStoreCaNames": { + "description": "", + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "Specifies the configuration information for mutual authentication.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -321,9 +326,9 @@ "markdownDescription": "The hostname. This component is not percent-encoded. The hostname can contain #{host}.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Protocol": { - "description": "The protocol. You can specify HTTP, HTTPS, or #{protocol}. You can redirect HTTP to HTTP, HTTP to HTTPS, and HTTPS to HTTPS. You cannot redirect HTTPS to HTTP.", + "description": "The protocol. You can specify HTTP, HTTPS, or #{protocol}. You can redirect HTTP to HTTP, HTTP to HTTPS, and HTTPS to HTTPS. You can't redirect HTTPS to HTTP.", "type": "string", - "markdownDescription": "The protocol. You can specify HTTP, HTTPS, or #{protocol}. You can redirect HTTP to HTTP, HTTP to HTTPS, and HTTPS to HTTPS. You cannot redirect HTTPS to HTTP.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The protocol. You can specify HTTP, HTTPS, or #{protocol}. You can redirect HTTP to HTTP, HTTP to HTTPS, and HTTPS to HTTPS. You can't redirect HTTPS to HTTP.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "StatusCode": { "description": "The HTTP redirect code. The redirect is either permanent (HTTP 301) or temporary (HTTP 302).", @@ -561,9 +566,9 @@ "markdownDescription": "The actions for the default rule. You cannot define a condition for a default rule.\n To create additional rules for an Application Load Balancer, use [AWS::ElasticLoadBalancingV2::ListenerRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html).\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, "Port": { - "description": "The port on which the load balancer is listening. You cannot specify a port for a Gateway Load Balancer.", + "description": "The port on which the load balancer is listening. You can't specify a port for a Gateway Load Balancer.", "type": "integer", - "markdownDescription": "The port on which the load balancer is listening. You cannot specify a port for a Gateway Load Balancer.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The port on which the load balancer is listening. You can't specify a port for a Gateway Load Balancer.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Certificates": { "uniqueItems": true, @@ -575,9 +580,9 @@ "markdownDescription": "The default SSL server certificate for a secure listener. You must provide exactly one certificate if the listener protocol is HTTPS or TLS.\n To create a certificate list for a secure listener, use [AWS::ElasticLoadBalancingV2::ListenerCertificate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Protocol": { - "description": "The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, and TCP_UDP. You can\u2019t specify the UDP or TCP_UDP protocol if dual-stack mode is enabled. You cannot specify a protocol for a Gateway Load Balancer.", + "description": "The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, and TCP_UDP. You can\u2019t specify the UDP or TCP_UDP protocol if dual-stack mode is enabled. You can't specify a protocol for a Gateway Load Balancer.", "type": "string", - "markdownDescription": "The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, and TCP_UDP. You can\u2019t specify the UDP or TCP_UDP protocol if dual-stack mode is enabled. You cannot specify a protocol for a Gateway Load Balancer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, and TCP_UDP. You can\u2019t specify the UDP or TCP_UDP protocol if dual-stack mode is enabled. You can't specify a protocol for a Gateway Load Balancer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "attributes": { diff --git a/server/schema/resources/aws-elasticloadbalancingv2-listenerrule.json b/server/schema/resources/aws-elasticloadbalancingv2-listenerrule.json index 557924d3..34ce8e1d 100644 --- a/server/schema/resources/aws-elasticloadbalancingv2-listenerrule.json +++ b/server/schema/resources/aws-elasticloadbalancingv2-listenerrule.json @@ -350,8 +350,8 @@ }, "Protocol": { "type": "string", - "description": "The protocol. You can specify HTTP, HTTPS, or #{protocol}. You can redirect HTTP to HTTP, HTTP to HTTPS, and HTTPS to HTTPS. You cannot redirect HTTPS to HTTP.", - "markdownDescription": "The protocol. You can specify HTTP, HTTPS, or #{protocol}. You can redirect HTTP to HTTP, HTTP to HTTPS, and HTTPS to HTTPS. You cannot redirect HTTPS to HTTP.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The protocol. You can specify HTTP, HTTPS, or #{protocol}. You can redirect HTTP to HTTP, HTTP to HTTPS, and HTTPS to HTTPS. You can't redirect HTTPS to HTTP.", + "markdownDescription": "The protocol. You can specify HTTP, HTTPS, or #{protocol}. You can redirect HTTP to HTTP, HTTP to HTTPS, and HTTPS to HTTPS. You can't redirect HTTPS to HTTP.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "StatusCode": { "type": "string", diff --git a/server/schema/resources/aws-elasticloadbalancingv2-loadbalancer.json b/server/schema/resources/aws-elasticloadbalancingv2-loadbalancer.json index 437e0adc..c072448a 100644 --- a/server/schema/resources/aws-elasticloadbalancingv2-loadbalancer.json +++ b/server/schema/resources/aws-elasticloadbalancingv2-loadbalancer.json @@ -1,251 +1,284 @@ { + "typeName": "AWS::ElasticLoadBalancingV2::LoadBalancer", + "description": "Specifies an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-elasticloadbalancingv2", "documentationUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html", - "tagging": { - "permissions": [ - "elasticloadbalancing:AddTags", - "elasticloadbalancing:DescribeTags", - "elasticloadbalancing:RemoveTags" - ], - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "tagProperty": "/properties/Tags", - "cloudFormationSystemTags": false - }, - "handlers": { - "read": { - "permissions": [ - "elasticloadbalancing:DescribeLoadBalancers", - "elasticloadbalancing:DescribeLoadBalancerAttributes", - "elasticloadbalancing:DescribeTags" - ] + "additionalProperties": false, + "properties": { + "IpAddressType": { + "type": "string", + "description": "The IP address type. Internal load balancers must use ``ipv4``.\n [Application Load Balancers] The possible values are ``ipv4`` (IPv4 addresses), ``dualstack`` (IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (public IPv6 addresses and private IPv4 and IPv6 addresses).\n Application Load Balancer authentication supports IPv4 addresses only when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer can't complete the authentication process, resulting in HTTP 500 errors.\n [Network Load Balancers and Gateway Load Balancers] The possible values are ``ipv4`` (IPv4 addresses) and ``dualstack`` (IPv4 and IPv6 addresses).", + "markdownDescription": "The IP address type. Internal load balancers must use ``ipv4``.\n [Application Load Balancers] The possible values are ``ipv4`` (IPv4 addresses), ``dualstack`` (IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (public IPv6 addresses and private IPv4 and IPv6 addresses).\n Application Load Balancer authentication supports IPv4 addresses only when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer can't complete the authentication process, resulting in HTTP 500 errors.\n [Network Load Balancers and Gateway Load Balancers] The possible values are ``ipv4`` (IPv4 addresses) and ``dualstack`` (IPv4 and IPv6 addresses).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "create": { - "permissions": [ - "elasticloadbalancing:CreateLoadBalancer", - "elasticloadbalancing:DescribeLoadBalancers", - "elasticloadbalancing:ModifyLoadBalancerAttributes", - "elasticloadbalancing:AddTags" - ], - "timeoutInMinutes": 30 + "EnablePrefixForIpv6SourceNat": { + "type": "string", + "description": "[Network Load Balancers with UDP listeners] Indicates whether to use an IPv6 prefix from each subnet for source NAT. The IP address type must be ``dualstack``. The default value is ``off``.", + "markdownDescription": "[Network Load Balancers with UDP listeners] Indicates whether to use an IPv6 prefix from each subnet for source NAT. The IP address type must be ``dualstack``. The default value is ``off``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "update": { - "permissions": [ - "elasticloadbalancing:ModifyLoadBalancerAttributes", - "elasticloadbalancing:SetSubnets", - "elasticloadbalancing:SetIpAddressType", - "elasticloadbalancing:SetSecurityGroups", - "elasticloadbalancing:AddTags", - "elasticloadbalancing:RemoveTags" - ] + "SecurityGroups": { + "type": "array", + "description": "[Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "[Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "list": { - "permissions": [ - "elasticloadbalancing:DescribeLoadBalancers" - ] + "LoadBalancerAttributes": { + "type": "array", + "description": "The load balancer attributes.", + "uniqueItems": true, + "insertionOrder": false, + "arrayType": "AttributeList", + "items": { + "$ref": "#/definitions/LoadBalancerAttribute" + }, + "markdownDescription": "The load balancer attributes.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "delete": { - "permissions": [ - "elasticloadbalancing:DescribeLoadBalancers", - "elasticloadbalancing:DeleteLoadBalancer" - ] + "MinimumLoadBalancerCapacity": { + "type": "object", + "description": "", + "$ref": "#/definitions/MinimumLoadBalancerCapacity", + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Scheme": { + "type": "string", + "description": "The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.\n The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.\n The default is an Internet-facing load balancer.\n You can't specify a scheme for a Gateway Load Balancer.", + "markdownDescription": "The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.\n The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.\n The default is an Internet-facing load balancer.\n You can't specify a scheme for a Gateway Load Balancer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "Name": { + "type": "string", + "description": "The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with \"internal-\".\n If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name.", + "markdownDescription": "The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with \"internal-\".\n If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "Subnets": { + "type": "array", + "description": "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets.\n [Application Load Balancers] You must specify subnets from at least two Availability Zones.\n [Application Load Balancers on Outposts] You must specify one Outpost subnet.\n [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.\n [Network Load Balancers and Gateway Load Balancers] You can specify subnets from one or more Availability Zones.", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets.\n [Application Load Balancers] You must specify subnets from at least two Availability Zones.\n [Application Load Balancers on Outposts] You must specify one Outpost subnet.\n [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.\n [Network Load Balancers and Gateway Load Balancers] You can specify subnets from one or more Availability Zones.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Type": { + "type": "string", + "description": "The type of load balancer. The default is ``application``.", + "markdownDescription": "The type of load balancer. The default is ``application``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "Tags": { + "type": "array", + "description": "The tags to assign to the load balancer.", + "uniqueItems": false, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to assign to the load balancer.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SubnetMappings": { + "type": "array", + "description": "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both.\n [Application Load Balancers] You must specify subnets from at least two Availability Zones. You can't specify Elastic IP addresses for your subnets.\n [Application Load Balancers on Outposts] You must specify one Outpost subnet.\n [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.\n [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.\n [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You can't specify Elastic IP addresses for your subnets.", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetMapping" + }, + "markdownDescription": "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both.\n [Application Load Balancers] You must specify subnets from at least two Availability Zones. You can't specify Elastic IP addresses for your subnets.\n [Application Load Balancers on Outposts] You must specify one Outpost subnet.\n [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.\n [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.\n [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You can't specify Elastic IP addresses for your subnets.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic": { + "type": "string", + "description": "Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink.", + "markdownDescription": "Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "typeName": "AWS::ElasticLoadBalancingV2::LoadBalancer", - "readOnlyProperties": [ - "/properties/LoadBalancerName", - "/properties/LoadBalancerFullName", - "/properties/CanonicalHostedZoneID", - "/properties/LoadBalancerArn", - "/properties/DNSName" - ], - "description": "Specifies an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.", - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type", - "/properties/Scheme" - ], - "additionalProperties": false, - "primaryIdentifier": [ - "/properties/LoadBalancerArn" - ], "definitions": { - "SubnetMapping": { - "description": "Specifies a subnet for a load balancer.", + "MinimumLoadBalancerCapacity": { + "type": "object", "additionalProperties": false, + "properties": { + "CapacityUnits": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + } + }, + "required": [ + "CapacityUnits" + ], + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SubnetMapping": { "type": "object", + "additionalProperties": false, "properties": { + "SubnetId": { + "type": "string", + "description": "The ID of the subnet.", + "markdownDescription": "The ID of the subnet.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, "AllocationId": { - "description": "[Network Load Balancers] The allocation ID of the Elastic IP address for an internet-facing load balancer.", "type": "string", + "description": "[Network Load Balancers] The allocation ID of the Elastic IP address for an internet-facing load balancer.", "markdownDescription": "[Network Load Balancers] The allocation ID of the Elastic IP address for an internet-facing load balancer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "IPv6Address": { - "description": "[Network Load Balancers] The IPv6 address.", + "PrivateIPv4Address": { "type": "string", - "markdownDescription": "[Network Load Balancers] The IPv6 address.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "[Network Load Balancers] The private IPv4 address for an internal load balancer.", + "markdownDescription": "[Network Load Balancers] The private IPv4 address for an internal load balancer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SubnetId": { - "description": "The ID of the subnet.", + "IPv6Address": { "type": "string", - "markdownDescription": "The ID of the subnet.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "[Network Load Balancers] The IPv6 address.", + "markdownDescription": "[Network Load Balancers] The IPv6 address.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "PrivateIPv4Address": { - "description": "[Network Load Balancers] The private IPv4 address for an internal load balancer.", + "SourceNatIpv6Prefix": { "type": "string", - "markdownDescription": "[Network Load Balancers] The private IPv4 address for an internal load balancer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "[Network Load Balancers with UDP listeners] The IPv6 prefix to use for source NAT. Specify an IPv6 prefix (/80 netmask) from the subnet CIDR block or ``auto_assigned`` to use an IPv6 prefix selected at random from the subnet CIDR block.", + "markdownDescription": "[Network Load Balancers with UDP listeners] The IPv6 prefix to use for source NAT. Specify an IPv6 prefix (/80 netmask) from the subnet CIDR block or ``auto_assigned`` to use an IPv6 prefix selected at random from the subnet CIDR block.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ "SubnetId" ], + "description": "Specifies a subnet for a load balancer.", "markdownDescription": "Specifies a subnet for a load balancer.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "LoadBalancerAttribute": { - "description": "Specifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.", - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { "Value": { - "description": "The value of the attribute.", "type": "string", + "description": "The value of the attribute.", "markdownDescription": "The value of the attribute.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Key": { - "description": "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and cannot be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.", "type": "string", - "markdownDescription": "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and cannot be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and can't be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.\n + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``.", + "markdownDescription": "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and can't be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.\n + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, + "description": "Specifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.", "markdownDescription": "Specifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { - "description": "Information about a tag.", - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { "Value": { - "description": "The value of the tag.", "type": "string", + "description": "The value of the tag.", "markdownDescription": "The value of the tag.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Key": { - "description": "The key of the tag.", "type": "string", + "description": "The key of the tag.", "markdownDescription": "The key of the tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "Key" ], + "description": "Information about a tag.", "markdownDescription": "Information about a tag.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "properties": { - "IpAddressType": { - "description": "Note: Internal load balancers must use the ``ipv4`` IP address type.\n [Application Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses), ``dualstack`` (for IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).\n Note: Application Load Balancer authentication only supports IPv4 addresses when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer cannot complete the authentication process, resulting in HTTP 500 errors.\n [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can\u2019t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener.\n [Gateway Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses).", - "type": "string", - "markdownDescription": "Note: Internal load balancers must use the ``ipv4`` IP address type.\n [Application Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses), ``dualstack`` (for IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).\n Note: Application Load Balancer authentication only supports IPv4 addresses when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer cannot complete the authentication process, resulting in HTTP 500 errors.\n [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can\u2019t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener.\n [Gateway Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "SecurityGroups": { - "uniqueItems": true, - "description": "[Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.", - "insertionOrder": false, - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "[Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "LoadBalancerAttributes": { - "arrayType": "AttributeList", - "uniqueItems": true, - "description": "The load balancer attributes.", - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/LoadBalancerAttribute" - }, - "markdownDescription": "The load balancer attributes.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Scheme": { - "description": "The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.\n The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.\n The default is an Internet-facing load balancer.\n You cannot specify a scheme for a Gateway Load Balancer.", - "type": "string", - "markdownDescription": "The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.\n The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.\n The default is an Internet-facing load balancer.\n You cannot specify a scheme for a Gateway Load Balancer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, - "Name": { - "description": "The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with \"internal-\".\n If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name.", - "type": "string", - "markdownDescription": "The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with \"internal-\".\n If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, - "Subnets": { - "uniqueItems": true, - "description": "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets.\n [Application Load Balancers] You must specify subnets from at least two Availability Zones.\n [Application Load Balancers on Outposts] You must specify one Outpost subnet.\n [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.\n [Network Load Balancers] You can specify subnets from one or more Availability Zones.\n [Gateway Load Balancers] You can specify subnets from one or more Availability Zones.", - "insertionOrder": false, - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets.\n [Application Load Balancers] You must specify subnets from at least two Availability Zones.\n [Application Load Balancers on Outposts] You must specify one Outpost subnet.\n [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.\n [Network Load Balancers] You can specify subnets from one or more Availability Zones.\n [Gateway Load Balancers] You can specify subnets from one or more Availability Zones.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "createOnlyProperties": [ + "/properties/Name", + "/properties/Type", + "/properties/Scheme" + ], + "primaryIdentifier": [ + "/properties/LoadBalancerArn" + ], + "readOnlyProperties": [ + "/properties/LoadBalancerName", + "/properties/LoadBalancerFullName", + "/properties/CanonicalHostedZoneID", + "/properties/LoadBalancerArn", + "/properties/DNSName" + ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "elasticloadbalancing:AddTags", + "elasticloadbalancing:DescribeTags", + "elasticloadbalancing:RemoveTags" + ] + }, + "handlers": { + "create": { + "permissions": [ + "elasticloadbalancing:CreateLoadBalancer", + "elasticloadbalancing:DescribeLoadBalancers", + "elasticloadbalancing:ModifyLoadBalancerAttributes", + "elasticloadbalancing:AddTags" + ], + "timeoutInMinutes": 30 }, - "Type": { - "description": "The type of load balancer. The default is ``application``.", - "type": "string", - "markdownDescription": "The type of load balancer. The default is ``application``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "delete": { + "permissions": [ + "elasticloadbalancing:DescribeLoadBalancers", + "elasticloadbalancing:DeleteLoadBalancer" + ] }, - "EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic": { - "description": "Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink.", - "type": "string", - "markdownDescription": "Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "list": { + "permissions": [ + "elasticloadbalancing:DescribeLoadBalancers" + ] }, - "Tags": { - "uniqueItems": false, - "description": "The tags to assign to the load balancer.", - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to assign to the load balancer.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "read": { + "permissions": [ + "elasticloadbalancing:DescribeLoadBalancers", + "elasticloadbalancing:DescribeLoadBalancerAttributes", + "elasticloadbalancing:DescribeCapacityReservation", + "elasticloadbalancing:DescribeTags" + ] }, - "SubnetMappings": { - "uniqueItems": true, - "description": "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both.\n [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.\n [Application Load Balancers on Outposts] You must specify one Outpost subnet.\n [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.\n [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.\n [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify Elastic IP addresses for your subnets.", - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/SubnetMapping" - }, - "markdownDescription": "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both.\n [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.\n [Application Load Balancers on Outposts] You must specify one Outpost subnet.\n [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.\n [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.\n [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify Elastic IP addresses for your subnets.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "update": { + "permissions": [ + "elasticloadbalancing:ModifyLoadBalancerAttributes", + "elasticloadbalancing:ModifyCapacityReservation", + "elasticloadbalancing:SetSubnets", + "elasticloadbalancing:SetIpAddressType", + "elasticloadbalancing:SetSecurityGroups", + "elasticloadbalancing:AddTags", + "elasticloadbalancing:RemoveTags" + ] } }, "attributes": { "DNSName": { - "description": "", "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "LoadBalancerName": { + "type": "string", "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "LoadBalancerFullName": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "CanonicalHostedZoneID": { - "description": "", "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "LoadBalancerArn": { - "description": "", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "LoadBalancerFullName": { "description": "", - "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } diff --git a/server/schema/resources/aws-emr-cluster.json b/server/schema/resources/aws-emr-cluster.json index 2d513456..49faf665 100644 --- a/server/schema/resources/aws-emr-cluster.json +++ b/server/schema/resources/aws-emr-cluster.json @@ -196,6 +196,24 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "OnDemandResizingSpecification": { + "type": "object", + "additionalProperties": false, + "properties": { + "CapacityReservationOptions": { + "$ref": "#/definitions/OnDemandCapacityReservationOptions" + }, + "AllocationStrategy": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TimeoutDurationMinutes": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "StepConfig": { "type": "object", "additionalProperties": false, @@ -230,6 +248,12 @@ "type": "integer", "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "LaunchSpecifications": { + "$ref": "#/definitions/InstanceFleetProvisioningSpecifications" + }, + "ResizeSpecifications": { + "$ref": "#/definitions/InstanceFleetResizingSpecifications" + }, "InstanceTypeConfigs": { "type": "array", "uniqueItems": true, @@ -238,9 +262,6 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "LaunchSpecifications": { - "$ref": "#/definitions/InstanceFleetProvisioningSpecifications" - }, "Name": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" @@ -263,6 +284,10 @@ "EbsConfiguration": { "$ref": "#/definitions/EbsConfiguration" }, + "Priority": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, "BidPriceAsPercentageOfOnDemandPrice": { "type": "number", "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" @@ -339,6 +364,19 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "InstanceFleetResizingSpecifications": { + "type": "object", + "additionalProperties": false, + "properties": { + "OnDemandResizeSpecification": { + "$ref": "#/definitions/OnDemandResizingSpecification" + }, + "SpotResizeSpecification": { + "$ref": "#/definitions/SpotResizingSpecification" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "InstanceFleetProvisioningSpecifications": { "type": "object", "additionalProperties": false, @@ -396,6 +434,9 @@ "type": "object", "additionalProperties": false, "properties": { + "CapacityReservationOptions": { + "$ref": "#/definitions/OnDemandCapacityReservationOptions" + }, "AllocationStrategy": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" @@ -865,6 +906,21 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "SpotResizingSpecification": { + "type": "object", + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TimeoutDurationMinutes": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "AutoScalingPolicy": { "type": "object", "additionalProperties": false, @@ -887,6 +943,25 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "OnDemandCapacityReservationOptions": { + "type": "object", + "additionalProperties": false, + "properties": { + "UsageStrategy": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CapacityReservationResourceGroupArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CapacityReservationPreference": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "PlacementType": { "type": "object", "additionalProperties": false, diff --git a/server/schema/resources/aws-emr-instancefleetconfig.json b/server/schema/resources/aws-emr-instancefleetconfig.json index 49ac435b..f09e9058 100644 --- a/server/schema/resources/aws-emr-instancefleetconfig.json +++ b/server/schema/resources/aws-emr-instancefleetconfig.json @@ -22,13 +22,16 @@ "LaunchSpecifications": { "$ref": "#/definitions/InstanceFleetProvisioningSpecifications" }, + "ResizeSpecifications": { + "$ref": "#/definitions/InstanceFleetResizingSpecifications" + }, "InstanceTypeConfigs": { "type": "array", "uniqueItems": true, "items": { "$ref": "#/definitions/InstanceTypeConfig" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Name": { "type": "string", @@ -111,6 +114,38 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "OnDemandCapacityReservationOptions": { + "type": "object", + "additionalProperties": false, + "properties": { + "UsageStrategy": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CapacityReservationResourceGroupArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CapacityReservationPreference": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "InstanceFleetResizingSpecifications": { + "type": "object", + "additionalProperties": false, + "properties": { + "OnDemandResizeSpecification": { + "$ref": "#/definitions/OnDemandResizingSpecification" + }, + "SpotResizeSpecification": { + "$ref": "#/definitions/SpotResizingSpecification" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "InstanceFleetProvisioningSpecifications": { "type": "object", "additionalProperties": false, @@ -124,10 +159,31 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "OnDemandResizingSpecification": { + "type": "object", + "additionalProperties": false, + "properties": { + "CapacityReservationOptions": { + "$ref": "#/definitions/OnDemandCapacityReservationOptions" + }, + "AllocationStrategy": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TimeoutDurationMinutes": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "OnDemandProvisioningSpecification": { "type": "object", "additionalProperties": false, "properties": { + "CapacityReservationOptions": { + "$ref": "#/definitions/OnDemandCapacityReservationOptions" + }, "AllocationStrategy": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" @@ -170,6 +226,10 @@ "EbsConfiguration": { "$ref": "#/definitions/EbsConfiguration" }, + "Priority": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, "BidPriceAsPercentageOfOnDemandPrice": { "type": "number", "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" @@ -196,6 +256,21 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "SpotResizingSpecification": { + "type": "object", + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TimeoutDurationMinutes": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "SpotProvisioningSpecification": { "type": "object", "additionalProperties": false, @@ -230,7 +305,6 @@ ], "createOnlyProperties": [ "/properties/Name", - "/properties/InstanceTypeConfigs", "/properties/LaunchSpecifications", "/properties/ClusterId", "/properties/InstanceFleetType" diff --git a/server/schema/resources/aws-emr-studio.json b/server/schema/resources/aws-emr-studio.json index e85bd73f..b55fb0f3 100644 --- a/server/schema/resources/aws-emr-studio.json +++ b/server/schema/resources/aws-emr-studio.json @@ -10,7 +10,7 @@ }, "Arn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws(-(cn|us-gov|iso-f|iso-e))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$ \nUpdate requires: No interruption" }, "Tags": { "type": "array", @@ -179,6 +179,12 @@ "primaryIdentifier": [ "/properties/StudioId" ], + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, "createOnlyProperties": [ "/properties/AuthMode", "/properties/EngineSecurityGroupId", diff --git a/server/schema/resources/aws-emr-studiosessionmapping.json b/server/schema/resources/aws-emr-studiosessionmapping.json index a073706c..afcf0c7a 100644 --- a/server/schema/resources/aws-emr-studiosessionmapping.json +++ b/server/schema/resources/aws-emr-studiosessionmapping.json @@ -6,7 +6,7 @@ "definitions": { "IamPolicyArn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws(-(cn|us-gov))?:iam::([0-9]{12})?:policy\\/[^.]+$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws(-(cn|us-gov|iso-f|iso-e))?:iam::([0-9]{12})?:policy\\/[^.]+$ \nUpdate requires: No interruption" } }, "properties": { @@ -54,6 +54,12 @@ "/properties/IdentityType", "/properties/IdentityName" ], + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, "handlers": { "create": { "permissions": [ @@ -66,7 +72,24 @@ "sso:ListDirectoryAssociations", "sso:GetProfile", "sso:ListProfiles", - "sso:AssociateProfile" + "sso:AssociateProfile", + "sso:CreateApplication", + "sso:PutApplicationAuthenticationMethod", + "sso:PutApplicationGrant", + "sso:PutApplicationAccessScope", + "sso:PutApplicationAssignmentConfiguration", + "sso:DescribeApplication", + "sso:DeleteApplication", + "sso:DeleteApplicationAuthenticationMethod", + "sso:DeleteApplicationAccessScope", + "sso:DeleteApplicationGrant", + "sso:ListInstances", + "sso-directory:CreateUser", + "sso-directory:CreateGroup", + "sso:CreateApplicationAssignment", + "sso:DescribeInstance", + "sso:DeleteApplicationAssignment", + "sso:ListApplicationAssignments" ] }, "read": { diff --git a/server/schema/resources/aws-emr-walworkspace.json b/server/schema/resources/aws-emr-walworkspace.json index 96dcad7d..42dd1312 100644 --- a/server/schema/resources/aws-emr-walworkspace.json +++ b/server/schema/resources/aws-emr-walworkspace.json @@ -55,7 +55,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "emrwal:TagResource", + "emrwal:UntagResource", + "emrwal:ListTagsForResource" + ] }, "primaryIdentifier": [ "/properties/WALWorkspaceName" diff --git a/server/schema/resources/aws-emrcontainers-virtualcluster.json b/server/schema/resources/aws-emrcontainers-virtualcluster.json index af7a8e82..2b02b436 100644 --- a/server/schema/resources/aws-emrcontainers-virtualcluster.json +++ b/server/schema/resources/aws-emrcontainers-virtualcluster.json @@ -122,6 +122,17 @@ "primaryIdentifier": [ "/properties/Id" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "emr-containers:TagResource", + "emr-containers:UntagResource" + ] + }, "handlers": { "create": { "permissions": [ @@ -137,7 +148,8 @@ }, "delete": { "permissions": [ - "emr-containers:DeleteVirtualCluster" + "emr-containers:DeleteVirtualCluster", + "emr-containers:DescribeVirtualCluster" ] }, "list": { diff --git a/server/schema/resources/aws-emrserverless-application.json b/server/schema/resources/aws-emrserverless-application.json index 7a3ce883..88803f1a 100644 --- a/server/schema/resources/aws-emrserverless-application.json +++ b/server/schema/resources/aws-emrserverless-application.json @@ -56,6 +56,24 @@ }, "markdownDescription": "Runtime configuration for batch and interactive JobRun.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "SchedulerConfiguration": { + "type": "object", + "description": "The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.", + "additionalProperties": false, + "properties": { + "QueueTimeoutMinutes": { + "description": "The maximum duration in minutes for the job in QUEUED state. If scheduler configuration is enabled on your application, the default value is 360 minutes (6 hours). The valid range is from 15 to 720.", + "type": "integer", + "markdownDescription": "The maximum duration in minutes for the job in QUEUED state. If scheduler configuration is enabled on your application, the default value is 360 minutes (6 hours). The valid range is from 15 to 720.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MaxConcurrentRuns": { + "description": "The maximum concurrent job runs on this application. If scheduler configuration is enabled on your application, the default value is 15. The valid range is 1 to 1000.", + "type": "integer", + "markdownDescription": "The maximum concurrent job runs on this application. If scheduler configuration is enabled on your application, the default value is 15. The valid range is 1 to 1000.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "MonitoringConfiguration": { "type": "object", "description": "Monitoring configuration for batch and interactive JobRun.", @@ -600,6 +618,11 @@ "description": "The key-value pairs that specify worker type to WorkerTypeSpecificationInput. This parameter must contain all valid worker types for a Spark or Hive application. Valid worker types include Driver and Executor for Spark applications and HiveDriver and TezTask for Hive applications. You can either set image details in this parameter for each worker type, or in imageConfiguration for all worker types.", "$ref": "#/definitions/WorkerTypeSpecificationInputMap", "markdownDescription": "The key-value pairs that specify worker type to WorkerTypeSpecificationInput. This parameter must contain all valid worker types for a Spark or Hive application. Valid worker types include Driver and Executor for Spark applications and HiveDriver and TezTask for Hive applications. You can either set image details in this parameter for each worker type, or in imageConfiguration for all worker types.\n\n---\n\nRequired: No \nType: \nUpdate requires: Some interruptions" + }, + "SchedulerConfiguration": { + "description": "The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.", + "$ref": "#/definitions/SchedulerConfiguration", + "markdownDescription": "The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.\n\n---\n\nRequired: No \nType: \nUpdate requires: Some interruptions" } }, "additionalProperties": false, @@ -623,7 +646,8 @@ "/properties/ImageConfiguration", "/properties/MonitoringConfiguration", "/properties/RuntimeConfiguration", - "/properties/InteractiveConfiguration" + "/properties/InteractiveConfiguration", + "/properties/SchedulerConfiguration" ], "readOnlyProperties": [ "/properties/Arn", @@ -637,7 +661,13 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "emr-serverless:TagResource", + "emr-serverless:UntagResource", + "kms:TagResource", + "kms:UntagResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-entityresolution-idmappingworkflow.json b/server/schema/resources/aws-entityresolution-idmappingworkflow.json index 71e9ce9b..40d9fa20 100644 --- a/server/schema/resources/aws-entityresolution-idmappingworkflow.json +++ b/server/schema/resources/aws-entityresolution-idmappingworkflow.json @@ -1,5 +1,10 @@ { "tagging": { + "permissions": [ + "entityresolution:TagResource", + "entityresolution:UntagResource", + "entityresolution:ListTagsForResource" + ], "taggable": true, "tagOnCreate": true, "tagUpdatable": true, diff --git a/server/schema/resources/aws-entityresolution-idnamespace.json b/server/schema/resources/aws-entityresolution-idnamespace.json index f9e86db2..daae9b5b 100644 --- a/server/schema/resources/aws-entityresolution-idnamespace.json +++ b/server/schema/resources/aws-entityresolution-idnamespace.json @@ -270,7 +270,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "entityresolution:TagResource", + "entityresolution:UntagResource", + "entityresolution:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-entityresolution-matchingworkflow.json b/server/schema/resources/aws-entityresolution-matchingworkflow.json index cea9f2b8..5d3f4902 100644 --- a/server/schema/resources/aws-entityresolution-matchingworkflow.json +++ b/server/schema/resources/aws-entityresolution-matchingworkflow.json @@ -367,7 +367,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "entityresolution:TagResource", + "entityresolution:UntagResource", + "entityresolution:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-entityresolution-schemamapping.json b/server/schema/resources/aws-entityresolution-schemamapping.json index 9cca1644..6d0dc65f 100644 --- a/server/schema/resources/aws-entityresolution-schemamapping.json +++ b/server/schema/resources/aws-entityresolution-schemamapping.json @@ -184,7 +184,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "entityresolution:TagResource", + "entityresolution:UntagResource", + "entityresolution:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-events-apidestination.json b/server/schema/resources/aws-events-apidestination.json index 0c52ff5a..384c80b6 100644 --- a/server/schema/resources/aws-events-apidestination.json +++ b/server/schema/resources/aws-events-apidestination.json @@ -7,7 +7,7 @@ "type": "string", "minLength": 1, "maxLength": 64, - "markdownDescription": "Name of the apiDestination.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: Replacement" + "markdownDescription": "Name of the apiDestination.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: [\\.\\-_A-Za-z0-9]+ \nUpdate requires: Replacement" }, "Description": { "type": "string", @@ -17,7 +17,7 @@ "ConnectionArn": { "description": "The arn of the connection.", "type": "string", - "markdownDescription": "The arn of the connection.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The arn of the connection.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^arn:aws([a-z]|\\-)*:events:([a-z]|\\d|\\-)*:([0-9]{12})?:connection/[\\.\\-_A-Za-z0-9]+/[\\-A-Za-z0-9]+$ \nUpdate requires: No interruption" }, "InvocationRateLimitPerSecond": { "type": "integer", @@ -27,7 +27,7 @@ "InvocationEndpoint": { "description": "Url endpoint to invoke.", "type": "string", - "markdownDescription": "Url endpoint to invoke.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Url endpoint to invoke.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^((%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@\\x26=+$,A-Za-z0-9])+)([).!';/?:,])?$ \nUpdate requires: No interruption" }, "HttpMethod": { "type": "string", @@ -59,7 +59,10 @@ "/properties/Name" ], "tagging": { - "taggable": false + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false }, "handlers": { "create": { @@ -95,7 +98,7 @@ "Arn": { "description": "The arn of the api destination.", "type": "string", - "markdownDescription": "The arn of the api destination.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The arn of the api destination.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws([a-z]|\\-)*:events:([a-z]|\\d|\\-)*:([0-9]{12})?:api-destination/[\\.\\-_A-Za-z0-9]+/[\\-A-Za-z0-9]+$ \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-events-archive.json b/server/schema/resources/aws-events-archive.json index 9c4e532c..4fac0244 100644 --- a/server/schema/resources/aws-events-archive.json +++ b/server/schema/resources/aws-events-archive.json @@ -7,7 +7,7 @@ "type": "string", "minLength": 1, "maxLength": 48, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 48 \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 48 \nPattern: [\\.\\-_A-Za-z0-9]+ \nUpdate requires: Replacement" }, "SourceArn": { "type": "string", @@ -39,6 +39,12 @@ "primaryIdentifier": [ "/properties/ArchiveName" ], + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, "handlers": { "create": { "permissions": [ @@ -72,7 +78,7 @@ "attributes": { "Arn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws([a-z]|\\-)*:events:([a-z]|\\d|\\-)*:([0-9]{12})?:.+\\/.+$ \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-events-connection.json b/server/schema/resources/aws-events-connection.json index dca76398..3e26562f 100644 --- a/server/schema/resources/aws-events-connection.json +++ b/server/schema/resources/aws-events-connection.json @@ -18,6 +18,9 @@ }, "InvocationHttpParameters": { "$ref": "#/definitions/ConnectionHttpParameters" + }, + "ConnectivityParameters": { + "$ref": "#/definitions/ConnectivityParameters" } }, "oneOf": [ @@ -45,11 +48,11 @@ "properties": { "Username": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[ \\t]*[^\\x00-\\x1F\\x7F]+([ \\t]+[^\\x00-\\x1F\\x7F]+)*[ \\t]*$ \nUpdate requires: No interruption" }, "Password": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[ \\t]*[^\\x00-\\x1F\\x7F]+([ \\t]+[^\\x00-\\x1F\\x7F]+)*[ \\t]*$ \nUpdate requires: No interruption" } }, "required": [ @@ -69,7 +72,7 @@ "type": "string", "minLength": 1, "maxLength": 2048, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^((%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@\\x26=+$,A-Za-z0-9])+)([).!';/?:,])?$ \nUpdate requires: No interruption" }, "HttpMethod": { "type": "string", @@ -97,11 +100,11 @@ "properties": { "ApiKeyName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[ \\t]*[^\\x00-\\x1F\\x7F]+([ \\t]+[^\\x00-\\x1F\\x7F]+)*[ \\t]*$ \nUpdate requires: No interruption" }, "ApiKeyValue": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[ \\t]*[^\\x00-\\x1F\\x7F]+([ \\t]+[^\\x00-\\x1F\\x7F]+)*[ \\t]*$ \nUpdate requires: No interruption" } }, "required": [ @@ -116,11 +119,11 @@ "properties": { "ClientID": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[ \\t]*[^\\x00-\\x1F\\x7F]+([ \\t]+[^\\x00-\\x1F\\x7F]+)*[ \\t]*$ \nUpdate requires: No interruption" }, "ClientSecret": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[ \\t]*[^\\x00-\\x1F\\x7F]+([ \\t]+[^\\x00-\\x1F\\x7F]+)*[ \\t]*$ \nUpdate requires: No interruption" } }, "required": [ @@ -158,6 +161,40 @@ "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ConnectivityParameters": { + "type": "object", + "properties": { + "ResourceParameters": { + "$ref": "#/definitions/ResourceParameters" + } + }, + "required": [ + "ResourceParameters" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ResourceParameters": { + "type": "object", + "properties": { + "ResourceConfigurationArn": { + "type": "string", + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 2048 \nPattern: ^arn:[a-z0-9f\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourceconfiguration/rcfg-[0-9a-z]{17}$ \nUpdate requires: No interruption" + }, + "ResourceAssociationArn": { + "type": "string", + "minLength": 20, + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:servicenetworkresourceassociation/snra-[0-9a-z]{17}$ \nUpdate requires: No interruption" + } + }, + "required": [ + "ResourceConfigurationArn" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "Parameter": { "type": "object", "properties": { @@ -189,7 +226,7 @@ "type": "string", "minLength": 1, "maxLength": 64, - "markdownDescription": "Name of the connection.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: Replacement" + "markdownDescription": "Name of the connection.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: [\\.\\-_A-Za-z0-9]+ \nUpdate requires: Replacement" }, "Description": { "description": "Description of the connection.", @@ -208,6 +245,20 @@ }, "AuthParameters": { "$ref": "#/definitions/AuthParameters" + }, + "InvocationConnectivityParameters": { + "description": "The private resource the HTTP request will be sent to.", + "type": "object", + "properties": { + "ResourceParameters": { + "$ref": "#/definitions/ResourceParameters" + } + }, + "required": [ + "ResourceParameters" + ], + "additionalProperties": false, + "markdownDescription": "The private resource the HTTP request will be sent to.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -216,16 +267,27 @@ ], "readOnlyProperties": [ "/properties/Arn", - "/properties/SecretArn" + "/properties/SecretArn", + "/properties/AuthParameters/ConnectivityParameters/ResourceParameters/ResourceAssociationArn", + "/properties/InvocationConnectivityParameters/ResourceParameters/ResourceAssociationArn" ], "writeOnlyProperties": [ - "/properties/AuthParameters" + "/properties/AuthParameters/BasicAuthParameters/Password", + "/properties/AuthParameters/ApiKeyAuthParameters/ApiKeyValue", + "/properties/AuthParameters/OAuthParameters/ClientParameters/ClientSecret", + "/properties/AuthParameters/OAuthParameters/OAuthHttpParameters/HeaderParameters", + "/properties/AuthParameters/OAuthParameters/OAuthHttpParameters/QueryStringParameters", + "/properties/AuthParameters/OAuthParameters/OAuthHttpParameters/BodyParameters", + "/properties/AuthParameters/InvocationHttpParameters" ], "primaryIdentifier": [ "/properties/Name" ], "tagging": { - "taggable": false + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false }, "handlers": { "create": { @@ -269,12 +331,12 @@ "Arn": { "description": "The arn of the connection resource.", "type": "string", - "markdownDescription": "The arn of the connection resource.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The arn of the connection resource.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws([a-z]|\\-)*:events:([a-z]|\\d|\\-)*:([0-9]{12})?:connection\\/[\\.\\-_A-Za-z0-9]+\\/[\\-A-Za-z0-9]+$ \nUpdate requires: No interruption" }, "SecretArn": { "description": "The arn of the secrets manager secret created in the customer account.", "type": "string", - "markdownDescription": "The arn of the secrets manager secret created in the customer account.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The arn of the secrets manager secret created in the customer account.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]|\\d|\\-)*:([0-9]{12})?:secret:([a-z]|\\d|\\-)*(!)*[\\/_+=\\.@\\-A-Za-z0-9]+$ \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-fis-experimenttemplate.json b/server/schema/resources/aws-fis-experimenttemplate.json index 5b973a73..b2089b4e 100644 --- a/server/schema/resources/aws-fis-experimenttemplate.json +++ b/server/schema/resources/aws-fis-experimenttemplate.json @@ -40,6 +40,22 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "CloudWatchDashboard": { + "type": "object", + "additionalProperties": false, + "properties": { + "DashboardIdentifier": { + "type": "string", + "minLength": 1, + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nUpdate requires: No interruption" + } + }, + "required": [ + "DashboardIdentifier" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ExperimentTemplateStopConditionList": { "type": "array", "description": "One or more stop conditions.", @@ -343,6 +359,70 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: Replacement" }, + "ExperimentTemplateExperimentReportConfiguration": { + "type": "object", + "additionalProperties": false, + "required": [ + "Outputs" + ], + "properties": { + "Outputs": { + "type": "object", + "additionalProperties": false, + "properties": { + "ExperimentReportS3Configuration": { + "type": "object", + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string", + "minLength": 3, + "maxLength": 63, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 3 \nMaximum Length: 63 \nUpdate requires: No interruption" + }, + "Prefix": { + "type": "string", + "minLength": 1, + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + } + }, + "required": [ + "BucketName" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nUpdate requires: No interruption" + } + }, + "required": [ + "ExperimentReportS3Configuration" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nUpdate requires: No interruption" + }, + "DataSources": { + "type": "object", + "additionalProperties": false, + "properties": { + "CloudWatchDashboards": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudWatchDashboard" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PreExperimentDuration": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "PostExperimentDuration": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "RoleArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service permission to perform service actions on your behalf.", @@ -383,6 +463,9 @@ }, "ExperimentOptions": { "$ref": "#/definitions/ExperimentTemplateExperimentOptions" + }, + "ExperimentReportConfiguration": { + "$ref": "#/definitions/ExperimentTemplateExperimentReportConfiguration" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-fsx-filesystem.json b/server/schema/resources/aws-fsx-filesystem.json index a757989d..a98d9bdf 100644 --- a/server/schema/resources/aws-fsx-filesystem.json +++ b/server/schema/resources/aws-fsx-filesystem.json @@ -138,6 +138,10 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "EfaEnabled": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, "ImportedFileChunkSize": { "type": "integer", "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" @@ -377,6 +381,9 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "ReadCacheConfiguration": { + "$ref": "#/definitions/ReadCacheConfiguration" + }, "RouteTableIds": { "type": "array", "uniqueItems": false, @@ -415,6 +422,21 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ReadCacheConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "SizingMode": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SizeGiB": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "DiskIopsConfiguration": { "type": "object", "additionalProperties": false, diff --git a/server/schema/resources/aws-gamelift-alias.json b/server/schema/resources/aws-gamelift-alias.json index 4aee14ae..895dd252 100644 --- a/server/schema/resources/aws-gamelift-alias.json +++ b/server/schema/resources/aws-gamelift-alias.json @@ -14,7 +14,7 @@ "FleetId": { "description": "A unique identifier for a fleet that the alias points to. If you specify SIMPLE for the Type property, you must specify this property.", "type": "string", - "markdownDescription": "A unique identifier for a fleet that the alias points to. If you specify SIMPLE for the Type property, you must specify this property.\n\n---\n\nRequired: Conditional \nType: String \nPattern: ^fleet-\\S+ \nUpdate requires: No interruption" + "markdownDescription": "A unique identifier for a fleet that the alias points to. If you specify SIMPLE for the Type property, you must specify this property.\n\n---\n\nRequired: Conditional \nType: String \nPattern: ^[a-z]*fleet-[a-zA-Z0-9\\-]+ \nUpdate requires: No interruption" }, "Type": { "description": "Simple routing strategy. The alias resolves to one specific fleet. Use this type when routing to active fleets.", diff --git a/server/schema/resources/aws-gamelift-containerfleet.json b/server/schema/resources/aws-gamelift-containerfleet.json new file mode 100644 index 00000000..3a9c2873 --- /dev/null +++ b/server/schema/resources/aws-gamelift-containerfleet.json @@ -0,0 +1,660 @@ +{ + "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", + "typeName": "AWS::GameLift::ContainerFleet", + "description": "The AWS::GameLift::ContainerFleet resource creates an Amazon GameLift (GameLift) container fleet to host game servers.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-gamelift.git", + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "gamelift:ListTagsForResource", + "gamelift:TagResource", + "gamelift:UntagResource" + ] + }, + "definitions": { + "ConnectionPortRange": { + "description": "Defines the range of ports on the instance that allow inbound traffic to connect with containers in a fleet.", + "type": "object", + "properties": { + "FromPort": { + "description": "A starting value for a range of allowed port numbers.", + "type": "integer", + "minimum": 1, + "maximum": 60000, + "markdownDescription": "A starting value for a range of allowed port numbers.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "ToPort": { + "description": "An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.", + "type": "integer", + "minimum": 1, + "maximum": 60000, + "markdownDescription": "An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "FromPort", + "ToPort" + ], + "markdownDescription": "Defines the range of ports on the instance that allow inbound traffic to connect with containers in a fleet.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "IpPermission": { + "description": "A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift hosting resource. New game sessions that are started on the fleet are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. For fleets created with a custom game server, the ranges reflect the server's game session assignments. For Realtime Servers fleets, Amazon GameLift automatically opens two port ranges, one for TCP messaging and one for UDP, for use by the Realtime servers.", + "type": "object", + "properties": { + "FromPort": { + "description": "A starting value for a range of allowed port numbers.", + "type": "integer", + "minimum": 1, + "maximum": 60000, + "markdownDescription": "A starting value for a range of allowed port numbers.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "IpRange": { + "description": "A range of allowed IP addresses. This value must be expressed in CIDR notation. Example: \"000.000.000.000/[subnet mask]\" or optionally the shortened version \"0.0.0.0/[subnet mask]\".", + "type": "string", + "markdownDescription": "A range of allowed IP addresses. This value must be expressed in CIDR notation. Example: \"000.000.000.000/[subnet mask]\" or optionally the shortened version \"0.0.0.0/[subnet mask]\".\n\n---\n\nRequired: Yes \nType: String \nPattern: (^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(/([0-9]|[1-2][0-9]|3[0-2]))$) \nUpdate requires: No interruption" + }, + "Protocol": { + "description": "The network communication protocol used by the fleet.", + "type": "string", + "enum": [ + "TCP", + "UDP" + ], + "markdownDescription": "The network communication protocol used by the fleet.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: TCP | UDP \nUpdate requires: No interruption" + }, + "ToPort": { + "description": "An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.", + "type": "integer", + "minimum": 1, + "maximum": 60000, + "markdownDescription": "An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "FromPort", + "IpRange", + "Protocol", + "ToPort" + ], + "markdownDescription": "A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift hosting resource. New game sessions that are started on the fleet are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. For fleets created with a custom game server, the ranges reflect the server's game session assignments. For Realtime Servers fleets, Amazon GameLift automatically opens two port ranges, one for TCP messaging and one for UDP, for use by the Realtime servers.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GameSessionCreationLimitPolicy": { + "description": "A policy that limits the number of game sessions a player can create on the same fleet. This optional policy gives game owners control over how players can consume available game server resources. A resource creation policy makes the following statement: \"An individual player can create a maximum number of new game sessions within a specified time period\".\n\nThe policy is evaluated when a player tries to create a new game session. For example, assume you have a policy of 10 new game sessions and a time period of 60 minutes. On receiving a CreateGameSession request, Amazon GameLift checks that the player (identified by CreatorId) has created fewer than 10 game sessions in the past 60 minutes.", + "type": "object", + "properties": { + "NewGameSessionsPerCreator": { + "description": "The maximum number of game sessions that an individual can create during the policy period.", + "type": "integer", + "minimum": 0, + "markdownDescription": "The maximum number of game sessions that an individual can create during the policy period.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "PolicyPeriodInMinutes": { + "description": "The time span used in evaluating the resource creation limit policy.", + "type": "integer", + "minimum": 0, + "markdownDescription": "The time span used in evaluating the resource creation limit policy.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "A policy that limits the number of game sessions a player can create on the same fleet. This optional policy gives game owners control over how players can consume available game server resources. A resource creation policy makes the following statement: \"An individual player can create a maximum number of new game sessions within a specified time period\".\n\nThe policy is evaluated when a player tries to create a new game session. For example, assume you have a policy of 10 new game sessions and a time period of 60 minutes. On receiving a CreateGameSession request, Amazon GameLift checks that the player (identified by CreatorId) has created fewer than 10 game sessions in the past 60 minutes.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LogDestination": { + "description": "Configures the service that provides logs.", + "type": "string", + "enum": [ + "NONE", + "CLOUDWATCH", + "S3" + ], + "markdownDescription": "Configures the service that provides logs.\n\n---\n\nRequired: No \nType: String \nAllowed Values: NONE | CLOUDWATCH | S3 \nUpdate requires: No interruption" + }, + "LogConfiguration": { + "description": "A policy the location and provider of logs from the fleet.", + "type": "object", + "properties": { + "LogDestination": { + "$ref": "#/definitions/LogDestination" + }, + "S3BucketName": { + "description": "The name of the S3 bucket to pull logs from if S3 is the LogDestination", + "type": "string", + "minLength": 1, + "maxLength": 1024, + "markdownDescription": "The name of the S3 bucket to pull logs from if S3 is the LogDestination\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "A policy the location and provider of logs from the fleet.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Location": { + "type": "string", + "minLength": 1, + "maxLength": 64, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[A-Za-z0-9\\-]+ \nUpdate requires: No interruption" + }, + "LocationCapacity": { + "description": "Current resource capacity settings in a specified fleet or location. The location value might refer to a fleet's remote location or its home Region.", + "type": "object", + "properties": { + "DesiredEC2Instances": { + "description": "The number of EC2 instances you want to maintain in the specified fleet location. This value must fall between the minimum and maximum size limits.", + "type": "integer", + "minimum": 0, + "markdownDescription": "The number of EC2 instances you want to maintain in the specified fleet location. This value must fall between the minimum and maximum size limits.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "MinSize": { + "description": "The minimum value allowed for the fleet's instance count for a location.", + "type": "integer", + "minimum": 0, + "markdownDescription": "The minimum value allowed for the fleet's instance count for a location.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "MaxSize": { + "description": "The maximum value that is allowed for the fleet's instance count for a location.", + "type": "integer", + "minimum": 0, + "markdownDescription": "The maximum value that is allowed for the fleet's instance count for a location.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "DesiredEC2Instances", + "MinSize", + "MaxSize" + ], + "markdownDescription": "Current resource capacity settings in a specified fleet or location. The location value might refer to a fleet's remote location or its home Region.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LocationConfiguration": { + "description": "A remote location where a multi-location fleet can deploy EC2 instances for game hosting.", + "type": "object", + "properties": { + "Location": { + "$ref": "#/definitions/Location" + }, + "LocationCapacity": { + "$ref": "#/definitions/LocationCapacity" + }, + "StoppedActions": { + "$ref": "#/definitions/StoppedActions" + } + }, + "additionalProperties": false, + "required": [ + "Location" + ], + "markdownDescription": "A remote location where a multi-location fleet can deploy EC2 instances for game hosting.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ScalingPolicy": { + "description": "Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.", + "type": "object", + "properties": { + "ComparisonOperator": { + "description": "Comparison operator to use when measuring a metric against the threshold value.", + "type": "string", + "enum": [ + "GreaterThanOrEqualToThreshold", + "GreaterThanThreshold", + "LessThanThreshold", + "LessThanOrEqualToThreshold" + ], + "markdownDescription": "Comparison operator to use when measuring a metric against the threshold value.\n\n---\n\nRequired: No \nType: String \nAllowed Values: GreaterThanOrEqualToThreshold | GreaterThanThreshold | LessThanThreshold | LessThanOrEqualToThreshold \nUpdate requires: No interruption" + }, + "EvaluationPeriods": { + "description": "Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.", + "type": "integer", + "minimum": 1, + "markdownDescription": "Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MetricName": { + "description": "Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment.", + "type": "string", + "enum": [ + "ActivatingGameSessions", + "ActiveGameSessions", + "ActiveInstances", + "AvailableGameSessions", + "AvailablePlayerSessions", + "CurrentPlayerSessions", + "IdleInstances", + "PercentAvailableGameSessions", + "PercentIdleInstances", + "QueueDepth", + "WaitTime", + "ConcurrentActivatableGameSessions" + ], + "markdownDescription": "Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ActivatingGameSessions | ActiveGameSessions | ActiveInstances | AvailableGameSessions | AvailablePlayerSessions | CurrentPlayerSessions | IdleInstances | PercentAvailableGameSessions | PercentIdleInstances | QueueDepth | WaitTime | ConcurrentActivatableGameSessions \nUpdate requires: No interruption" + }, + "Name": { + "description": "A descriptive label that is associated with a fleet's scaling policy. Policy names do not need to be unique.", + "type": "string", + "minLength": 1, + "maxLength": 1024, + "markdownDescription": "A descriptive label that is associated with a fleet's scaling policy. Policy names do not need to be unique.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, + "PolicyType": { + "description": "The type of scaling policy to create. For a target-based policy, set the parameter MetricName to 'PercentAvailableGameSessions' and specify a TargetConfiguration. For a rule-based policy set the following parameters: MetricName, ComparisonOperator, Threshold, EvaluationPeriods, ScalingAdjustmentType, and ScalingAdjustment.", + "type": "string", + "enum": [ + "RuleBased", + "TargetBased" + ], + "markdownDescription": "The type of scaling policy to create. For a target-based policy, set the parameter MetricName to 'PercentAvailableGameSessions' and specify a TargetConfiguration. For a rule-based policy set the following parameters: MetricName, ComparisonOperator, Threshold, EvaluationPeriods, ScalingAdjustmentType, and ScalingAdjustment.\n\n---\n\nRequired: No \nType: String \nAllowed Values: RuleBased | TargetBased \nUpdate requires: No interruption" + }, + "ScalingAdjustment": { + "description": "Amount of adjustment to make, based on the scaling adjustment type.", + "type": "integer", + "markdownDescription": "Amount of adjustment to make, based on the scaling adjustment type.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "ScalingAdjustmentType": { + "description": "The type of adjustment to make to a fleet's instance count.", + "type": "string", + "enum": [ + "ChangeInCapacity", + "ExactCapacity", + "PercentChangeInCapacity" + ], + "markdownDescription": "The type of adjustment to make to a fleet's instance count.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ChangeInCapacity | ExactCapacity | PercentChangeInCapacity \nUpdate requires: No interruption" + }, + "TargetConfiguration": { + "description": "An object that contains settings for a target-based scaling policy.", + "$ref": "#/definitions/TargetConfiguration", + "markdownDescription": "An object that contains settings for a target-based scaling policy.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Threshold": { + "description": "Metric value used to trigger a scaling event.", + "type": "number", + "markdownDescription": "Metric value used to trigger a scaling event.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "MetricName", + "Name" + ], + "markdownDescription": "Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StoppedActions": { + "description": "A list of fleet actions that have been suspended in the fleet location.", + "type": "array", + "maxItems": 1, + "items": { + "type": "string", + "enum": [ + "AUTO_SCALING" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: AUTO_SCALING \nUpdate requires: No interruption" + }, + "insertionOrder": false, + "markdownDescription": "A list of fleet actions that have been suspended in the fleet location.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "TargetConfiguration": { + "description": "Settings for a target-based scaling policy. A target-based policy tracks a particular fleet metric specifies a target value for the metric. As player usage changes, the policy triggers Amazon GameLift to adjust capacity so that the metric returns to the target value. The target configuration specifies settings as needed for the target based policy, including the target value.", + "type": "object", + "properties": { + "TargetValue": { + "description": "Desired value to use with a target-based scaling policy. The value must be relevant for whatever metric the scaling policy is using. For example, in a policy using the metric PercentAvailableGameSessions, the target value should be the preferred size of the fleet's buffer (the percent of capacity that should be idle and ready for new game sessions).", + "type": "number", + "markdownDescription": "Desired value to use with a target-based scaling policy. The value must be relevant for whatever metric the scaling policy is using. For example, in a policy using the metric PercentAvailableGameSessions, the target value should be the preferred size of the fleet's buffer (the percent of capacity that should be idle and ready for new game sessions).\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "TargetValue" + ], + "markdownDescription": "Settings for a target-based scaling policy. A target-based policy tracks a particular fleet metric specifies a target value for the metric. As player usage changes, the policy triggers Amazon GameLift to adjust capacity so that the metric returns to the target value. The target configuration specifies settings as needed for the target based policy, including the target value.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tag": { + "description": "A key-value pair to associate with a resource.", + "type": "object", + "properties": { + "Key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length.", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length.", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DeploymentDetails": { + "description": "Provides information about the last deployment ID and its status.", + "type": "object", + "properties": { + "LatestDeploymentId": { + "description": "The ID of the last deployment on the container fleet. This field will be empty if the container fleet does not have a ContainerGroupDefinition attached.", + "type": "string", + "maxLength": 1024, + "markdownDescription": "The ID of the last deployment on the container fleet. This field will be empty if the container fleet does not have a ContainerGroupDefinition attached.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nPattern: ^[a-zA-Z0-9\\-]+$|^$ \nUpdate requires: No interruption" + } + }, + "required": [], + "additionalProperties": false, + "markdownDescription": "Provides information about the last deployment ID and its status.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DeploymentConfiguration": { + "description": "Provides details about how to drain old tasks and replace them with new updated tasks.", + "type": "object", + "properties": { + "ProtectionStrategy": { + "description": "The protection strategy for deployment on the container fleet; defaults to WITH_PROTECTION.", + "type": "string", + "enum": [ + "WITH_PROTECTION", + "IGNORE_PROTECTION" + ], + "markdownDescription": "The protection strategy for deployment on the container fleet; defaults to WITH_PROTECTION.\n\n---\n\nRequired: No \nType: String \nAllowed Values: WITH_PROTECTION | IGNORE_PROTECTION \nUpdate requires: No interruption" + }, + "MinimumHealthyPercentage": { + "description": "The minimum percentage of healthy required; defaults to 75.", + "type": "integer", + "minimum": 30, + "maximum": 75, + "markdownDescription": "The minimum percentage of healthy required; defaults to 75.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "ImpairmentStrategy": { + "description": "The strategy to apply in case of impairment; defaults to MAINTAIN.", + "type": "string", + "enum": [ + "MAINTAIN", + "ROLLBACK" + ], + "markdownDescription": "The strategy to apply in case of impairment; defaults to MAINTAIN.\n\n---\n\nRequired: No \nType: String \nAllowed Values: MAINTAIN | ROLLBACK \nUpdate requires: No interruption" + } + }, + "required": [], + "additionalProperties": false, + "markdownDescription": "Provides details about how to drain old tasks and replace them with new updated tasks.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "FleetRoleArn": { + "description": "A unique identifier for an AWS IAM role that manages access to your AWS services. Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console.", + "type": "string", + "minLength": 1, + "maxLength": 256, + "markdownDescription": "A unique identifier for an AWS IAM role that manages access to your AWS services. Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^arn:aws(-.*)?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$ \nUpdate requires: No interruption" + }, + "Description": { + "description": "A human-readable description of a fleet.", + "type": "string", + "minLength": 1, + "maxLength": 1024, + "markdownDescription": "A human-readable description of a fleet.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, + "GameServerContainerGroupDefinitionName": { + "description": "The name of the container group definition that will be created per game server. You must specify GAME_SERVER container group. You have the option to also specify one PER_INSTANCE container group.", + "type": "string", + "minLength": 1, + "maxLength": 512, + "markdownDescription": "The name of the container group definition that will be created per game server. You must specify GAME_SERVER container group. You have the option to also specify one PER_INSTANCE container group.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[a-zA-Z0-9\\-]+$|^arn:.*:containergroupdefinition\\/[a-zA-Z0-9\\-]+(:[0-9]+)?$ \nUpdate requires: No interruption" + }, + "PerInstanceContainerGroupDefinitionName": { + "description": "The name of the container group definition that will be created per instance. This field is optional if you specify GameServerContainerGroupDefinitionName.", + "type": "string", + "minLength": 1, + "maxLength": 512, + "markdownDescription": "The name of the container group definition that will be created per instance. This field is optional if you specify GameServerContainerGroupDefinitionName.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[a-zA-Z0-9\\-]+$|^arn:.*:containergroupdefinition\\/[a-zA-Z0-9\\-]+(:[0-9]+)?$ \nUpdate requires: No interruption" + }, + "InstanceConnectionPortRange": { + "$ref": "#/definitions/ConnectionPortRange" + }, + "InstanceInboundPermissions": { + "description": "A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift server.", + "type": "array", + "maxItems": 50, + "items": { + "$ref": "#/definitions/IpPermission" + }, + "insertionOrder": false, + "markdownDescription": "A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift server.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "GameServerContainerGroupsPerInstance": { + "description": "The number of desired game server container groups per instance, a number between 1-5000.", + "type": "integer", + "minimum": 1, + "maximum": 5000, + "markdownDescription": "The number of desired game server container groups per instance, a number between 1-5000.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "DeploymentConfiguration": { + "$ref": "#/definitions/DeploymentConfiguration" + }, + "InstanceType": { + "description": "The name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.", + "type": "string", + "minLength": 1, + "maxLength": 1024, + "markdownDescription": "The name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: Replacement" + }, + "BillingType": { + "description": "Indicates whether to use On-Demand instances or Spot instances for this fleet. If empty, the default is ON_DEMAND. Both categories of instances use identical hardware and configurations based on the instance type selected for this fleet.", + "type": "string", + "enum": [ + "ON_DEMAND", + "SPOT" + ], + "markdownDescription": "Indicates whether to use On-Demand instances or Spot instances for this fleet. If empty, the default is ON_DEMAND. Both categories of instances use identical hardware and configurations based on the instance type selected for this fleet.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ON_DEMAND | SPOT \nUpdate requires: Replacement" + }, + "Locations": { + "type": "array", + "maxItems": 100, + "items": { + "$ref": "#/definitions/LocationConfiguration" + }, + "insertionOrder": false, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + }, + "ScalingPolicies": { + "description": "A list of rules that control how a fleet is scaled.", + "type": "array", + "maxItems": 50, + "items": { + "$ref": "#/definitions/ScalingPolicy" + }, + "insertionOrder": false, + "markdownDescription": "A list of rules that control how a fleet is scaled.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "MetricGroups": { + "description": "The name of an Amazon CloudWatch metric group. A metric group aggregates the metrics for all fleets in the group. Specify a string containing the metric group name. You can use an existing name or use a new name to create a new metric group. Currently, this parameter can have only one string.", + "type": "array", + "maxItems": 1, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "insertionOrder": false, + "markdownDescription": "The name of an Amazon CloudWatch metric group. A metric group aggregates the metrics for all fleets in the group. Specify a string containing the metric group name. You can use an existing name or use a new name to create a new metric group. Currently, this parameter can have only one string.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "NewGameSessionProtectionPolicy": { + "description": "A game session protection policy to apply to all game sessions hosted on instances in this fleet. When protected, active game sessions cannot be terminated during a scale-down event. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy to affect future game sessions on the fleet. You can also set protection for individual game sessions.", + "type": "string", + "enum": [ + "FullProtection", + "NoProtection" + ], + "markdownDescription": "A game session protection policy to apply to all game sessions hosted on instances in this fleet. When protected, active game sessions cannot be terminated during a scale-down event. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy to affect future game sessions on the fleet. You can also set protection for individual game sessions.\n\n---\n\nRequired: No \nType: String \nAllowed Values: FullProtection | NoProtection \nUpdate requires: No interruption" + }, + "GameSessionCreationLimitPolicy": { + "description": "A policy that limits the number of game sessions an individual player can create over a span of time for this fleet.", + "$ref": "#/definitions/GameSessionCreationLimitPolicy", + "markdownDescription": "A policy that limits the number of game sessions an individual player can create over a span of time for this fleet.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "LogConfiguration": { + "$ref": "#/definitions/LogConfiguration" + }, + "Tags": { + "description": "An array of key-value pairs to apply to this resource.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "maxItems": 200, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "FleetRoleArn" + ], + "createOnlyProperties": [ + "/properties/InstanceType", + "/properties/BillingType", + "/properties/Locations" + ], + "readOnlyProperties": [ + "/properties/CreationTime", + "/properties/Status", + "/properties/FleetId", + "/properties/FleetArn", + "/properties/DeploymentDetails", + "/properties/GameServerContainerGroupDefinitionArn", + "/properties/PerInstanceContainerGroupDefinitionArn", + "/properties/MaximumGameServerContainerGroupsPerInstance" + ], + "writeOnlyProperties": [ + "/properties/ScalingPolicies", + "/properties/Locations", + "/properties/DeploymentConfiguration", + "/properties/GameServerContainerGroupsPerInstance", + "/properties/GameServerContainerGroupDefinitionName", + "/properties/PerInstanceContainerGroupDefinitionName" + ], + "primaryIdentifier": [ + "/properties/FleetId" + ], + "handlers": { + "create": { + "permissions": [ + "gamelift:CreateContainerFleet", + "gamelift:DescribeContainerFleet", + "gamelift:DescribeFleetDeployment", + "gamelift:DescribeFleetLocationAttributes", + "gamelift:DescribeFleetLocationCapacity", + "gamelift:DescribeScalingPolicies", + "gamelift:ListTagsForResource", + "gamelift:PutScalingPolicy", + "gamelift:StopFleetActions", + "gamelift:TagResource", + "gamelift:UpdateFleetCapacity", + "iam:PassRole" + ] + }, + "read": { + "permissions": [ + "gamelift:DescribeContainerFleet", + "gamelift:DescribeFleetLocationAttributes", + "gamelift:DescribeFleetLocationCapacity", + "gamelift:DescribeScalingPolicies", + "gamelift:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "gamelift:DeleteContainerFleet", + "gamelift:DescribeContainerFleet" + ] + }, + "list": { + "permissions": [ + "gamelift:ListContainerFleets" + ] + }, + "update": { + "permissions": [ + "gamelift:CreateFleetLocations", + "gamelift:DeleteFleetLocations", + "gamelift:DeleteScalingPolicy", + "gamelift:DescribeContainerFleet", + "gamelift:DescribeFleetDeployment", + "gamelift:DescribeFleetLocationAttributes", + "gamelift:DescribeFleetLocationCapacity", + "gamelift:DescribeScalingPolicies", + "gamelift:ListTagsForResource", + "gamelift:PutScalingPolicy", + "gamelift:StartFleetActions", + "gamelift:StopFleetActions", + "gamelift:TagResource", + "gamelift:UntagResource", + "gamelift:UpdateContainerFleet", + "gamelift:UpdateFleetCapacity", + "iam:PassRole" + ] + } + }, + "attributes": { + "FleetId": { + "description": "Unique fleet ID", + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "Unique fleet ID\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-z]*fleet-[a-zA-Z0-9\\-]+ \nUpdate requires: No interruption" + }, + "GameServerContainerGroupDefinitionArn": { + "description": "The Amazon Resource Name (ARN) of the game server container group definition. This field will be empty if GameServerContainerGroupDefinitionName is not specified.", + "type": "string", + "maxLength": 512, + "markdownDescription": "The Amazon Resource Name (ARN) of the game server container group definition. This field will be empty if GameServerContainerGroupDefinitionName is not specified.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 512 \nPattern: ^arn:.*:containergroupdefinition\\/[a-zA-Z0-9\\-]+(:[0-9]+)?$|^$ \nUpdate requires: No interruption" + }, + "PerInstanceContainerGroupDefinitionArn": { + "description": "The Amazon Resource Name (ARN) of the per instance container group definition. This field will be empty if PerInstanceContainerGroupDefinitionName is not specified.", + "type": "string", + "maxLength": 512, + "markdownDescription": "The Amazon Resource Name (ARN) of the per instance container group definition. This field will be empty if PerInstanceContainerGroupDefinitionName is not specified.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 512 \nPattern: ^arn:.*:containergroupdefinition\\/[a-zA-Z0-9\\-]+(:[0-9]+)?$|^$ \nUpdate requires: No interruption" + }, + "MaximumGameServerContainerGroupsPerInstance": { + "description": "The maximum number of game server container groups per instance, a number between 1-5000.", + "type": "integer", + "minimum": 1, + "maximum": 5000, + "markdownDescription": "The maximum number of game server container groups per instance, a number between 1-5000.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "CreationTime": { + "description": "A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").", + "type": "string", + "markdownDescription": "A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Status": { + "description": "The current status of the container fleet.", + "type": "string", + "enum": [ + "PENDING", + "CREATING", + "CREATED", + "ACTIVATING", + "ACTIVE", + "UPDATING", + "DELETING" + ], + "markdownDescription": "The current status of the container fleet.\n\n---\n\nRequired: No \nType: String \nAllowed Values: PENDING | CREATING | CREATED | ACTIVATING | ACTIVE | UPDATING | DELETING \nUpdate requires: No interruption" + }, + "DeploymentDetails": { + "$ref": "#/definitions/DeploymentDetails" + }, + "FleetArn": { + "description": "The Amazon Resource Name (ARN) that is assigned to a Amazon GameLift container fleet resource and uniquely identifies it across all AWS Regions.", + "type": "string", + "minLength": 1, + "maxLength": 512, + "markdownDescription": "The Amazon Resource Name (ARN) that is assigned to a Amazon GameLift container fleet resource and uniquely identifies it across all AWS Regions.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^arn:.*:[a-z]*fleet\\/[a-z]*fleet-[a-zA-Z0-9\\-]+$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-gamelift-containergroupdefinition.json b/server/schema/resources/aws-gamelift-containergroupdefinition.json index 816b9c16..59e58dd0 100644 --- a/server/schema/resources/aws-gamelift-containergroupdefinition.json +++ b/server/schema/resources/aws-gamelift-containergroupdefinition.json @@ -1,101 +1,31 @@ { + "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", + "typeName": "AWS::GameLift::ContainerGroupDefinition", + "description": "The AWS::GameLift::ContainerGroupDefinition resource creates an Amazon GameLift container group definition.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-gamelift.git", "tagging": { - "permissions": [ - "gamelift:ListTagsForResource", - "gamelift:TagResource", - "gamelift:UntagResource" - ], "taggable": true, + "cloudFormationSystemTags": false, "tagOnCreate": true, "tagUpdatable": true, "tagProperty": "/properties/Tags", - "cloudFormationSystemTags": false - }, - "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", - "typeName": "AWS::GameLift::ContainerGroupDefinition", - "readOnlyProperties": [ - "/properties/ContainerGroupDefinitionArn", - "/properties/CreationTime", - "/properties/ContainerDefinitions/*/ResolvedImageDigest" - ], - "description": "The AWS::GameLift::ContainerGroupDefinition resource creates an Amazon GameLift container group definition.", - "createOnlyProperties": [ - "/properties/Name", - "/properties/SchedulingStrategy", - "/properties/TotalMemoryLimit", - "/properties/TotalCpuLimit", - "/properties/ContainerDefinitions", - "/properties/OperatingSystem" - ], - "primaryIdentifier": [ - "/properties/Name" - ], - "required": [ - "Name", - "TotalMemoryLimit", - "TotalCpuLimit", - "ContainerDefinitions", - "OperatingSystem" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-gamelift.git", - "handlers": { - "read": { - "permissions": [ - "gamelift:DescribeContainerGroupDefinition", - "gamelift:ListTagsForResource" - ] - }, - "create": { - "permissions": [ - "gamelift:CreateContainerGroupDefinition", - "gamelift:DescribeContainerGroupDefinition", - "gamelift:ListTagsForResource", - "gamelift:TagResource", - "ecr:BatchCheckLayerAvailability", - "ecr:BatchGetImage", - "ecr:GetDownloadUrlForLayer", - "ecr:DescribeImages" - ] - }, - "update": { - "permissions": [ - "gamelift:ListTagsForResource", - "gamelift:TagResource", - "gamelift:UntagResource" - ] - }, - "list": { - "permissions": [ - "gamelift:ListContainerGroupDefinitions" - ] - }, - "delete": { - "permissions": [ - "gamelift:DescribeContainerGroupDefinition", - "gamelift:DeleteContainerGroupDefinition" - ] - } + "permissions": [ + "gamelift:ListTagsForResource", + "gamelift:TagResource", + "gamelift:UntagResource" + ] }, - "additionalProperties": false, "definitions": { "ContainerPortRange": { "description": "A set of one or more port numbers that can be opened on the container.", - "additionalProperties": false, "type": "object", "properties": { "FromPort": { "description": "A starting value for the range of allowed port numbers.", - "maximum": 60000, "type": "integer", "minimum": 1, - "markdownDescription": "A starting value for the range of allowed port numbers.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - }, - "ToPort": { - "description": "An ending value for the range of allowed port numbers. Port numbers are end-inclusive. This value must be equal to or greater than FromPort.", "maximum": 60000, - "type": "integer", - "minimum": 1, - "markdownDescription": "An ending value for the range of allowed port numbers. Port numbers are end-inclusive. This value must be equal to or greater than FromPort.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "A starting value for the range of allowed port numbers.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, "Protocol": { "description": "Defines the protocol of these ports.", @@ -105,6 +35,13 @@ "UDP" ], "markdownDescription": "Defines the protocol of these ports.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: TCP | UDP \nUpdate requires: No interruption" + }, + "ToPort": { + "description": "An ending value for the range of allowed port numbers. Port numbers are end-inclusive. This value must be equal to or greater than FromPort.", + "type": "integer", + "minimum": 1, + "maximum": 60000, + "markdownDescription": "An ending value for the range of allowed port numbers. Port numbers are end-inclusive. This value must be equal to or greater than FromPort.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" } }, "required": [ @@ -112,307 +49,376 @@ "Protocol", "ToPort" ], + "additionalProperties": false, "markdownDescription": "A set of one or more port numbers that can be opened on the container.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "MemoryLimits": { - "description": "Specifies how much memory is available to the container.", - "additionalProperties": false, + "ContainerHealthCheck": { + "description": "Specifies how the process manager checks the health of containers.", "type": "object", "properties": { - "SoftLimit": { - "description": "The amount of memory that is reserved for the container.", - "maximum": 1024000, + "Command": { + "description": "A string array representing the command that the container runs to determine if it is healthy.", + "type": "array", + "uniqueItems": false, + "insertionOrder": true, + "minItems": 1, + "maxItems": 20, + "items": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^.*$ \nUpdate requires: No interruption" + }, + "markdownDescription": "A string array representing the command that the container runs to determine if it is healthy.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "Interval": { + "description": "How often (in seconds) the health is checked.", "type": "integer", - "minimum": 4, - "markdownDescription": "The amount of memory that is reserved for the container.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "minimum": 60, + "maximum": 300, + "markdownDescription": "How often (in seconds) the health is checked.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "HardLimit": { - "description": "The hard limit of memory to reserve for the container.", - "maximum": 1024000, + "Timeout": { + "description": "How many seconds the process manager allows the command to run before canceling it.", "type": "integer", - "minimum": 4, - "markdownDescription": "The hard limit of memory to reserve for the container.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "minimum": 30, + "maximum": 60, + "markdownDescription": "How many seconds the process manager allows the command to run before canceling it.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Retries": { + "description": "How many times the process manager will retry the command after a timeout. (The first run of the command does not count as a retry.)", + "type": "integer", + "minimum": 5, + "maximum": 10, + "markdownDescription": "How many times the process manager will retry the command after a timeout. (The first run of the command does not count as a retry.)\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "StartPeriod": { + "description": "The optional grace period (in seconds) to give a container time to boostrap before teh health check is declared failed.", + "type": "integer", + "minimum": 0, + "maximum": 300, + "markdownDescription": "The optional grace period (in seconds) to give a container time to boostrap before teh health check is declared failed.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "markdownDescription": "Specifies how much memory is available to the container.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ContainerDependency": { - "description": "A dependency that impacts a container's startup and shutdown.", + "required": [ + "Command" + ], "additionalProperties": false, + "markdownDescription": "Specifies how the process manager checks the health of containers.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PortConfiguration": { + "description": "Defines the ports on a container.", "type": "object", "properties": { - "Condition": { - "description": "The type of dependency.", - "type": "string", - "enum": [ - "START", - "COMPLETE", - "SUCCESS", - "HEALTHY" - ], - "markdownDescription": "The type of dependency.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: START | COMPLETE | SUCCESS | HEALTHY \nUpdate requires: No interruption" - }, - "ContainerName": { - "minLength": 1, - "description": "A descriptive label for the container definition. The container being defined depends on this container's condition.", - "type": "string", - "maxLength": 128, - "markdownDescription": "A descriptive label for the container definition. The container being defined depends on this container's condition.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9-]+$ \nUpdate requires: No interruption" + "ContainerPortRanges": { + "description": "Specifies one or more ranges of ports on a container.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "minItems": 1, + "maxItems": 100, + "items": { + "$ref": "#/definitions/ContainerPortRange" + }, + "markdownDescription": "Specifies one or more ranges of ports on a container.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ - "ContainerName", - "Condition" + "ContainerPortRanges" ], - "markdownDescription": "A dependency that impacts a container's startup and shutdown.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "Defines the ports on a container.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ContainerEnvironment": { "description": "An environment variable to set inside a container, in the form of a key-value pair.", - "additionalProperties": false, "type": "object", "properties": { - "Value": { - "minLength": 1, - "description": "The environment variable value.", - "type": "string", - "maxLength": 255, - "markdownDescription": "The environment variable value.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^.*$ \nUpdate requires: No interruption" - }, "Name": { - "minLength": 1, "description": "The environment variable name.", "type": "string", + "minLength": 1, "maxLength": 255, "markdownDescription": "The environment variable name.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^.*$ \nUpdate requires: No interruption" + }, + "Value": { + "description": "The environment variable value.", + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "The environment variable value.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^.*$ \nUpdate requires: No interruption" } }, "required": [ "Name", "Value" ], + "additionalProperties": false, "markdownDescription": "An environment variable to set inside a container, in the form of a key-value pair.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ContainerDefinition": { - "description": "Details about a container that is used in a container fleet", - "additionalProperties": false, + "ContainerMountPoint": { + "description": "Defines the mount point configuration within a container.", "type": "object", "properties": { - "WorkingDirectory": { - "minLength": 1, - "description": "The working directory to run commands inside the container in.", + "InstancePath": { + "description": "The path on the host that will be mounted in the container.", "type": "string", - "maxLength": 255, - "markdownDescription": "The working directory to run commands inside the container in.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^.*$ \nUpdate requires: No interruption" - }, - "MemoryLimits": { - "description": "Specifies how much memory is available to the container. You must specify at least this parameter or the TotalMemoryLimit parameter of the ContainerGroupDefinition.", - "$ref": "#/definitions/MemoryLimits", - "markdownDescription": "Specifies how much memory is available to the container. You must specify at least this parameter or the TotalMemoryLimit parameter of the ContainerGroupDefinition.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "HealthCheck": { - "description": "Specifies how the health of the containers will be checked.", - "$ref": "#/definitions/ContainerHealthCheck", - "markdownDescription": "Specifies how the health of the containers will be checked.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Cpu": { - "description": "The maximum number of CPU units reserved for this container. The value is expressed as an integer amount of CPU units. 1 vCPU is equal to 1024 CPU units", - "maximum": 10240, - "type": "integer", - "minimum": 1, - "markdownDescription": "The maximum number of CPU units reserved for this container. The value is expressed as an integer amount of CPU units. 1 vCPU is equal to 1024 CPU units\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "EntryPoint": { - "minItems": 1, - "maxItems": 20, - "uniqueItems": false, - "description": "The entry point that's passed to the container so that it will run as an executable. If there are multiple arguments, each argument is a string in the array.", - "insertionOrder": true, - "type": "array", - "items": { - "minLength": 1, - "type": "string", - "maxLength": 1024, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" - }, - "markdownDescription": "The entry point that's passed to the container so that it will run as an executable. If there are multiple arguments, each argument is a string in the array.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "ImageUri": { "minLength": 1, - "description": "Specifies the image URI of this container.", - "type": "string", - "maxLength": 255, - "markdownDescription": "Specifies the image URI of this container.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[a-zA-Z0-9-_\\.@\\/:]+$ \nUpdate requires: No interruption" + "maxLength": 1024, + "markdownDescription": "The path on the host that will be mounted in the container.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nPattern: ^\\/[\\s\\S]*$ \nUpdate requires: No interruption" }, - "ResolvedImageDigest": { - "description": "The digest of the container image.", + "ContainerPath": { + "description": "The path inside the container where the mount is accessible.", "type": "string", - "markdownDescription": "The digest of the container image.\n\n---\n\nRequired: No \nType: String \nPattern: ^sha256:[a-fA-F0-9]{64}$ \nUpdate requires: No interruption" - }, - "Essential": { - "description": "Specifies if the container is essential. If an essential container fails a health check, then all containers in the container group will be restarted. You must specify exactly 1 essential container in a container group.", - "type": "boolean", - "markdownDescription": "Specifies if the container is essential. If an essential container fails a health check, then all containers in the container group will be restarted. You must specify exactly 1 essential container in a container group.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "PortConfiguration": { - "description": "Defines the ports on the container.", - "$ref": "#/definitions/PortConfiguration", - "markdownDescription": "Defines the ports on the container.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "DependsOn": { - "minItems": 1, - "maxItems": 10, - "uniqueItems": true, - "description": "A list of container dependencies that determines when this container starts up and shuts down. For container groups with multiple containers, dependencies let you define a startup/shutdown sequence across the containers.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/ContainerDependency" - }, - "markdownDescription": "A list of container dependencies that determines when this container starts up and shuts down. For container groups with multiple containers, dependencies let you define a startup/shutdown sequence across the containers.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "minLength": 1, + "maxLength": 1024, + "markdownDescription": "The path inside the container where the mount is accessible.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nPattern: ^(\\/+[^\\/]+\\/*)+$ \nUpdate requires: No interruption" }, + "AccessLevel": { + "description": "The access permissions for the mounted path.", + "type": "string", + "enum": [ + "READ_ONLY", + "READ_AND_WRITE" + ], + "markdownDescription": "The access permissions for the mounted path.\n\n---\n\nRequired: No \nType: String \nAllowed Values: READ_ONLY | READ_AND_WRITE \nUpdate requires: No interruption" + } + }, + "required": [ + "InstancePath" + ], + "additionalProperties": false, + "markdownDescription": "Defines the mount point configuration within a container.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ContainerDependency": { + "description": "A dependency that impacts a container's startup and shutdown.", + "type": "object", + "properties": { "ContainerName": { - "minLength": 1, - "description": "A descriptive label for the container definition. Container definition names must be unique with a container group definition.", + "description": "A descriptive label for the container definition. The container being defined depends on this container's condition.", "type": "string", + "minLength": 1, "maxLength": 128, - "markdownDescription": "A descriptive label for the container definition. Container definition names must be unique with a container group definition.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9-]+$ \nUpdate requires: No interruption" - }, - "Command": { - "minItems": 1, - "maxItems": 20, - "uniqueItems": false, - "description": "The command that's passed to the container.", - "insertionOrder": true, - "type": "array", - "items": { - "minLength": 1, - "type": "string", - "maxLength": 255, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^.*$ \nUpdate requires: No interruption" - }, - "markdownDescription": "The command that's passed to the container.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A descriptive label for the container definition. The container being defined depends on this container's condition.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9-]+$ \nUpdate requires: No interruption" }, - "Environment": { - "minItems": 1, - "maxItems": 20, - "uniqueItems": true, - "description": "The environment variables to pass to a container.", - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/ContainerEnvironment" - }, - "markdownDescription": "The environment variables to pass to a container.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "Condition": { + "description": "The type of dependency.", + "type": "string", + "enum": [ + "START", + "COMPLETE", + "SUCCESS", + "HEALTHY" + ], + "markdownDescription": "The type of dependency.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: START | COMPLETE | SUCCESS | HEALTHY \nUpdate requires: No interruption" } }, "required": [ "ContainerName", - "ImageUri" + "Condition" ], - "markdownDescription": "Details about a container that is used in a container fleet\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "A dependency that impacts a container's startup and shutdown.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { "description": "A key-value pair to associate with a resource.", - "additionalProperties": false, "type": "object", "properties": { - "Value": { - "minLength": 0, - "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length.", - "type": "string", - "maxLength": 256, - "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^.*$ \nUpdate requires: No interruption" - }, "Key": { - "minLength": 1, "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length.", "type": "string", + "minLength": 1, "maxLength": 128, "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^.*$ \nUpdate requires: No interruption" + }, + "Value": { + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length.", + "type": "string", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^.*$ \nUpdate requires: No interruption" } }, "required": [ "Key", "Value" ], + "additionalProperties": false, "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "PortConfiguration": { - "description": "Defines the ports on a container.", - "additionalProperties": false, + "GameServerContainerDefinition": { + "description": "Specifies the information required to run game servers with this container group", "type": "object", "properties": { - "ContainerPortRanges": { + "ContainerName": { + "description": "A descriptive label for the container definition. Container definition names must be unique with a container group definition.", + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "A descriptive label for the container definition. Container definition names must be unique with a container group definition.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9-]+$ \nUpdate requires: No interruption" + }, + "DependsOn": { + "description": "A list of container dependencies that determines when this container starts up and shuts down. For container groups with multiple containers, dependencies let you define a startup/shutdown sequence across the containers.", + "type": "array", + "uniqueItems": true, + "insertionOrder": true, "minItems": 1, - "maxItems": 100, + "maxItems": 10, + "items": { + "$ref": "#/definitions/ContainerDependency" + }, + "markdownDescription": "A list of container dependencies that determines when this container starts up and shuts down. For container groups with multiple containers, dependencies let you define a startup/shutdown sequence across the containers.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ServerSdkVersion": { + "description": "The version of the server SDK used in this container group", + "type": "string", + "maxLength": 128, + "markdownDescription": "The version of the server SDK used in this container group\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nPattern: ^\\d+\\.\\d+\\.\\d+$ \nUpdate requires: No interruption" + }, + "ImageUri": { + "description": "Specifies the image URI of this container.", + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "Specifies the image URI of this container.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[a-zA-Z0-9-_\\.@\\/:]+$ \nUpdate requires: No interruption" + }, + "ResolvedImageDigest": { + "description": "The digest of the container image.", + "type": "string", + "markdownDescription": "The digest of the container image.\n\n---\n\nRequired: No \nType: String \nPattern: ^sha256:[a-fA-F0-9]{64}$ \nUpdate requires: No interruption" + }, + "EnvironmentOverride": { + "description": "The environment variables to pass to a container.", + "type": "array", "uniqueItems": true, - "description": "Specifies one or more ranges of ports on a container.", "insertionOrder": false, + "minItems": 1, + "maxItems": 20, + "items": { + "$ref": "#/definitions/ContainerEnvironment" + }, + "markdownDescription": "The environment variables to pass to a container.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "PortConfiguration": { + "description": "Defines the ports on the container.", + "$ref": "#/definitions/PortConfiguration", + "markdownDescription": "Defines the ports on the container.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "MountPoints": { + "description": "A list of mount point configurations to be used in a container.", "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "minItems": 1, + "maxItems": 10, "items": { - "$ref": "#/definitions/ContainerPortRange" + "$ref": "#/definitions/ContainerMountPoint" }, - "markdownDescription": "Specifies one or more ranges of ports on a container.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of mount point configurations to be used in a container.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ - "ContainerPortRanges" + "ContainerName", + "ImageUri", + "ServerSdkVersion" ], - "markdownDescription": "Defines the ports on a container.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ContainerHealthCheck": { - "description": "Specifies how the process manager checks the health of containers.", "additionalProperties": false, + "markdownDescription": "Specifies the information required to run game servers with this container group\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SupportContainerDefinition": { + "description": "Supports the function of the main container group", "type": "object", "properties": { - "Command": { - "minItems": 1, - "maxItems": 20, - "uniqueItems": false, - "description": "A string array representing the command that the container runs to determine if it is healthy.", - "insertionOrder": true, + "ContainerName": { + "description": "A descriptive label for the container definition.", + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "A descriptive label for the container definition.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9-]+$ \nUpdate requires: No interruption" + }, + "Vcpu": { + "description": "The number of virtual CPUs to give to the support group", + "type": "number", + "minimum": 0.125, + "maximum": 10, + "markdownDescription": "The number of virtual CPUs to give to the support group\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "DependsOn": { + "description": "A list of container dependencies that determines when this container starts up and shuts down. For container groups with multiple containers, dependencies let you define a startup/shutdown sequence across the containers.", "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "minItems": 1, + "maxItems": 10, "items": { - "minLength": 1, - "type": "string", - "maxLength": 255, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^.*$ \nUpdate requires: No interruption" + "$ref": "#/definitions/ContainerDependency" }, - "markdownDescription": "A string array representing the command that the container runs to determine if it is healthy.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of container dependencies that determines when this container starts up and shuts down. For container groups with multiple containers, dependencies let you define a startup/shutdown sequence across the containers.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Timeout": { - "description": "How many seconds the process manager allows the command to run before canceling it.", - "maximum": 60, - "type": "integer", - "minimum": 30, - "markdownDescription": "How many seconds the process manager allows the command to run before canceling it.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "Essential": { + "description": "Specifies if the container is essential. If an essential container fails a health check, then all containers in the container group will be restarted. You must specify exactly 1 essential container in a container group.", + "type": "boolean", + "markdownDescription": "Specifies if the container is essential. If an essential container fails a health check, then all containers in the container group will be restarted. You must specify exactly 1 essential container in a container group.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "Retries": { - "description": "How many times the process manager will retry the command after a timeout. (The first run of the command does not count as a retry.)", - "maximum": 10, - "type": "integer", - "minimum": 5, - "markdownDescription": "How many times the process manager will retry the command after a timeout. (The first run of the command does not count as a retry.)\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "ImageUri": { + "description": "Specifies the image URI of this container.", + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "Specifies the image URI of this container.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[a-zA-Z0-9-_\\.@\\/:]+$ \nUpdate requires: No interruption" }, - "Interval": { - "description": "How often (in seconds) the health is checked.", - "maximum": 300, - "type": "integer", - "minimum": 60, - "markdownDescription": "How often (in seconds) the health is checked.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "ResolvedImageDigest": { + "description": "The digest of the container image.", + "type": "string", + "markdownDescription": "The digest of the container image.\n\n---\n\nRequired: No \nType: String \nPattern: ^sha256:[a-fA-F0-9]{64}$ \nUpdate requires: No interruption" }, - "StartPeriod": { - "description": "The optional grace period (in seconds) to give a container time to boostrap before teh health check is declared failed.", - "maximum": 300, + "MemoryHardLimitMebibytes": { + "description": "The total memory limit of container groups following this definition in MiB", "type": "integer", - "minimum": 0, - "markdownDescription": "The optional grace period (in seconds) to give a container time to boostrap before teh health check is declared failed.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "minimum": 4, + "maximum": 1024000, + "markdownDescription": "The total memory limit of container groups following this definition in MiB\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "EnvironmentOverride": { + "description": "The environment variables to pass to a container.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "minItems": 1, + "maxItems": 20, + "items": { + "$ref": "#/definitions/ContainerEnvironment" + }, + "markdownDescription": "The environment variables to pass to a container.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "PortConfiguration": { + "description": "Defines the ports on the container.", + "$ref": "#/definitions/PortConfiguration", + "markdownDescription": "Defines the ports on the container.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "HealthCheck": { + "description": "Specifies how the health of the containers will be checked.", + "$ref": "#/definitions/ContainerHealthCheck", + "markdownDescription": "Specifies how the health of the containers will be checked.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "MountPoints": { + "description": "A list of mount point configurations to be used in a container.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "minItems": 1, + "maxItems": 10, + "items": { + "$ref": "#/definitions/ContainerMountPoint" + }, + "markdownDescription": "A list of mount point configurations to be used in a container.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ - "Command" + "ContainerName", + "ImageUri" ], - "markdownDescription": "Specifies how the process manager checks the health of containers.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "Supports the function of the main container group\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -422,75 +428,172 @@ "enum": [ "AMAZON_LINUX_2023" ], - "markdownDescription": "The operating system of the container group\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: AMAZON_LINUX_2023 \nUpdate requires: Replacement" + "markdownDescription": "The operating system of the container group\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: AMAZON_LINUX_2023 \nUpdate requires: No interruption" }, "Name": { - "minLength": 1, "description": "A descriptive label for the container group definition.", "type": "string", + "minLength": 1, "maxLength": 128, "markdownDescription": "A descriptive label for the container group definition.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9-]+$ \nUpdate requires: Replacement" }, - "SchedulingStrategy": { - "description": "Specifies whether the container group includes replica or daemon containers.", + "ContainerGroupType": { + "description": "The scope of the container group", "type": "string", "enum": [ - "REPLICA", - "DAEMON" + "GAME_SERVER", + "PER_INSTANCE" ], - "markdownDescription": "Specifies whether the container group includes replica or daemon containers.\n\n---\n\nRequired: No \nType: String \nAllowed Values: REPLICA | DAEMON \nUpdate requires: Replacement" + "markdownDescription": "The scope of the container group\n\n---\n\nRequired: No \nType: String \nAllowed Values: GAME_SERVER | PER_INSTANCE \nUpdate requires: Replacement" }, - "TotalMemoryLimit": { - "description": "The maximum amount of memory (in MiB) to allocate for this container group.", - "maximum": 1024000, + "TotalMemoryLimitMebibytes": { + "description": "The total memory limit of container groups following this definition in MiB", "type": "integer", "minimum": 4, - "markdownDescription": "The maximum amount of memory (in MiB) to allocate for this container group.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: Replacement" + "maximum": 1024000, + "markdownDescription": "The total memory limit of container groups following this definition in MiB\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, - "ContainerDefinitions": { - "minItems": 1, - "maxItems": 10, + "TotalVcpuLimit": { + "description": "The total amount of virtual CPUs on the container group definition", + "type": "number", + "minimum": 0.125, + "maximum": 10, + "markdownDescription": "The total amount of virtual CPUs on the container group definition\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "GameServerContainerDefinition": { + "$ref": "#/definitions/GameServerContainerDefinition" + }, + "SupportContainerDefinitions": { + "description": "A collection of support container definitions that define the containers in this group.", + "type": "array", "uniqueItems": true, - "description": "A collection of container definitions that define the containers in this group.", "insertionOrder": false, - "type": "array", + "minItems": 1, + "maxItems": 10, "items": { - "$ref": "#/definitions/ContainerDefinition" + "$ref": "#/definitions/SupportContainerDefinition" }, - "markdownDescription": "A collection of container definitions that define the containers in this group.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: Replacement" + "markdownDescription": "A collection of support container definitions that define the containers in this group.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SourceVersionNumber": { + "description": "A specific ContainerGroupDefinition version to be updated", + "type": "integer", + "minimum": 0, + "markdownDescription": "A specific ContainerGroupDefinition version to be updated\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "VersionDescription": { + "description": "The description of this version", + "type": "string", + "minLength": 1, + "maxLength": 1024, + "markdownDescription": "The description of this version\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" }, "Tags": { - "minItems": 0, - "maxItems": 200, - "uniqueItems": true, "description": "An array of key-value pairs to apply to this resource.", - "insertionOrder": false, "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "minItems": 0, + "maxItems": 200, "items": { "$ref": "#/definitions/Tag" }, "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "Name", + "OperatingSystem", + "TotalMemoryLimitMebibytes", + "TotalVcpuLimit" + ], + "createOnlyProperties": [ + "/properties/Name", + "/properties/ContainerGroupType" + ], + "readOnlyProperties": [ + "/properties/ContainerGroupDefinitionArn", + "/properties/CreationTime", + "/properties/VersionNumber", + "/properties/Status", + "/properties/StatusReason" + ], + "primaryIdentifier": [ + "/properties/Name" + ], + "handlers": { + "create": { + "permissions": [ + "gamelift:CreateContainerGroupDefinition", + "gamelift:DescribeContainerGroupDefinition", + "gamelift:ListTagsForResource", + "gamelift:TagResource", + "ecr:BatchCheckLayerAvailability", + "ecr:BatchGetImage", + "ecr:GetDownloadUrlForLayer", + "ecr:DescribeImages" + ] }, - "TotalCpuLimit": { - "description": "The maximum number of CPU units reserved for this container group. The value is expressed as an integer amount of CPU units. (1 vCPU is equal to 1024 CPU units.)", - "maximum": 10240, - "type": "integer", - "minimum": 128, - "markdownDescription": "The maximum number of CPU units reserved for this container group. The value is expressed as an integer amount of CPU units. (1 vCPU is equal to 1024 CPU units.)\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: Replacement" + "read": { + "permissions": [ + "gamelift:DescribeContainerGroupDefinition", + "gamelift:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "gamelift:UpdateContainerGroupDefinition", + "gamelift:ListTagsForResource", + "gamelift:TagResource", + "gamelift:UntagResource" + ] + }, + "delete": { + "permissions": [ + "gamelift:DescribeContainerGroupDefinition", + "gamelift:DeleteContainerGroupDefinition" + ] + }, + "list": { + "permissions": [ + "gamelift:ListContainerGroupDefinitions" + ] } }, "attributes": { "ContainerGroupDefinitionArn": { - "minLength": 1, "description": "The Amazon Resource Name (ARN) that is assigned to a Amazon GameLift container group resource and uniquely identifies it across all AWS Regions.", "type": "string", + "minLength": 1, "maxLength": 512, - "markdownDescription": "The Amazon Resource Name (ARN) that is assigned to a Amazon GameLift container group resource and uniquely identifies it across all AWS Regions.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^arn:.*:containergroupdefinition/containergroupdefinition-[a-zA-Z0-9-]+$|^arn:.*:containergroupdefinition/[a-zA-Z0-9-\\:]+$ \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) that is assigned to a Amazon GameLift container group resource and uniquely identifies it across all AWS Regions.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^arn:.*:containergroupdefinition\\/[a-zA-Z0-9\\-]+(:[0-9]+)?$ \nUpdate requires: No interruption" }, "CreationTime": { "description": "A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").", "type": "string", "markdownDescription": "A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "VersionNumber": { + "description": "The version of this ContainerGroupDefinition", + "type": "integer", + "minimum": 0, + "markdownDescription": "The version of this ContainerGroupDefinition\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Status": { + "description": "A string indicating ContainerGroupDefinition status.", + "type": "string", + "enum": [ + "READY", + "COPYING", + "FAILED" + ], + "markdownDescription": "A string indicating ContainerGroupDefinition status.\n\n---\n\nRequired: No \nType: String \nAllowed Values: READY | COPYING | FAILED \nUpdate requires: No interruption" + }, + "StatusReason": { + "description": "A string indicating the reason for ContainerGroupDefinition status.", + "type": "string", + "markdownDescription": "A string indicating the reason for ContainerGroupDefinition status.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-gamelift-fleet.json b/server/schema/resources/aws-gamelift-fleet.json index cd24e8a1..a80c3106 100644 --- a/server/schema/resources/aws-gamelift-fleet.json +++ b/server/schema/resources/aws-gamelift-fleet.json @@ -40,86 +40,6 @@ ], "markdownDescription": "Information about the use of a TLS/SSL certificate for a fleet. TLS certificate generation is enabled at the fleet level, with one certificate generated for the fleet. When this feature is enabled, the certificate can be retrieved using the GameLift Server SDK call GetInstanceCertificate. All instances in a fleet share the same certificate.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ConnectionPortRange": { - "description": "Defines the range of ports on the instance that allow inbound traffic to connect with containers in a fleet.", - "type": "object", - "properties": { - "FromPort": { - "description": "A starting value for a range of allowed port numbers.", - "type": "integer", - "minimum": 1, - "maximum": 60000, - "markdownDescription": "A starting value for a range of allowed port numbers.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - }, - "ToPort": { - "description": "An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.", - "type": "integer", - "minimum": 1, - "maximum": 60000, - "markdownDescription": "An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "required": [ - "FromPort", - "ToPort" - ], - "markdownDescription": "Defines the range of ports on the instance that allow inbound traffic to connect with containers in a fleet.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ContainerGroupsConfiguration": { - "description": "Specifies container groups that this instance will hold. You must specify exactly one replica group. Optionally, you may specify exactly one daemon group. You can't change this property after you create the fleet.", - "type": "object", - "properties": { - "ContainerGroupDefinitionNames": { - "description": "The names of the container group definitions that will be created in an instance. You must specify exactly one REPLICA container group. You have the option to also specify one DAEMON container group.", - "type": "array", - "insertionOrder": false, - "minItems": 1, - "maxItems": 2, - "items": { - "type": "string", - "minLength": 1, - "maxLength": 128, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9\\-]+$ \nUpdate requires: No interruption" - }, - "markdownDescription": "The names of the container group definitions that will be created in an instance. You must specify exactly one REPLICA container group. You have the option to also specify one DAEMON container group.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "ConnectionPortRange": { - "$ref": "#/definitions/ConnectionPortRange" - }, - "ContainerGroupsPerInstance": { - "$ref": "#/definitions/ContainerGroupsPerInstance" - } - }, - "additionalProperties": false, - "required": [ - "ContainerGroupDefinitionNames", - "ConnectionPortRange" - ], - "markdownDescription": "Specifies container groups that this instance will hold. You must specify exactly one replica group. Optionally, you may specify exactly one daemon group. You can't change this property after you create the fleet.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ContainerGroupsPerInstance": { - "description": "The number of container groups per instance.", - "type": "object", - "properties": { - "DesiredReplicaContainerGroupsPerInstance": { - "description": "Use this parameter to override the number of replica container groups GameLift will launch per instance with a number that is lower than that calculated maximum.", - "type": "integer", - "minimum": 1, - "maximum": 5000, - "markdownDescription": "Use this parameter to override the number of replica container groups GameLift will launch per instance with a number that is lower than that calculated maximum.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "MaxReplicaContainerGroupsPerInstance": { - "description": "GameLift calculates the maximum number of replica container groups it can launch per instance based on instance properties such as CPU, memory, and connection ports.", - "type": "integer", - "minimum": 1, - "maximum": 5000, - "markdownDescription": "GameLift calculates the maximum number of replica container groups it can launch per instance based on instance properties such as CPU, memory, and connection ports.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "markdownDescription": "The number of container groups per instance.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "IpPermission": { "description": "A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift hosting resource. New game sessions that are started on the fleet are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. For fleets created with a custom game server, the ranges reflect the server's game session assignments. For Realtime Servers fleets, Amazon GameLift automatically opens two port ranges, one for TCP messaging and one for UDP, for use by the Realtime servers.", "type": "object", @@ -466,13 +386,9 @@ "type": "string", "enum": [ "EC2", - "ANYWHERE", - "CONTAINER" + "ANYWHERE" ], - "markdownDescription": "ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer.\n\n---\n\nRequired: No \nType: String \nAllowed Values: EC2 | ANYWHERE | CONTAINER \nUpdate requires: Replacement" - }, - "ContainerGroupsConfiguration": { - "$ref": "#/definitions/ContainerGroupsConfiguration" + "markdownDescription": "ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer.\n\n---\n\nRequired: No \nType: String \nAllowed Values: EC2 | ANYWHERE \nUpdate requires: Replacement" }, "Description": { "description": "A human-readable description of a fleet.", @@ -641,7 +557,6 @@ "/properties/ApplyCapacity", "/properties/BuildId", "/properties/CertificateConfiguration", - "/properties/ContainerGroupsConfiguration", "/properties/EC2InstanceType", "/properties/FleetType", "/properties/InstanceRoleARN", @@ -660,7 +575,6 @@ "/properties/ServerLaunchPath" ], "readOnlyProperties": [ - "/properties/ContainerGroupsConfiguration/ContainerGroupsPerInstance/MaxReplicaContainerGroupsPerInstance", "/properties/FleetId" ], "writeOnlyProperties": [ diff --git a/server/schema/resources/aws-gamelift-location.json b/server/schema/resources/aws-gamelift-location.json index a6c5cdeb..6af458fa 100644 --- a/server/schema/resources/aws-gamelift-location.json +++ b/server/schema/resources/aws-gamelift-location.json @@ -6,7 +6,14 @@ "tagging": { "taggable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "tagOnCreate": true, + "tagUpdatable": true, + "permissions": [ + "gamelift:ListTagsForResource", + "gamelift:TagResource", + "gamelift:UntagResource" + ] }, "definitions": { "Tag": { diff --git a/server/schema/resources/aws-gamelift-matchmakingconfiguration.json b/server/schema/resources/aws-gamelift-matchmakingconfiguration.json index 52e8c6a4..920c47ca 100644 --- a/server/schema/resources/aws-gamelift-matchmakingconfiguration.json +++ b/server/schema/resources/aws-gamelift-matchmakingconfiguration.json @@ -6,7 +6,14 @@ "tagging": { "taggable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "tagOnCreate": true, + "tagUpdatable": true, + "permissions": [ + "gamelift:ListTagsForResource", + "gamelift:TagResource", + "gamelift:UntagResource" + ] }, "definitions": { "GameProperty": { diff --git a/server/schema/resources/aws-gamelift-matchmakingruleset.json b/server/schema/resources/aws-gamelift-matchmakingruleset.json index 4bca3cb5..4a199196 100644 --- a/server/schema/resources/aws-gamelift-matchmakingruleset.json +++ b/server/schema/resources/aws-gamelift-matchmakingruleset.json @@ -6,7 +6,14 @@ "tagging": { "taggable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "tagOnCreate": true, + "tagUpdatable": true, + "permissions": [ + "gamelift:ListTagsForResource", + "gamelift:TagResource", + "gamelift:UntagResource" + ] }, "definitions": { "Tag": { diff --git a/server/schema/resources/aws-glue-crawler.json b/server/schema/resources/aws-glue-crawler.json index a7c3bc5c..e53a4bcb 100644 --- a/server/schema/resources/aws-glue-crawler.json +++ b/server/schema/resources/aws-glue-crawler.json @@ -1,49 +1,57 @@ { "typeName": "AWS::Glue::Crawler", "description": "Resource Type definition for AWS::Glue::Crawler", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-glue.git", "additionalProperties": false, "properties": { "Classifiers": { "type": "array", + "description": "A list of UTF-8 strings that specify the names of custom classifiers that are associated with the crawler.", "uniqueItems": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of UTF-8 strings that specify the names of custom classifiers that are associated with the crawler.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Description": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A description of the crawler.", + "markdownDescription": "A description of the crawler.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "SchemaChangePolicy": { "$ref": "#/definitions/SchemaChangePolicy" }, "Configuration": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior.", + "markdownDescription": "Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RecrawlPolicy": { "$ref": "#/definitions/RecrawlPolicy" }, "DatabaseName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the database in which the crawler's output is stored.", + "markdownDescription": "The name of the database in which the crawler's output is stored.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Targets": { "$ref": "#/definitions/Targets" }, "CrawlerSecurityConfiguration": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the SecurityConfiguration structure to be used by this crawler.", + "markdownDescription": "The name of the SecurityConfiguration structure to be used by this crawler.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Name": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "description": "The name of the crawler.", + "markdownDescription": "The name of the crawler.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "Role": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The Amazon Resource Name (ARN) of an IAM role that's used to access customer resources, such as Amazon Simple Storage Service (Amazon S3) data.", + "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that's used to access customer resources, such as Amazon Simple Storage Service (Amazon S3) data.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "LakeFormationConfiguration": { "$ref": "#/definitions/LakeFormationConfiguration" @@ -53,318 +61,379 @@ }, "TablePrefix": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The prefix added to the names of tables that are created.", + "markdownDescription": "The prefix added to the names of tables that are created.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Tags": { "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "The tags to use with this crawler.", + "markdownDescription": "The tags to use with this crawler.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "definitions": { "S3Target": { "type": "object", + "description": "Specifies a data store in Amazon Simple Storage Service (Amazon S3).", "additionalProperties": false, "properties": { "ConnectionName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of a connection which allows a job or crawler to access data in Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).", + "markdownDescription": "The name of a connection which allows a job or crawler to access data in Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Path": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The path to the Amazon S3 target.", + "markdownDescription": "The path to the Amazon S3 target.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "SampleSize": { "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "description": "Sets the number of files in each leaf folder to be crawled when crawling sample files in a dataset. If not set, all the files are crawled. A valid value is an integer between 1 and 249.", + "markdownDescription": "Sets the number of files in each leaf folder to be crawled when crawling sample files in a dataset. If not set, all the files are crawled. A valid value is an integer between 1 and 249.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Exclusions": { "type": "array", + "description": "A list of glob patterns used to exclude from the crawl.", "uniqueItems": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of glob patterns used to exclude from the crawl.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "DlqEventQueueArn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A valid Amazon dead-letter SQS ARN. For example, arn:aws:sqs:region:account:deadLetterQueue.", + "markdownDescription": "A valid Amazon dead-letter SQS ARN. For example, arn:aws:sqs:region:account:deadLetterQueue.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "EventQueueArn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A valid Amazon SQS ARN. For example, arn:aws:sqs:region:account:sqs.", + "markdownDescription": "A valid Amazon SQS ARN. For example, arn:aws:sqs:region:account:sqs.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies a data store in Amazon Simple Storage Service (Amazon S3).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "LakeFormationConfiguration": { "type": "object", + "description": "Specifies AWS Lake Formation configuration settings for the crawler", "additionalProperties": false, "properties": { "UseLakeFormationCredentials": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "description": "Specifies whether to use AWS Lake Formation credentials for the crawler instead of the IAM role credentials.", + "markdownDescription": "Specifies whether to use AWS Lake Formation credentials for the crawler instead of the IAM role credentials.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "AccountId": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "Required for cross account crawls. For same account crawls as the target data, this can be left as null.", + "markdownDescription": "Required for cross account crawls. For same account crawls as the target data, this can be left as null.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies AWS Lake Formation configuration settings for the crawler\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SchemaChangePolicy": { "type": "object", + "description": "The policy that specifies update and delete behaviors for the crawler. The policy tells the crawler what to do in the event that it detects a change in a table that already exists in the customer's database at the time of the crawl. The SchemaChangePolicy does not affect whether or how new tables and partitions are added. New tables and partitions are always created regardless of the SchemaChangePolicy on a crawler. The SchemaChangePolicy consists of two components, UpdateBehavior and DeleteBehavior.", "additionalProperties": false, "properties": { "UpdateBehavior": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The update behavior when the crawler finds a changed schema. A value of LOG specifies that if a table or a partition already exists, and a change is detected, do not update it, only log that a change was detected. Add new tables and new partitions (including on existing tables). A value of UPDATE_IN_DATABASE specifies that if a table or partition already exists, and a change is detected, update it. Add new tables and partitions.", + "markdownDescription": "The update behavior when the crawler finds a changed schema. A value of LOG specifies that if a table or a partition already exists, and a change is detected, do not update it, only log that a change was detected. Add new tables and new partitions (including on existing tables). A value of UPDATE_IN_DATABASE specifies that if a table or partition already exists, and a change is detected, update it. Add new tables and partitions.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DeleteBehavior": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The deletion behavior when the crawler finds a deleted object. A value of LOG specifies that if a table or partition is found to no longer exist, do not delete it, only log that it was found to no longer exist. A value of DELETE_FROM_DATABASE specifies that if a table or partition is found to have been removed, delete it from the database. A value of DEPRECATE_IN_DATABASE specifies that if a table has been found to no longer exist, to add a property to the table that says 'DEPRECATED' and includes a timestamp with the time of deprecation.", + "markdownDescription": "The deletion behavior when the crawler finds a deleted object. A value of LOG specifies that if a table or partition is found to no longer exist, do not delete it, only log that it was found to no longer exist. A value of DELETE_FROM_DATABASE specifies that if a table or partition is found to have been removed, delete it from the database. A value of DEPRECATE_IN_DATABASE specifies that if a table has been found to no longer exist, to add a property to the table that says 'DEPRECATED' and includes a timestamp with the time of deprecation.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The policy that specifies update and delete behaviors for the crawler. The policy tells the crawler what to do in the event that it detects a change in a table that already exists in the customer's database at the time of the crawl. The SchemaChangePolicy does not affect whether or how new tables and partitions are added. New tables and partitions are always created regardless of the SchemaChangePolicy on a crawler. The SchemaChangePolicy consists of two components, UpdateBehavior and DeleteBehavior.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "IcebergTarget": { "type": "object", + "description": "Specifies Apache Iceberg data store targets.", "additionalProperties": false, "properties": { "ConnectionName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the connection to use to connect to the Iceberg target.", + "markdownDescription": "The name of the connection to use to connect to the Iceberg target.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Paths": { "type": "array", + "description": "One or more Amazon S3 paths that contains Iceberg metadata folders as s3://bucket/prefix .", "uniqueItems": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "One or more Amazon S3 paths that contains Iceberg metadata folders as s3://bucket/prefix .\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Exclusions": { "type": "array", + "description": "A list of global patterns used to exclude from the crawl.", "uniqueItems": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of global patterns used to exclude from the crawl.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "MaximumTraversalDepth": { "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "description": "The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Iceberg metadata folder in your Amazon S3 path. Used to limit the crawler run time.", + "markdownDescription": "The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Iceberg metadata folder in your Amazon S3 path. Used to limit the crawler run time.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies Apache Iceberg data store targets.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Schedule": { "type": "object", + "description": "A scheduling object using a cron statement to schedule an event.", "additionalProperties": false, "properties": { "ScheduleExpression": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A cron expression used to specify the schedule. For more information, see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, specify cron(15 12 * * ? *).", + "markdownDescription": "A cron expression used to specify the schedule. For more information, see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, specify cron(15 12 * * ? *).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A scheduling object using a cron statement to schedule an event.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "RecrawlPolicy": { "type": "object", + "description": "When crawling an Amazon S3 data source after the first crawl is complete, specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run. For more information, see Incremental Crawls in AWS Glue in the developer guide.", "additionalProperties": false, "properties": { "RecrawlBehavior": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "Specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run. A value of CRAWL_EVERYTHING specifies crawling the entire dataset again. A value of CRAWL_NEW_FOLDERS_ONLY specifies crawling only folders that were added since the last crawler run. A value of CRAWL_EVENT_MODE specifies crawling only the changes identified by Amazon S3 events.", + "markdownDescription": "Specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run. A value of CRAWL_EVERYTHING specifies crawling the entire dataset again. A value of CRAWL_NEW_FOLDERS_ONLY specifies crawling only folders that were added since the last crawler run. A value of CRAWL_EVENT_MODE specifies crawling only the changes identified by Amazon S3 events.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "When crawling an Amazon S3 data source after the first crawl is complete, specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run. For more information, see Incremental Crawls in AWS Glue in the developer guide.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "MongoDBTarget": { "type": "object", + "description": "Specifies an Amazon DocumentDB or MongoDB data store to crawl.", "additionalProperties": false, "properties": { "ConnectionName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the connection to use to connect to the Amazon DocumentDB or MongoDB target.", + "markdownDescription": "The name of the connection to use to connect to the Amazon DocumentDB or MongoDB target.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Path": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The path of the Amazon DocumentDB or MongoDB target (database/collection).", + "markdownDescription": "The path of the Amazon DocumentDB or MongoDB target (database/collection).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies an Amazon DocumentDB or MongoDB data store to crawl.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "DeltaTarget": { "type": "object", + "description": "Specifies a Delta data store to crawl one or more Delta tables.", "additionalProperties": false, "properties": { "ConnectionName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the connection to use to connect to the Delta table target.", + "markdownDescription": "The name of the connection to use to connect to the Delta table target.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "CreateNativeDeltaTable": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "description": "Specifies whether the crawler will create native tables, to allow integration with query engines that support querying of the Delta transaction log directly.", + "markdownDescription": "Specifies whether the crawler will create native tables, to allow integration with query engines that support querying of the Delta transaction log directly.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "WriteManifest": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "description": "Specifies whether to write the manifest files to the Delta table path.", + "markdownDescription": "Specifies whether to write the manifest files to the Delta table path.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "DeltaTables": { "type": "array", + "description": "", "uniqueItems": false, "items": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A list of the Amazon S3 paths to the Delta tables.", + "markdownDescription": "A list of the Amazon S3 paths to the Delta tables.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies a Delta data store to crawl one or more Delta tables.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "JdbcTarget": { "type": "object", + "description": "Specifies a JDBC data store to crawl.", "additionalProperties": false, "properties": { "ConnectionName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the connection to use to connect to the JDBC target.", + "markdownDescription": "The name of the connection to use to connect to the JDBC target.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Path": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The path of the JDBC target.", + "markdownDescription": "The path of the JDBC target.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Exclusions": { "type": "array", + "description": "A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler.", "uniqueItems": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "EnableAdditionalMetadata": { "type": "array", + "description": "Specify a value of RAWTYPES or COMMENTS to enable additional metadata in table responses. RAWTYPES provides the native-level datatype. COMMENTS provides comments associated with a column or table in the database.\n\nIf you do not need additional metadata, keep the field empty.", "uniqueItems": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specify a value of RAWTYPES or COMMENTS to enable additional metadata in table responses. RAWTYPES provides the native-level datatype. COMMENTS provides comments associated with a column or table in the database.\n\nIf you do not need additional metadata, keep the field empty.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies a JDBC data store to crawl.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Targets": { "type": "object", + "description": "Specifies data stores to crawl.", "additionalProperties": false, "properties": { "S3Targets": { "type": "array", + "description": "Specifies Amazon Simple Storage Service (Amazon S3) targets.", "uniqueItems": false, "items": { "$ref": "#/definitions/S3Target" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies Amazon Simple Storage Service (Amazon S3) targets.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "CatalogTargets": { "type": "array", + "description": "Specifies AWS Glue Data Catalog targets.", "uniqueItems": false, "items": { "$ref": "#/definitions/CatalogTarget" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies AWS Glue Data Catalog targets.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "DeltaTargets": { "type": "array", + "description": "Specifies an array of Delta data store targets.", "uniqueItems": false, "items": { "$ref": "#/definitions/DeltaTarget" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies an array of Delta data store targets.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "MongoDBTargets": { "type": "array", + "description": "A list of Mongo DB targets.", "uniqueItems": false, "items": { "$ref": "#/definitions/MongoDBTarget" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of Mongo DB targets.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "JdbcTargets": { "type": "array", + "description": "Specifies JDBC targets.", "uniqueItems": false, "items": { "$ref": "#/definitions/JdbcTarget" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies JDBC targets.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "DynamoDBTargets": { "type": "array", + "description": "Specifies Amazon DynamoDB targets.", "uniqueItems": false, "items": { "$ref": "#/definitions/DynamoDBTarget" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies Amazon DynamoDB targets.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "IcebergTargets": { "type": "array", + "description": "Specifies Apache Iceberg data store targets.", "uniqueItems": false, "items": { "$ref": "#/definitions/IcebergTarget" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies Apache Iceberg data store targets.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies data stores to crawl.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "DynamoDBTarget": { "type": "object", + "description": "Specifies an Amazon DynamoDB table to crawl.", "additionalProperties": false, "properties": { "Path": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the DynamoDB table to crawl.", + "markdownDescription": "The name of the DynamoDB table to crawl.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies an Amazon DynamoDB table to crawl.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "CatalogTarget": { "type": "object", + "description": "Specifies an AWS Glue Data Catalog target.", "additionalProperties": false, "properties": { "ConnectionName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the connection for an Amazon S3-backed Data Catalog table to be a target of the crawl when using a Catalog connection type paired with a NETWORK Connection type.", + "markdownDescription": "The name of the connection for an Amazon S3-backed Data Catalog table to be a target of the crawl when using a Catalog connection type paired with a NETWORK Connection type.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DatabaseName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the database to be synchronized.", + "markdownDescription": "The name of the database to be synchronized.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DlqEventQueueArn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A valid Amazon dead-letter SQS ARN. For example, arn:aws:sqs:region:account:deadLetterQueue.", + "markdownDescription": "A valid Amazon dead-letter SQS ARN. For example, arn:aws:sqs:region:account:deadLetterQueue.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Tables": { "type": "array", + "description": "A list of the tables to be synchronized.", "uniqueItems": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of the tables to be synchronized.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "EventQueueArn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A valid Amazon SQS ARN. For example, arn:aws:sqs:region:account:sqs.", + "markdownDescription": "A valid Amazon SQS ARN. For example, arn:aws:sqs:region:account:sqs.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies an AWS Glue Data Catalog target.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags" + }, "required": [ "Role", "Targets" @@ -373,15 +442,46 @@ "/properties/Name" ], "primaryIdentifier": [ - "/properties/Id" - ], - "readOnlyProperties": [ - "/properties/Id" + "/properties/Name" ], - "attributes": { - "Id": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "handlers": { + "create": { + "permissions": [ + "glue:CreateCrawler", + "glue:GetCrawler", + "glue:TagResource", + "iam:PassRole" + ] + }, + "read": { + "permissions": [ + "glue:GetCrawler", + "glue:GetTags", + "iam:PassRole" + ] + }, + "update": { + "permissions": [ + "glue:UpdateCrawler", + "glue:UntagResource", + "glue:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "glue:DeleteCrawler", + "glue:GetCrawler", + "glue:StopCrawler", + "iam:PassRole" + ] + }, + "list": { + "permissions": [ + "glue:ListCrawlers", + "iam:PassRole" + ] } - } + }, + "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-glue-registry.json b/server/schema/resources/aws-glue-registry.json index 6077f957..67749bd6 100644 --- a/server/schema/resources/aws-glue-registry.json +++ b/server/schema/resources/aws-glue-registry.json @@ -1,6 +1,18 @@ { "typeName": "AWS::Glue::Registry", "description": "This resource creates a Registry for authoring schemas as part of Glue Schema Registry.", + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "glue:GetTags", + "glue:TagResource", + "glue:UntagResource" + ] + }, "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-glue.git", "definitions": { "Tag": { @@ -73,7 +85,8 @@ "permissions": [ "glue:CreateRegistry", "glue:GetRegistry", - "glue:GetTags" + "glue:GetTags", + "glue:TagResource" ] }, "read": { diff --git a/server/schema/resources/aws-glue-schema.json b/server/schema/resources/aws-glue-schema.json index 2eef0fa6..84c345ca 100644 --- a/server/schema/resources/aws-glue-schema.json +++ b/server/schema/resources/aws-glue-schema.json @@ -1,6 +1,18 @@ { "typeName": "AWS::Glue::Schema", "description": "This resource represents a schema of Glue Schema Registry.", + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "glue:GetTags", + "glue:TagResource", + "glue:UntagResource" + ] + }, "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-glue.git", "definitions": { "Registry": { @@ -117,7 +129,7 @@ "type": "string", "minLength": 1, "maxLength": 170000, - "markdownDescription": "Definition for the initial schema version in plain-text.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 170000 \nUpdate requires: Replacement" + "markdownDescription": "Definition for the initial schema version in plain-text.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 170000 \nUpdate requires: Replacement" }, "CheckpointVersion": { "$ref": "#/definitions/SchemaVersion" @@ -137,7 +149,6 @@ "required": [ "Name", "DataFormat", - "SchemaDefinition", "Compatibility" ], "readOnlyProperties": [ @@ -159,7 +170,8 @@ "handlers": { "create": { "permissions": [ - "glue:CreateSchema" + "glue:CreateSchema", + "glue:TagResource" ] }, "read": { diff --git a/server/schema/resources/aws-groundstation-config.json b/server/schema/resources/aws-groundstation-config.json index 363b34bc..f7a79c1a 100644 --- a/server/schema/resources/aws-groundstation-config.json +++ b/server/schema/resources/aws-groundstation-config.json @@ -323,6 +323,18 @@ "primaryIdentifier": [ "/properties/Arn" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "groundstation:TagResource", + "groundstation:UntagResource", + "groundstation:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-groundstation-dataflowendpointgroup.json b/server/schema/resources/aws-groundstation-dataflowendpointgroup.json index 7785c4f1..d1252558 100644 --- a/server/schema/resources/aws-groundstation-dataflowendpointgroup.json +++ b/server/schema/resources/aws-groundstation-dataflowendpointgroup.json @@ -261,6 +261,18 @@ "primaryIdentifier": [ "/properties/Id" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "groundstation:TagResource", + "groundstation:UntagResource", + "groundstation:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ @@ -273,6 +285,13 @@ "iam:createServiceLinkedRole" ] }, + "update": { + "permissions": [ + "groundstation:ListTagsForResource", + "groundstation:TagResource", + "groundstation:UntagResource" + ] + }, "read": { "permissions": [ "groundstation:GetDataflowEndpointGroup", diff --git a/server/schema/resources/aws-groundstation-missionprofile.json b/server/schema/resources/aws-groundstation-missionprofile.json index a54ce5e5..74d76305 100644 --- a/server/schema/resources/aws-groundstation-missionprofile.json +++ b/server/schema/resources/aws-groundstation-missionprofile.json @@ -132,6 +132,18 @@ "/properties/Id", "/properties/Arn" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "groundstation:TagResource", + "groundstation:UntagResource", + "groundstation:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-guardduty-detector.json b/server/schema/resources/aws-guardduty-detector.json index 6dab4fcc..369f82eb 100644 --- a/server/schema/resources/aws-guardduty-detector.json +++ b/server/schema/resources/aws-guardduty-detector.json @@ -5,8 +5,9 @@ "tagging": { "taggable": true, "tagOnCreate": true, - "tagUpdatable": false, - "cloudFormationSystemTags": false + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags" }, "properties": { "FindingPublishingFrequency": { @@ -22,6 +23,7 @@ }, "Features": { "type": "array", + "insertionOrder": false, "items": { "$ref": "#/definitions/CFNFeatureConfiguration" }, @@ -29,6 +31,7 @@ }, "Tags": { "type": "array", + "insertionOrder": false, "items": { "$ref": "#/definitions/TagItem" }, @@ -156,6 +159,7 @@ }, "AdditionalConfiguration": { "type": "array", + "insertionOrder": false, "items": { "$ref": "#/definitions/CFNFeatureAdditionalConfiguration" }, @@ -203,7 +207,8 @@ }, "read": { "permissions": [ - "guardduty:GetDetector" + "guardduty:GetDetector", + "guardduty:ListTagsForResource" ] }, "delete": { @@ -219,7 +224,9 @@ "guardduty:GetDetector", "guardduty:ListDetectors", "iam:CreateServiceLinkedRole", - "iam:GetRole" + "iam:GetRole", + "guardduty:TagResource", + "guardduty:UntagResource" ] }, "list": { diff --git a/server/schema/resources/aws-guardduty-ipset.json b/server/schema/resources/aws-guardduty-ipset.json index a4a19b60..703fdea5 100644 --- a/server/schema/resources/aws-guardduty-ipset.json +++ b/server/schema/resources/aws-guardduty-ipset.json @@ -5,8 +5,14 @@ "tagging": { "taggable": true, "tagOnCreate": true, - "tagUpdatable": false, - "cloudFormationSystemTags": false + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "guardduty:TagResource", + "guardduty:UntagResource", + "guardduty:ListTagsForResource" + ] }, "properties": { "Format": { @@ -37,6 +43,7 @@ }, "Tags": { "type": "array", + "insertionOrder": false, "items": { "$ref": "#/definitions/TagItem" }, @@ -115,7 +122,9 @@ "guardduty:UpdateIPSet", "guardduty:GetIPSet", "guardduty:ListIPSets", - "iam:PutRolePolicy" + "iam:PutRolePolicy", + "guardduty:TagResource", + "guardduty:UntagResource" ] }, "list": { diff --git a/server/schema/resources/aws-guardduty-threatintelset.json b/server/schema/resources/aws-guardduty-threatintelset.json index 16c5e06f..f8de5402 100644 --- a/server/schema/resources/aws-guardduty-threatintelset.json +++ b/server/schema/resources/aws-guardduty-threatintelset.json @@ -6,8 +6,14 @@ "tagging": { "taggable": true, "tagOnCreate": true, - "tagUpdatable": false, - "cloudFormationSystemTags": false + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "guardduty:TagResource", + "guardduty:UntagResource", + "guardduty:ListTagsForResource" + ] }, "properties": { "Format": { @@ -115,7 +121,9 @@ "guardduty:UpdateThreatIntelSet", "guardduty:GetThreatIntelSet", "guardduty:ListThreatIntelSets", - "iam:PutRolePolicy" + "iam:PutRolePolicy", + "guardduty:TagResource", + "guardduty:UntagResource" ] }, "list": { diff --git a/server/schema/resources/aws-healthlake-fhirdatastore.json b/server/schema/resources/aws-healthlake-fhirdatastore.json index c0722c0f..5ecffaae 100644 --- a/server/schema/resources/aws-healthlake-fhirdatastore.json +++ b/server/schema/resources/aws-healthlake-fhirdatastore.json @@ -99,6 +99,11 @@ "required": [ "KmsEncryptionConfig" ], + "default": { + "KmsEncryptionConfig": { + "CmkType": "AWS_OWNED_KMS_KEY" + } + }, "additionalProperties": false, "markdownDescription": "The server-side encryption key configuration for a customer provided encryption key.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -163,6 +168,10 @@ "required": [ "AuthorizationStrategy" ], + "default": { + "AuthorizationStrategy": "AWS_AUTH", + "FineGrainedAuthorizationEnabled": false + }, "additionalProperties": false, "markdownDescription": "The identity provider configuration for the datastore\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -219,7 +228,6 @@ } }, "additionalProperties": false, - "taggable": true, "required": [ "DatastoreTypeVersion" ], @@ -240,6 +248,18 @@ "/properties/SseConfiguration", "/properties/IdentityProviderConfiguration" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "healthlake:UntagResource", + "healthlake:TagResource", + "healthlake:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-iam-managedpolicy.json b/server/schema/resources/aws-iam-managedpolicy.json index 129d9b02..6f3e8fea 100644 --- a/server/schema/resources/aws-iam-managedpolicy.json +++ b/server/schema/resources/aws-iam-managedpolicy.json @@ -3,7 +3,6 @@ "description": "Creates a new managed policy for your AWS-account.\n This operation creates a policy version with a version identifier of ``v1`` and sets v1 as the policy's default version. For more information about policy versions, see [Versioning for managed policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) in the *IAM User Guide*.\n As a best practice, you can validate your IAM policies. To learn more, see [Validating IAM policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_policy-validator.html) in the *IAM User Guide*.\n For more information about managed policies in general, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-iam", "additionalProperties": false, - "replacementStrategy": "delete_then_create", "properties": { "Description": { "type": "string", diff --git a/server/schema/resources/aws-iam-oidcprovider.json b/server/schema/resources/aws-iam-oidcprovider.json index 478a0ca7..42436ee8 100644 --- a/server/schema/resources/aws-iam-oidcprovider.json +++ b/server/schema/resources/aws-iam-oidcprovider.json @@ -119,7 +119,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": false + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "iam:TagOpenIDConnectProvider", + "iam:UntagOpenIDConnectProvider", + "iam:ListOpenIDConnectProviderTags" + ] }, "attributes": { "Arn": { diff --git a/server/schema/resources/aws-iam-policy.json b/server/schema/resources/aws-iam-policy.json index d23000c2..c1424f98 100644 --- a/server/schema/resources/aws-iam-policy.json +++ b/server/schema/resources/aws-iam-policy.json @@ -1,6 +1,6 @@ { "typeName": "AWS::IAM::Policy", - "description": "Adds or updates an inline policy document that is embedded in the specified IAM group, user or role.\n An IAM user can also have a managed policy attached to it. For information about policies, see [Managed Policies and Inline Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *User Guide*.\n The Groups, Roles, and Users properties are optional. However, you must specify at least one of these properties.\n For information about policy documents see [Creating policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) in the *User Guide*.\n For information about limits on the number of inline policies that you can embed in an identity, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.\n This resource does not support [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). The following inline policy resource types support drift detection:\n + [AWS::IAM::GroupPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html) \n + [AWS::IAM::RolePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html) \n + [AWS::IAM::UserPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html)", + "description": "Adds or updates an inline policy document that is embedded in the specified IAM group, user or role.\n An IAM user can also have a managed policy attached to it. For information about policies, see [Managed Policies and Inline Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *User Guide*.\n The Groups, Roles, and Users properties are optional. However, you must specify at least one of these properties.\n For information about policy documents see [Creating policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) in the *User Guide*.\n For information about limits on the number of inline policies that you can embed in an identity, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.\n This resource does not support [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). The following inline policy resource types support drift detection:\n + [AWS::IAM::GroupPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html) \n + [AWS::IAM::RolePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html) \n + [AWS::IAM::UserPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html)", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-iam.git", "properties": { "Groups": { diff --git a/server/schema/resources/aws-iam-samlprovider.json b/server/schema/resources/aws-iam-samlprovider.json index b9c2f09d..89b05065 100644 --- a/server/schema/resources/aws-iam-samlprovider.json +++ b/server/schema/resources/aws-iam-samlprovider.json @@ -103,7 +103,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": false + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "iam:TagSAMLProvider", + "iam:ListSAMLProviderTags", + "iam:UntagSAMLProvider" + ] }, "attributes": { "Arn": { diff --git a/server/schema/resources/aws-iam-servercertificate.json b/server/schema/resources/aws-iam-servercertificate.json index a7250aaa..f4d5fa57 100644 --- a/server/schema/resources/aws-iam-servercertificate.json +++ b/server/schema/resources/aws-iam-servercertificate.json @@ -125,7 +125,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": false + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "iam:TagServerCertificate", + "iam:UntagServerCertificate", + "iam:ListServerCertificateTags" + ] }, "attributes": { "Arn": { diff --git a/server/schema/resources/aws-imagebuilder-component.json b/server/schema/resources/aws-imagebuilder-component.json index b7b92e4f..3a6c3a70 100644 --- a/server/schema/resources/aws-imagebuilder-component.json +++ b/server/schema/resources/aws-imagebuilder-component.json @@ -28,9 +28,10 @@ "type": "string", "enum": [ "Windows", - "Linux" + "Linux", + "macOS" ], - "markdownDescription": "The platform of the component.\n\n---\n\nRequired: Conditional \nType: String \nAllowed Values: Windows | Linux \nUpdate requires: Replacement" + "markdownDescription": "The platform of the component.\n\n---\n\nRequired: Conditional \nType: String \nAllowed Values: Windows | Linux | macOS \nUpdate requires: Replacement" }, "Data": { "description": "The data of the component.", @@ -139,7 +140,8 @@ }, "read": { "permissions": [ - "imagebuilder:GetComponent" + "imagebuilder:GetComponent", + "kms:Decrypt" ] }, "delete": { @@ -151,7 +153,8 @@ }, "list": { "permissions": [ - "imagebuilder:ListComponents" + "imagebuilder:ListComponents", + "imagebuilder:ListComponentBuildVersions" ], "handlerSchema": { "properties": { diff --git a/server/schema/resources/aws-imagebuilder-containerrecipe.json b/server/schema/resources/aws-imagebuilder-containerrecipe.json index 2c356495..d130df66 100644 --- a/server/schema/resources/aws-imagebuilder-containerrecipe.json +++ b/server/schema/resources/aws-imagebuilder-containerrecipe.json @@ -363,7 +363,8 @@ }, "read": { "permissions": [ - "imagebuilder:GetContainerRecipe" + "imagebuilder:GetContainerRecipe", + "kms:Decrypt" ] }, "delete": { diff --git a/server/schema/resources/aws-imagebuilder-image.json b/server/schema/resources/aws-imagebuilder-image.json index e78585cb..8bdbd48a 100644 --- a/server/schema/resources/aws-imagebuilder-image.json +++ b/server/schema/resources/aws-imagebuilder-image.json @@ -1,95 +1,103 @@ { - "typeName": "AWS::ImageBuilder::Image", - "description": "Resource schema for AWS::ImageBuilder::Image", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-imagebuilder", - "properties": { - "ImageTestsConfiguration": { - "description": "The image tests configuration used when creating this image.", - "$ref": "#/definitions/ImageTestsConfiguration", - "markdownDescription": "The image tests configuration used when creating this image.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" - }, - "ImageRecipeArn": { - "description": "The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed.\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: Replacement" - }, - "ContainerRecipeArn": { - "description": "The Amazon Resource Name (ARN) of the container recipe that defines how images are configured and tested.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the container recipe that defines how images are configured and tested.\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: Replacement" - }, - "DistributionConfigurationArn": { - "description": "The Amazon Resource Name (ARN) of the distribution configuration.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the distribution configuration.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, - "InfrastructureConfigurationArn": { - "description": "The Amazon Resource Name (ARN) of the infrastructure configuration.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the infrastructure configuration.\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: Replacement" + "tagging": { + "taggable": false + }, + "oneOf": [ + { + "required": [ + "ContainerRecipeArn", + "InfrastructureConfigurationArn" + ] }, - "Workflows": { - "description": "Workflows to define the image build process", - "type": "array", - "insertionOrder": true, - "items": { - "$ref": "#/definitions/WorkflowConfiguration" - }, - "markdownDescription": "Workflows to define the image build process\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + { + "required": [ + "ImageRecipeArn", + "InfrastructureConfigurationArn" + ] }, - "EnhancedImageMetadataEnabled": { - "description": "Collects additional information about the image being created, including the operating system (OS) version and package list.", - "type": "boolean", - "markdownDescription": "Collects additional information about the image being created, including the operating system (OS) version and package list.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + { + "required": [ + "ImportDiskImageSettings" + ] + } + ], + "handlers": { + "read": { + "permissions": [ + "imagebuilder:GetImage" + ] }, - "ImageScanningConfiguration": { - "description": "Contains settings for vulnerability scans.", - "$ref": "#/definitions/ImageScanningConfiguration", - "markdownDescription": "Contains settings for vulnerability scans.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + "create": { + "permissions": [ + "ecr:BatchGetRepositoryScanningConfiguration", + "iam:GetRole", + "iam:PassRole", + "iam:CreateServiceLinkedRole", + "imagebuilder:GetImageRecipe", + "imagebuilder:GetInfrastructureConfiguration", + "imagebuilder:GetDistributionConfiguration", + "imagebuilder:GetWorkflow", + "imagebuilder:GetImage", + "imagebuilder:CreateImage", + "imagebuilder:TagResource", + "inspector2:BatchGetAccountStatus" + ], + "timeoutInMinutes": 720 }, - "ExecutionRole": { - "description": "The execution role name/ARN for the image build, if provided", - "type": "string", - "markdownDescription": "The execution role name/ARN for the image build, if provided\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "list": { + "permissions": [ + "imagebuilder:ListImages", + "imagebuilder:ListImageBuildVersions" + ], + "handlerSchema": { + "properties": { + "Arn": { + "$ref": "resource-schema.json#/properties/Arn" + } + }, + "required": [ + "Arn" + ] + } }, - "Tags": { - "description": "The tags associated with the image.", - "type": "object", - "additionalProperties": false, - "patternProperties": { - ".{1,}": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "markdownDescription": "The tags associated with the image.\n\n---\n\nRequired: No \nUpdate requires: Replacement" + "delete": { + "permissions": [ + "imagebuilder:GetImage", + "imagebuilder:DeleteImage", + "imagebuilder:UnTagResource", + "imagebuilder:CancelImageCreation" + ] } }, + "typeName": "AWS::ImageBuilder::Image", + "readOnlyProperties": [ + "/properties/Arn", + "/properties/Name", + "/properties/ImageId", + "/properties/ImageUri" + ], + "description": "Resource schema for AWS::ImageBuilder::Image", + "createOnlyProperties": [ + "/properties/ImageRecipeArn", + "/properties/ContainerRecipeArn", + "/properties/InfrastructureConfigurationArn", + "/properties/Workflows", + "/properties/DistributionConfigurationArn", + "/properties/ImageTestsConfiguration", + "/properties/ImageScanningConfiguration", + "/properties/EnhancedImageMetadataEnabled", + "/properties/Tags" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/Arn" + ], "definitions": { - "ImageTestsConfiguration": { - "description": "The image tests configuration used when creating this image.", - "type": "object", - "additionalProperties": false, - "properties": { - "ImageTestsEnabled": { - "description": "ImageTestsEnabled", - "type": "boolean", - "markdownDescription": "ImageTestsEnabled\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "TimeoutMinutes": { - "description": "TimeoutMinutes", - "type": "integer", - "minimum": 60, - "maximum": 1440, - "markdownDescription": "TimeoutMinutes\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "markdownDescription": "The image tests configuration used when creating this image.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "ImageScanningConfiguration": { "description": "Contains settings for Image Builder image resource and container image scans.", - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "EcrConfiguration": { "description": "Contains ECR settings for vulnerability scans.", @@ -104,52 +112,29 @@ }, "markdownDescription": "Contains settings for Image Builder image resource and container image scans.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "EcrConfiguration": { - "description": "Settings for Image Builder to configure the ECR repository and output container images that are scanned.", - "type": "object", - "additionalProperties": false, - "properties": { - "ContainerTags": { - "description": "Tags for Image Builder to apply the output container image that is scanned. Tags can help you identify and manage your scanned images.", - "type": "array", - "insertionOrder": true, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "Tags for Image Builder to apply the output container image that is scanned. Tags can help you identify and manage your scanned images.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "RepositoryName": { - "description": "The name of the container repository that Amazon Inspector scans to identify findings for your container images. The name includes the path for the repository location. If you don\u2019t provide this information, Image Builder creates a repository in your account named image-builder-image-scanning-repository to use for vulnerability scans for your output container images.", - "type": "string", - "markdownDescription": "The name of the container repository that Amazon Inspector scans to identify findings for your container images. The name includes the path for the repository location. If you don\u2019t provide this information, Image Builder creates a repository in your account named image-builder-image-scanning-repository to use for vulnerability scans for your output container images.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "markdownDescription": "Settings for Image Builder to configure the ECR repository and output container images that are scanned.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "WorkflowConfiguration": { "description": "The workflow configuration of the image", - "type": "object", "additionalProperties": false, + "type": "object", "properties": { - "WorkflowArn": { - "description": "The Amazon Resource Name (ARN) of the workflow", + "ParallelGroup": { + "description": "The parallel group name", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the workflow\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The parallel group name\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Parameters": { "description": "The parameters associated with the workflow", - "type": "array", "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/WorkflowParameter" }, "markdownDescription": "The parameters associated with the workflow\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "ParallelGroup": { - "description": "The parallel group name", + "WorkflowArn": { + "description": "The Amazon Resource Name (ARN) of the workflow", "type": "string", - "markdownDescription": "The parallel group name\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the workflow\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "OnFailure": { "description": "Define execution decision in case of workflow failure", @@ -163,122 +148,143 @@ }, "markdownDescription": "The workflow configuration of the image\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "WorkflowParameter": { - "description": "A parameter associated with the workflow", - "type": "object", + "EcrConfiguration": { + "description": "Settings for Image Builder to configure the ECR repository and output container images that are scanned.", "additionalProperties": false, + "type": "object", "properties": { - "Name": { + "ContainerTags": { + "description": "Tags for Image Builder to apply the output container image that is scanned. Tags can help you identify and manage your scanned images.", + "insertionOrder": true, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "Tags for Image Builder to apply the output container image that is scanned. Tags can help you identify and manage your scanned images.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "RepositoryName": { + "description": "The name of the container repository that Amazon Inspector scans to identify findings for your container images. The name includes the path for the repository location. If you don\u2019t provide this information, Image Builder creates a repository in your account named image-builder-image-scanning-repository to use for vulnerability scans for your output container images.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name of the container repository that Amazon Inspector scans to identify findings for your container images. The name includes the path for the repository location. If you don\u2019t provide this information, Image Builder creates a repository in your account named image-builder-image-scanning-repository to use for vulnerability scans for your output container images.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Settings for Image Builder to configure the ECR repository and output container images that are scanned.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "WorkflowParameterValue": { + "description": "The value associated with the workflow parameter", + "type": "string", + "markdownDescription": "The value associated with the workflow parameter\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ImageTestsConfiguration": { + "description": "The image tests configuration used when creating this image.", + "additionalProperties": false, + "type": "object", + "properties": { + "TimeoutMinutes": { + "description": "TimeoutMinutes", + "maximum": 1440, + "type": "integer", + "minimum": 60, + "markdownDescription": "TimeoutMinutes\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "ImageTestsEnabled": { + "description": "ImageTestsEnabled", + "type": "boolean", + "markdownDescription": "ImageTestsEnabled\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The image tests configuration used when creating this image.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "WorkflowParameter": { + "description": "A parameter associated with the workflow", + "additionalProperties": false, + "type": "object", + "properties": { "Value": { - "type": "array", "insertionOrder": true, + "type": "array", "items": { "$ref": "#/definitions/WorkflowParameterValue" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "A parameter associated with the workflow\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "WorkflowParameterValue": { - "description": "The value associated with the workflow parameter", - "type": "string", - "markdownDescription": "The value associated with the workflow parameter\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "oneOf": [ - { - "required": [ - "ContainerRecipeArn", - "InfrastructureConfigurationArn" - ] + "properties": { + "ImageScanningConfiguration": { + "description": "Contains settings for vulnerability scans.", + "$ref": "#/definitions/ImageScanningConfiguration", + "markdownDescription": "Contains settings for vulnerability scans.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" }, - { - "required": [ - "ImageRecipeArn", - "InfrastructureConfigurationArn" - ] - } - ], - "primaryIdentifier": [ - "/properties/Arn" - ], - "readOnlyProperties": [ - "/properties/Arn", - "/properties/Name", - "/properties/ImageId", - "/properties/ImageUri" - ], - "createOnlyProperties": [ - "/properties/ImageRecipeArn", - "/properties/ContainerRecipeArn", - "/properties/InfrastructureConfigurationArn", - "/properties/Workflows", - "/properties/DistributionConfigurationArn", - "/properties/ImageTestsConfiguration", - "/properties/ImageScanningConfiguration", - "/properties/EnhancedImageMetadataEnabled", - "/properties/Tags" - ], - "tagging": { - "taggable": false - }, - "handlers": { - "create": { - "permissions": [ - "ecr:BatchGetRepositoryScanningConfiguration", - "iam:GetRole", - "iam:PassRole", - "iam:CreateServiceLinkedRole", - "imagebuilder:GetImageRecipe", - "imagebuilder:GetInfrastructureConfiguration", - "imagebuilder:GetDistributionConfiguration", - "imagebuilder:GetWorkflow", - "imagebuilder:GetImage", - "imagebuilder:CreateImage", - "imagebuilder:TagResource", - "inspector2:BatchGetAccountStatus" - ], - "timeoutInMinutes": 720 + "ContainerRecipeArn": { + "description": "The Amazon Resource Name (ARN) of the container recipe that defines how images are configured and tested.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the container recipe that defines how images are configured and tested.\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: Replacement" }, - "read": { - "permissions": [ - "imagebuilder:GetImage" - ] + "Workflows": { + "description": "Workflows to define the image build process", + "insertionOrder": true, + "type": "array", + "items": { + "$ref": "#/definitions/WorkflowConfiguration" + }, + "markdownDescription": "Workflows to define the image build process\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" }, - "delete": { - "permissions": [ - "imagebuilder:GetImage", - "imagebuilder:DeleteImage", - "imagebuilder:UnTagResource", - "imagebuilder:CancelImageCreation" - ] + "InfrastructureConfigurationArn": { + "description": "The Amazon Resource Name (ARN) of the infrastructure configuration.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the infrastructure configuration.\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: Replacement" }, - "list": { - "permissions": [ - "imagebuilder:ListImages" - ], - "handlerSchema": { - "properties": { - "Arn": { - "$ref": "resource-schema.json#/properties/Arn" - } - }, - "required": [ - "Arn" - ] - } + "ImageRecipeArn": { + "description": "The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed.\n\n---\n\nRequired: Conditional \nType: String \nUpdate requires: Replacement" + }, + "DistributionConfigurationArn": { + "description": "The Amazon Resource Name (ARN) of the distribution configuration.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the distribution configuration.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "ImageTestsConfiguration": { + "description": "The image tests configuration used when creating this image.", + "$ref": "#/definitions/ImageTestsConfiguration", + "markdownDescription": "The image tests configuration used when creating this image.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + }, + "EnhancedImageMetadataEnabled": { + "description": "Collects additional information about the image being created, including the operating system (OS) version and package list.", + "type": "boolean", + "markdownDescription": "Collects additional information about the image being created, including the operating system (OS) version and package list.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + }, + "ExecutionRole": { + "description": "The execution role name/ARN for the image build, if provided", + "type": "string", + "markdownDescription": "The execution role name/ARN for the image build, if provided\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Tags": { + "patternProperties": { + ".{1,}": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "description": "The tags associated with the image.", + "additionalProperties": false, + "type": "object", + "markdownDescription": "The tags associated with the image.\n\n---\n\nRequired: No \nUpdate requires: Replacement" } }, "attributes": { - "Arn": { - "description": "The Amazon Resource Name (ARN) of the image.", + "ImageUri": { + "description": "URI for containers created in current Region with default ECR image tag", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the image.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "URI for containers created in current Region with default ECR image tag\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Name": { "description": "The name of the image.", @@ -290,10 +296,10 @@ "type": "string", "markdownDescription": "The AMI ID of the EC2 AMI in current region.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ImageUri": { - "description": "URI for containers created in current Region with default ECR image tag", + "Arn": { + "description": "The Amazon Resource Name (ARN) of the image.", "type": "string", - "markdownDescription": "URI for containers created in current Region with default ECR image tag\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the image.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-imagebuilder-infrastructureconfiguration.json b/server/schema/resources/aws-imagebuilder-infrastructureconfiguration.json index dce468ec..0fd69bba 100644 --- a/server/schema/resources/aws-imagebuilder-infrastructureconfiguration.json +++ b/server/schema/resources/aws-imagebuilder-infrastructureconfiguration.json @@ -91,6 +91,11 @@ } }, "markdownDescription": "The tags associated with the component.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Placement": { + "description": "The placement option settings for the infrastructure configuration.", + "$ref": "#/definitions/Placement", + "markdownDescription": "The placement option settings for the infrastructure configuration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "definitions": { @@ -166,6 +171,39 @@ } }, "markdownDescription": "The S3 path in which to store the logs.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Placement": { + "description": "The placement options", + "type": "object", + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "description": "AvailabilityZone", + "type": "string", + "markdownDescription": "AvailabilityZone\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Tenancy": { + "description": "Tenancy", + "type": "string", + "enum": [ + "default", + "dedicated", + "host" + ], + "markdownDescription": "Tenancy\n\n---\n\nRequired: No \nType: String \nAllowed Values: default | dedicated | host \nUpdate requires: No interruption" + }, + "HostId": { + "description": "HostId", + "type": "string", + "markdownDescription": "HostId\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "HostResourceGroupArn": { + "description": "HostResourceGroupArn", + "type": "string", + "markdownDescription": "HostResourceGroupArn\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The placement options\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-imagebuilder-workflow.json b/server/schema/resources/aws-imagebuilder-workflow.json index 4998a08e..e699577b 100644 --- a/server/schema/resources/aws-imagebuilder-workflow.json +++ b/server/schema/resources/aws-imagebuilder-workflow.json @@ -125,7 +125,8 @@ }, "read": { "permissions": [ - "imagebuilder:GetWorkflow" + "imagebuilder:GetWorkflow", + "kms:Decrypt" ] }, "delete": { @@ -137,7 +138,8 @@ }, "list": { "permissions": [ - "imagebuilder:ListWorkflows" + "imagebuilder:ListWorkflows", + "imagebuilder:ListWorkflowBuildVersions" ], "handlerSchema": { "properties": { diff --git a/server/schema/resources/aws-inspectorv2-cisscanconfiguration.json b/server/schema/resources/aws-inspectorv2-cisscanconfiguration.json index 2e9d814a..309029cc 100644 --- a/server/schema/resources/aws-inspectorv2-cisscanconfiguration.json +++ b/server/schema/resources/aws-inspectorv2-cisscanconfiguration.json @@ -130,7 +130,7 @@ "maxItems": 10000, "items": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^\\d{12}|ALL_MEMBERS|SELF$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^\\d{12}|ALL_ACCOUNTS|SELF$ \nUpdate requires: No interruption" }, "uniqueItems": true, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" @@ -141,7 +141,8 @@ }, "additionalProperties": false, "required": [ - "AccountIds" + "AccountIds", + "TargetResourceTags" ] }, "TargetResourceTags": { diff --git a/server/schema/resources/aws-internetmonitor-monitor.json b/server/schema/resources/aws-internetmonitor-monitor.json index 05a9b595..61265182 100644 --- a/server/schema/resources/aws-internetmonitor-monitor.json +++ b/server/schema/resources/aws-internetmonitor-monitor.json @@ -236,7 +236,12 @@ "tagOnCreate": false, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "internetmonitor:TagResource", + "internetmonitor:UntagResource", + "internetmonitor:ListTagsForResource" + ] }, "handlers": { "create": { @@ -290,6 +295,7 @@ "permissions": [ "internetmonitor:ListMonitors", "internetmonitor:GetMonitor", + "internetmonitor:ListTagsForResource", "logs:GetLogDelivery" ] } diff --git a/server/schema/resources/aws-invoicing-invoiceunit.json b/server/schema/resources/aws-invoicing-invoiceunit.json new file mode 100644 index 00000000..c8639a77 --- /dev/null +++ b/server/schema/resources/aws-invoicing-invoiceunit.json @@ -0,0 +1,177 @@ +{ + "typeName": "AWS::Invoicing::InvoiceUnit", + "description": "An invoice unit is a set of mutually exclusive accounts that correspond to your business entity. Invoice units allow you to separate AWS account costs and configures your invoice for each business entity.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": { + "InvoiceUnitArn": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+$ \nUpdate requires: No interruption" + }, + "InvoiceReceiver": { + "type": "string", + "minLength": 12, + "maxLength": 12, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 12 \nMaximum Length: 12 \nPattern: ^\\d{12}$ \nUpdate requires: No interruption" + }, + "Name": { + "type": "string", + "minLength": 1, + "maxLength": 50, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nPattern: ^(?! )[\\p{L}\\p{N}\\p{Z}-_]*(?_raw``.", + "markdownDescription": "Defines an action to write to the Amazon DynamoDB table that you created. The standard action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBAction``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``hashKeyType`` parameter can be ``'STRING'``.\n + For references, you must specify either variables or input values. For example, the value for the ``hashKeyField`` parameter can be ``$input.GreenhouseInput.name``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``hashKeyValue`` parameter uses a substitution template. \n ``'${$input.GreenhouseInput.temperature * 6 / 5 + 32} in Fahrenheit'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n If the defined payload type is a string, ``DynamoDBAction`` writes non-JSON data to the DynamoDB table as binary data. The DynamoDB console displays the data as Base64-encoded text. The value for the ``payloadField`` parameter is ``_raw``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "DynamoDBv2": { - "$ref": "#/definitions/DynamoDBv2" + "$ref": "#/definitions/DynamoDBv2", + "description": "Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBv2Action``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``tableName`` parameter can be ``'GreenhouseTemperatureTable'``.\n + For references, you must specify either variables or input values. For example, the value for the ``tableName`` parameter can be ``$variable.ddbtableName``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``contentExpression`` parameter in ``Payload`` uses a substitution template. \n ``'{\\\"sensorID\\\": \\\"${$input.GreenhouseInput.sensor_id}\\\", \\\"temperature\\\": \\\"${$input.GreenhouseInput.temperature * 9 / 5 + 32}\\\"}'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n The value for the ``type`` parameter in ``Payload`` must be ``JSON``.", + "markdownDescription": "Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBv2Action``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``tableName`` parameter can be ``'GreenhouseTemperatureTable'``.\n + For references, you must specify either variables or input values. For example, the value for the ``tableName`` parameter can be ``$variable.ddbtableName``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``contentExpression`` parameter in ``Payload`` uses a substitution template. \n ``'{\\\"sensorID\\\": \\\"${$input.GreenhouseInput.sensor_id}\\\", \\\"temperature\\\": \\\"${$input.GreenhouseInput.temperature * 9 / 5 + 32}\\\"}'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n The value for the ``type`` parameter in ``Payload`` must be ``JSON``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Firehose": { - "$ref": "#/definitions/Firehose" + "$ref": "#/definitions/Firehose", + "description": "Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.", + "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "IotEvents": { - "$ref": "#/definitions/IotEvents" + "$ref": "#/definitions/IotEvents", + "description": "Sends an ITE input, passing in information about the detector model instance and the event that triggered the action.", + "markdownDescription": "Sends an ITE input, passing in information about the detector model instance and the event that triggered the action.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "IotSiteWise": { - "$ref": "#/definitions/IotSiteWise" + "$ref": "#/definitions/IotSiteWise", + "description": "Sends information about the detector model instance and the event that triggered the action to a specified asset property in ITSW.\n You must use expressions for all parameters in ``IotSiteWiseAction``. The expressions accept literals, operators, functions, references, and substitutions templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``propertyAlias`` parameter can be ``'/company/windfarm/3/turbine/7/temperature'``.\n + For references, you must specify either variables or input values. For example, the value for the ``assetId`` parameter can be ``$input.TurbineInput.assetId1``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``propertyAlias`` parameter uses a substitution template. \n ``'company/windfarm/${$input.TemperatureInput.sensorData.windfarmID}/turbine/ ${$input.TemperatureInput.sensorData.turbineID}/temperature'`` \n \n You must specify either ``propertyAlias`` or both ``assetId`` and ``propertyId`` to identify the target asset property in ITSW.\n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.", + "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to a specified asset property in ITSW.\n You must use expressions for all parameters in ``IotSiteWiseAction``. The expressions accept literals, operators, functions, references, and substitutions templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``propertyAlias`` parameter can be ``'/company/windfarm/3/turbine/7/temperature'``.\n + For references, you must specify either variables or input values. For example, the value for the ``assetId`` parameter can be ``$input.TurbineInput.assetId1``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``propertyAlias`` parameter uses a substitution template. \n ``'company/windfarm/${$input.TemperatureInput.sensorData.windfarmID}/turbine/ ${$input.TemperatureInput.sensorData.turbineID}/temperature'`` \n \n You must specify either ``propertyAlias`` or both ``assetId`` and ``propertyId`` to identify the target asset property in ITSW.\n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "IotTopicPublish": { - "$ref": "#/definitions/IotTopicPublish" + "$ref": "#/definitions/IotTopicPublish", + "description": "Information required to publish the MQTT message through the IoT message broker.", + "markdownDescription": "Information required to publish the MQTT message through the IoT message broker.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Lambda": { - "$ref": "#/definitions/Lambda" + "$ref": "#/definitions/Lambda", + "description": "Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.", + "markdownDescription": "Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Sns": { - "$ref": "#/definitions/Sns" + "$ref": "#/definitions/Sns", + "description": "Information required to publish the Amazon SNS message.", + "markdownDescription": "Information required to publish the Amazon SNS message.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Sqs": { - "$ref": "#/definitions/Sqs" + "$ref": "#/definitions/Sqs", + "description": "Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.", + "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "markdownDescription": "The actions to be performed.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies one of the following actions to receive notifications when the alarm state changes.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "DynamoDB": { "type": "object", "additionalProperties": false, - "description": "Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the alarm model instance and the event that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html) in *AWS IoT Events Developer Guide*.", + "description": "Defines an action to write to the Amazon DynamoDB table that you created. The standard action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBAction``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``hashKeyType`` parameter can be ``'STRING'``.\n + For references, you must specify either variables or input values. For example, the value for the ``hashKeyField`` parameter can be ``$input.GreenhouseInput.name``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``hashKeyValue`` parameter uses a substitution template. \n ``'${$input.GreenhouseInput.temperature * 6 / 5 + 32} in Fahrenheit'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n If the defined payload type is a string, ``DynamoDBAction`` writes non-JSON data to the DynamoDB table as binary data. The DynamoDB console displays the data as Base64-encoded text. The value for the ``payloadField`` parameter is ``_raw``.", "properties": { "HashKeyField": { "type": "string", - "description": "The name of the hash key (also called the partition key).", - "markdownDescription": "The name of the hash key (also called the partition key).\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The name of the hash key (also called the partition key). The ``hashKeyField`` value must match the partition key of the target DynamoDB table.", + "markdownDescription": "The name of the hash key (also called the partition key). The ``hashKeyField`` value must match the partition key of the target DynamoDB table.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "HashKeyType": { "type": "string", - "description": "The data type for the hash key (also called the partition key). You can specify the following values:\n\n* `STRING` - The hash key is a string.\n\n* `NUMBER` - The hash key is a number.\n\nIf you don't specify `hashKeyType`, the default value is `STRING`.", - "markdownDescription": "The data type for the hash key (also called the partition key). You can specify the following values:\n\n* `STRING` - The hash key is a string.\n\n* `NUMBER` - The hash key is a number.\n\nIf you don't specify `hashKeyType`, the default value is `STRING`.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The data type for the hash key (also called the partition key). You can specify the following values:\n + ``'STRING'`` - The hash key is a string.\n + ``'NUMBER'`` - The hash key is a number.\n \n If you don't specify ``hashKeyType``, the default value is ``'STRING'``.", + "markdownDescription": "The data type for the hash key (also called the partition key). You can specify the following values:\n + ``'STRING'`` - The hash key is a string.\n + ``'NUMBER'`` - The hash key is a number.\n \n If you don't specify ``hashKeyType``, the default value is ``'STRING'``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "HashKeyValue": { "type": "string", @@ -146,26 +172,28 @@ }, "Operation": { "type": "string", - "description": "The type of operation to perform. You can specify the following values:\n\n* `INSERT` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.\n\n* `UPDATE` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n\n* `DELETE` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n\nIf you don't specify this parameter, AWS IoT Events triggers the `INSERT` operation.", - "markdownDescription": "The type of operation to perform. You can specify the following values:\n\n* `INSERT` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.\n\n* `UPDATE` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n\n* `DELETE` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n\nIf you don't specify this parameter, AWS IoT Events triggers the `INSERT` operation.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The type of operation to perform. You can specify the following values: \n + ``'INSERT'`` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.\n + ``'UPDATE'`` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n + ``'DELETE'`` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n \n If you don't specify this parameter, ITE triggers the ``'INSERT'`` operation.", + "markdownDescription": "The type of operation to perform. You can specify the following values: \n + ``'INSERT'`` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.\n + ``'UPDATE'`` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n + ``'DELETE'`` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n \n If you don't specify this parameter, ITE triggers the ``'INSERT'`` operation.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.", + "markdownDescription": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "PayloadField": { "type": "string", - "description": "The name of the DynamoDB column that receives the action payload.\n\nIf you don't specify this parameter, the name of the DynamoDB column is `payload`.", - "markdownDescription": "The name of the DynamoDB column that receives the action payload.\n\nIf you don't specify this parameter, the name of the DynamoDB column is `payload`.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the DynamoDB column that receives the action payload.\n If you don't specify this parameter, the name of the DynamoDB column is ``payload``.", + "markdownDescription": "The name of the DynamoDB column that receives the action payload.\n If you don't specify this parameter, the name of the DynamoDB column is ``payload``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RangeKeyField": { "type": "string", - "description": "The name of the range key (also called the sort key).", - "markdownDescription": "The name of the range key (also called the sort key).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the range key (also called the sort key). The ``rangeKeyField`` value must match the sort key of the target DynamoDB table.", + "markdownDescription": "The name of the range key (also called the sort key). The ``rangeKeyField`` value must match the sort key of the target DynamoDB table.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RangeKeyType": { "type": "string", - "description": "The data type for the range key (also called the sort key), You can specify the following values:\n\n* `STRING` - The range key is a string.\n\n* `NUMBER` - The range key is number.\n\nIf you don't specify `rangeKeyField`, the default value is `STRING`.", - "markdownDescription": "The data type for the range key (also called the sort key), You can specify the following values:\n\n* `STRING` - The range key is a string.\n\n* `NUMBER` - The range key is number.\n\nIf you don't specify `rangeKeyField`, the default value is `STRING`.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The data type for the range key (also called the sort key), You can specify the following values:\n + ``'STRING'`` - The range key is a string.\n + ``'NUMBER'`` - The range key is number.\n \n If you don't specify ``rangeKeyField``, the default value is ``'STRING'``.", + "markdownDescription": "The data type for the range key (also called the sort key), You can specify the following values:\n + ``'STRING'`` - The range key is a string.\n + ``'NUMBER'`` - The range key is number.\n \n If you don't specify ``rangeKeyField``, the default value is ``'STRING'``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RangeKeyValue": { "type": "string", @@ -174,8 +202,8 @@ }, "TableName": { "type": "string", - "description": "The name of the DynamoDB table.", - "markdownDescription": "The name of the DynamoDB table.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The name of the DynamoDB table. The ``tableName`` value must match the table name of the target DynamoDB table.", + "markdownDescription": "The name of the DynamoDB table. The ``tableName`` value must match the table name of the target DynamoDB table.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -183,15 +211,17 @@ "HashKeyValue", "TableName" ], - "markdownDescription": "Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the alarm model instance and the event that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html) in *AWS IoT Events Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Defines an action to write to the Amazon DynamoDB table that you created. The standard action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBAction``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``hashKeyType`` parameter can be ``'STRING'``.\n + For references, you must specify either variables or input values. For example, the value for the ``hashKeyField`` parameter can be ``$input.GreenhouseInput.name``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``hashKeyValue`` parameter uses a substitution template. \n ``'${$input.GreenhouseInput.temperature * 6 / 5 + 32} in Fahrenheit'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n If the defined payload type is a string, ``DynamoDBAction`` writes non-JSON data to the DynamoDB table as binary data. The DynamoDB console displays the data as Base64-encoded text. The value for the ``payloadField`` parameter is ``_raw``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "DynamoDBv2": { "type": "object", "additionalProperties": false, - "description": "Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the alarm model instance and the event that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.\n\nYou can use expressions for parameters that are strings. For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *AWS IoT Events Developer Guide*.", + "description": "Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBv2Action``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``tableName`` parameter can be ``'GreenhouseTemperatureTable'``.\n + For references, you must specify either variables or input values. For example, the value for the ``tableName`` parameter can be ``$variable.ddbtableName``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``contentExpression`` parameter in ``Payload`` uses a substitution template. \n ``'{\\\"sensorID\\\": \\\"${$input.GreenhouseInput.sensor_id}\\\", \\\"temperature\\\": \\\"${$input.GreenhouseInput.temperature * 9 / 5 + 32}\\\"}'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n The value for the ``type`` parameter in ``Payload`` must be ``JSON``.", "properties": { "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.", + "markdownDescription": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "TableName": { "type": "string", @@ -202,12 +232,12 @@ "required": [ "TableName" ], - "markdownDescription": "Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the alarm model instance and the event that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.\n\nYou can use expressions for parameters that are strings. For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *AWS IoT Events Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBv2Action``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``tableName`` parameter can be ``'GreenhouseTemperatureTable'``.\n + For references, you must specify either variables or input values. For example, the value for the ``tableName`` parameter can be ``$variable.ddbtableName``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``contentExpression`` parameter in ``Payload`` uses a substitution template. \n ``'{\\\"sensorID\\\": \\\"${$input.GreenhouseInput.sensor_id}\\\", \\\"temperature\\\": \\\"${$input.GreenhouseInput.temperature * 9 / 5 + 32}\\\"}'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n The value for the ``type`` parameter in ``Payload`` must be ``JSON``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Firehose": { "type": "object", "additionalProperties": false, - "description": "Sends information about the alarm model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.", + "description": "Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.", "properties": { "DeliveryStreamName": { "type": "string", @@ -215,7 +245,9 @@ "markdownDescription": "The name of the Kinesis Data Firehose delivery stream where the data is written.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you send a message to an Amazon Data Firehose delivery stream.", + "markdownDescription": "You can configure the action payload when you send a message to an Amazon Data Firehose delivery stream.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Separator": { "type": "string", @@ -226,80 +258,86 @@ "required": [ "DeliveryStreamName" ], - "markdownDescription": "Sends information about the alarm model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "IotEvents": { "type": "object", "additionalProperties": false, - "description": "Sends an AWS IoT Events input, passing in information about the alarm model instance and the event that triggered the action.", + "description": "Sends an ITE input, passing in information about the detector model instance and the event that triggered the action.", "properties": { "InputName": { "type": "string", - "description": "The name of the AWS IoT Events input where the data is sent.", + "description": "The name of the ITE input where the data is sent.", "minLength": 1, "maxLength": 128, - "markdownDescription": "The name of the AWS IoT Events input where the data is sent.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z][a-zA-Z0-9_]*$ \nUpdate requires: No interruption" + "markdownDescription": "The name of the ITE input where the data is sent.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z][a-zA-Z0-9_]*$ \nUpdate requires: No interruption" }, "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you send a message to an ITE input.", + "markdownDescription": "You can configure the action payload when you send a message to an ITE input.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ "InputName" ], - "markdownDescription": "Sends an AWS IoT Events input, passing in information about the alarm model instance and the event that triggered the action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Sends an ITE input, passing in information about the detector model instance and the event that triggered the action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "IotSiteWise": { "type": "object", "additionalProperties": false, - "description": "Sends information about the alarm model instance and the event that triggered the action to a specified asset property in AWS IoT SiteWise.", + "description": "Sends information about the detector model instance and the event that triggered the action to a specified asset property in ITSW.\n You must use expressions for all parameters in ``IotSiteWiseAction``. The expressions accept literals, operators, functions, references, and substitutions templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``propertyAlias`` parameter can be ``'/company/windfarm/3/turbine/7/temperature'``.\n + For references, you must specify either variables or input values. For example, the value for the ``assetId`` parameter can be ``$input.TurbineInput.assetId1``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``propertyAlias`` parameter uses a substitution template. \n ``'company/windfarm/${$input.TemperatureInput.sensorData.windfarmID}/turbine/ ${$input.TemperatureInput.sensorData.turbineID}/temperature'`` \n \n You must specify either ``propertyAlias`` or both ``assetId`` and ``propertyId`` to identify the target asset property in ITSW.\n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.", "properties": { "AssetId": { "type": "string", - "description": "The ID of the asset that has the specified property. You can specify an expression.", - "markdownDescription": "The ID of the asset that has the specified property. You can specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The ID of the asset that has the specified property.", + "markdownDescription": "The ID of the asset that has the specified property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "EntryId": { "type": "string", - "description": "A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier. You can also specify an expression.", - "markdownDescription": "A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier. You can also specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier.", + "markdownDescription": "A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "PropertyAlias": { "type": "string", - "description": "The alias of the asset property. You can also specify an expression.", - "markdownDescription": "The alias of the asset property. You can also specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The alias of the asset property.", + "markdownDescription": "The alias of the asset property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "PropertyId": { "type": "string", - "description": "The ID of the asset property. You can specify an expression.", - "markdownDescription": "The ID of the asset property. You can specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The ID of the asset property.", + "markdownDescription": "The ID of the asset property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "PropertyValue": { - "$ref": "#/definitions/AssetPropertyValue" + "$ref": "#/definitions/AssetPropertyValue", + "description": "The value to send to the asset property. This value contains timestamp, quality, and value (TQV) information.", + "markdownDescription": "The value to send to the asset property. This value contains timestamp, quality, and value (TQV) information.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "markdownDescription": "Sends information about the alarm model instance and the event that triggered the action to a specified asset property in AWS IoT SiteWise.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to a specified asset property in ITSW.\n You must use expressions for all parameters in ``IotSiteWiseAction``. The expressions accept literals, operators, functions, references, and substitutions templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``propertyAlias`` parameter can be ``'/company/windfarm/3/turbine/7/temperature'``.\n + For references, you must specify either variables or input values. For example, the value for the ``assetId`` parameter can be ``$input.TurbineInput.assetId1``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``propertyAlias`` parameter uses a substitution template. \n ``'company/windfarm/${$input.TemperatureInput.sensorData.windfarmID}/turbine/ ${$input.TemperatureInput.sensorData.turbineID}/temperature'`` \n \n You must specify either ``propertyAlias`` or both ``assetId`` and ``propertyId`` to identify the target asset property in ITSW.\n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "IotTopicPublish": { "type": "object", "additionalProperties": false, - "description": "Information required to publish the MQTT message through the AWS IoT message broker.", + "description": "Information required to publish the MQTT message through the IoT message broker.", "properties": { "MqttTopic": { "type": "string", - "description": "The MQTT topic of the message. You can use a string expression that includes variables (`$variable.`) and input values (`$input..`) as the topic string.", + "description": "The MQTT topic of the message. You can use a string expression that includes variables (``$variable.``) and input values (``$input..``) as the topic string.", "minLength": 1, "maxLength": 128, - "markdownDescription": "The MQTT topic of the message. You can use a string expression that includes variables (`$variable.`) and input values (`$input..`) as the topic string.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "markdownDescription": "The MQTT topic of the message. You can use a string expression that includes variables (``$variable.``) and input values (``$input..``) as the topic string.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you publish a message to an IoTCore topic.", + "markdownDescription": "You can configure the action payload when you publish a message to an IoTCore topic.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ "MqttTopic" ], - "markdownDescription": "Information required to publish the MQTT message through the AWS IoT message broker.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information required to publish the MQTT message through the IoT message broker.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Lambda": { "type": "object", @@ -313,13 +351,16 @@ "markdownDescription": "The ARN of the Lambda function that is executed.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" }, "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you send a message to a Lambda function.", + "markdownDescription": "You can configure the action payload when you send a message to a Lambda function.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ "FunctionArn" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.", + "markdownDescription": "Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Sns": { "type": "object", @@ -327,7 +368,9 @@ "description": "Information required to publish the Amazon SNS message.", "properties": { "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you send a message as an Amazon SNS push notification.", + "markdownDescription": "You can configure the action payload when you send a message as an Amazon SNS push notification.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "TargetArn": { "type": "string", @@ -347,7 +390,9 @@ "additionalProperties": false, "properties": { "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you send a message to an Amazon SQS queue.", + "markdownDescription": "You can configure the action payload when you send a message to an Amazon SQS queue.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "QueueUrl": { "type": "string", @@ -356,37 +401,38 @@ }, "UseBase64": { "type": "boolean", - "description": "Set this to `TRUE` if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to `FALSE`.", - "markdownDescription": "Set this to `TRUE` if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to `FALSE`.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "description": "Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.", + "markdownDescription": "Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ "QueueUrl" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.", + "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Payload": { "type": "object", "additionalProperties": false, - "description": "Information needed to configure the payload.\n\nBy default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the alarm model instance and the event triggered the action. To configure the action payload, you can use `contentExpression`.", + "description": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.", "properties": { "ContentExpression": { "type": "string", - "description": "The content of the payload. You can use a string expression that includes quoted strings (`''`), variables (`$variable.`), input values (`$input..`), string concatenations, and quoted strings that contain `${}` as the content. The recommended maximum size of a content expression is 1 KB.", + "description": "The content of the payload. You can use a string expression that includes quoted strings (``''``), variables (``$variable.``), input values (``$input..``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.", "minLength": 1, - "markdownDescription": "The content of the payload. You can use a string expression that includes quoted strings (`''`), variables (`$variable.`), input values (`$input..`), string concatenations, and quoted strings that contain `${}` as the content. The recommended maximum size of a content expression is 1 KB.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nUpdate requires: No interruption" + "markdownDescription": "The content of the payload. You can use a string expression that includes quoted strings (``''``), variables (``$variable.``), input values (``$input..``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nUpdate requires: No interruption" }, "Type": { "type": "string", - "description": "The value of the payload type can be either `STRING` or `JSON`.", - "markdownDescription": "The value of the payload type can be either `STRING` or `JSON`.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The value of the payload type can be either ``STRING`` or ``JSON``.", + "markdownDescription": "The value of the payload type can be either ``STRING`` or ``JSON``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "ContentExpression", "Type" ], - "markdownDescription": "Information needed to configure the payload.\n\nBy default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the alarm model instance and the event triggered the action. To configure the action payload, you can use `contentExpression`.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "InitializationConfiguration": { "type": "object", @@ -395,9 +441,9 @@ "properties": { "DisabledOnInitialization": { "type": "boolean", - "description": "The value must be TRUE or FALSE. If FALSE, all alarm instances created based on the alarm model are activated. The default value is TRUE.", + "description": "The value must be ``TRUE`` or ``FALSE``. If ``FALSE``, all alarm instances created based on the alarm model are activated. The default value is ``TRUE``.", "default": "true", - "markdownDescription": "The value must be TRUE or FALSE. If FALSE, all alarm instances created based on the alarm model are activated. The default value is TRUE.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "The value must be ``TRUE`` or ``FALSE``. If ``FALSE``, all alarm instances created based on the alarm model are activated. The default value is ``TRUE``.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ @@ -412,9 +458,9 @@ "properties": { "Enabled": { "type": "boolean", - "description": "The value must be TRUE or FALSE. If TRUE, you receive a notification when the alarm state changes. You must choose to acknowledge the notification before the alarm state can return to NORMAL. If FALSE, you won't receive notifications. The alarm automatically changes to the NORMAL state when the input property value returns to the specified range.", + "description": "The value must be ``TRUE`` or ``FALSE``. If ``TRUE``, you receive a notification when the alarm state changes. You must choose to acknowledge the notification before the alarm state can return to ``NORMAL``. If ``FALSE``, you won't receive notifications. The alarm automatically changes to the ``NORMAL`` state when the input property value returns to the specified range.", "default": "true", - "markdownDescription": "The value must be TRUE or FALSE. If TRUE, you receive a notification when the alarm state changes. You must choose to acknowledge the notification before the alarm state can return to NORMAL. If FALSE, you won't receive notifications. The alarm automatically changes to the NORMAL state when the input property value returns to the specified range.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "The value must be ``TRUE`` or ``FALSE``. If ``TRUE``, you receive a notification when the alarm state changes. You must choose to acknowledge the notification before the alarm state can return to ``NORMAL``. If ``FALSE``, you won't receive notifications. The alarm automatically changes to the ``NORMAL`` state when the input property value returns to the specified range.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "markdownDescription": "Specifies whether to get notified for alarm state changes.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -422,95 +468,99 @@ "AssetPropertyValue": { "type": "object", "additionalProperties": false, - "description": "A structure that contains value information. For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html) in the *AWS IoT SiteWise API Reference*.", + "description": "A structure that contains value information. For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyValue``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``quality`` parameter can be ``'GOOD'``.\n + For references, you must specify either variables or input values. For example, the value for the ``quality`` parameter can be ``$input.TemperatureInput.sensorData.quality``.\n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.", "properties": { "Quality": { "type": "string", - "description": "The quality of the asset property value. The value must be `GOOD`, `BAD`, or `UNCERTAIN`. You can also specify an expression.", - "markdownDescription": "The quality of the asset property value. The value must be `GOOD`, `BAD`, or `UNCERTAIN`. You can also specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The quality of the asset property value. The value must be ``'GOOD'``, ``'BAD'``, or ``'UNCERTAIN'``.", + "markdownDescription": "The quality of the asset property value. The value must be ``'GOOD'``, ``'BAD'``, or ``'UNCERTAIN'``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Timestamp": { - "$ref": "#/definitions/AssetPropertyTimestamp" + "$ref": "#/definitions/AssetPropertyTimestamp", + "description": "The timestamp associated with the asset property value. The default is the current event time.", + "markdownDescription": "The timestamp associated with the asset property value. The default is the current event time.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Value": { - "$ref": "#/definitions/AssetPropertyVariant" + "$ref": "#/definitions/AssetPropertyVariant", + "description": "The value to send to an asset property.", + "markdownDescription": "The value to send to an asset property.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ "Value" ], - "markdownDescription": "A structure that contains value information. For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html) in the *AWS IoT SiteWise API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A structure that contains value information. For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyValue``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``quality`` parameter can be ``'GOOD'``.\n + For references, you must specify either variables or input values. For example, the value for the ``quality`` parameter can be ``$input.TemperatureInput.sensorData.quality``.\n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AssetPropertyTimestamp": { "type": "object", "additionalProperties": false, - "description": "A structure that contains timestamp information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html) in the *AWS IoT SiteWise API Reference*.", + "description": "A structure that contains timestamp information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyTimestamp``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``timeInSeconds`` parameter can be ``'1586400675'``.\n + For references, you must specify either variables or input values. For example, the value for the ``offsetInNanos`` parameter can be ``$variable.time``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``timeInSeconds`` parameter uses a substitution template.\n ``'${$input.TemperatureInput.sensorData.timestamp / 1000}'`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.", "properties": { "OffsetInNanos": { "type": "string", - "description": "The timestamp, in seconds, in the Unix epoch format. The valid range is between `1-31556889864403199`. You can also specify an expression.", - "markdownDescription": "The timestamp, in seconds, in the Unix epoch format. The valid range is between `1-31556889864403199`. You can also specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The nanosecond offset converted from ``timeInSeconds``. The valid range is between 0-999999999.", + "markdownDescription": "The nanosecond offset converted from ``timeInSeconds``. The valid range is between 0-999999999.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "TimeInSeconds": { "type": "string", - "description": "The nanosecond offset converted from `timeInSeconds`. The valid range is between `0-999999999`. You can also specify an expression.", - "markdownDescription": "The nanosecond offset converted from `timeInSeconds`. The valid range is between `0-999999999`. You can also specify an expression.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The timestamp, in seconds, in the Unix epoch format. The valid range is between 1-31556889864403199.", + "markdownDescription": "The timestamp, in seconds, in the Unix epoch format. The valid range is between 1-31556889864403199.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "TimeInSeconds" ], - "markdownDescription": "A structure that contains timestamp information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html) in the *AWS IoT SiteWise API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A structure that contains timestamp information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyTimestamp``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``timeInSeconds`` parameter can be ``'1586400675'``.\n + For references, you must specify either variables or input values. For example, the value for the ``offsetInNanos`` parameter can be ``$variable.time``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``timeInSeconds`` parameter uses a substitution template.\n ``'${$input.TemperatureInput.sensorData.timestamp / 1000}'`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AssetPropertyVariant": { "type": "object", "additionalProperties": false, - "description": "A structure that contains an asset property value. For more information, see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html) in the *AWS IoT SiteWise API Reference*.", + "description": "A structure that contains an asset property value. For more information, see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyVariant``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``integerValue`` parameter can be ``'100'``.\n + For references, you must specify either variables or parameters. For example, the value for the ``booleanValue`` parameter can be ``$variable.offline``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates. \n In the following example, the value for the ``doubleValue`` parameter uses a substitution template. \n ``'${$input.TemperatureInput.sensorData.temperature * 6 / 5 + 32}'`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n You must specify one of the following value types, depending on the ``dataType`` of the specified asset property. For more information, see [AssetProperty](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetProperty.html) in the *API Reference*.", "properties": { "BooleanValue": { "type": "string", - "description": "The asset property value is a Boolean value that must be `TRUE` or `FALSE`. You can also specify an expression. If you use an expression, the evaluated result should be a Boolean value.", - "markdownDescription": "The asset property value is a Boolean value that must be `TRUE` or `FALSE`. You can also specify an expression. If you use an expression, the evaluated result should be a Boolean value.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The asset property value is a Boolean value that must be ``'TRUE'`` or ``'FALSE'``. You must use an expression, and the evaluated result should be a Boolean value.", + "markdownDescription": "The asset property value is a Boolean value that must be ``'TRUE'`` or ``'FALSE'``. You must use an expression, and the evaluated result should be a Boolean value.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DoubleValue": { "type": "string", - "description": "The asset property value is a double. You can also specify an expression. If you use an expression, the evaluated result should be a double.", - "markdownDescription": "The asset property value is a double. You can also specify an expression. If you use an expression, the evaluated result should be a double.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The asset property value is a double. You must use an expression, and the evaluated result should be a double.", + "markdownDescription": "The asset property value is a double. You must use an expression, and the evaluated result should be a double.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "IntegerValue": { "type": "string", - "description": "The asset property value is an integer. You can also specify an expression. If you use an expression, the evaluated result should be an integer.", - "markdownDescription": "The asset property value is an integer. You can also specify an expression. If you use an expression, the evaluated result should be an integer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The asset property value is an integer. You must use an expression, and the evaluated result should be an integer.", + "markdownDescription": "The asset property value is an integer. You must use an expression, and the evaluated result should be an integer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "StringValue": { "type": "string", - "description": "The asset property value is a string. You can also specify an expression. If you use an expression, the evaluated result should be a string.", - "markdownDescription": "The asset property value is a string. You can also specify an expression. If you use an expression, the evaluated result should be a string.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The asset property value is a string. You must use an expression, and the evaluated result should be a string.", + "markdownDescription": "The asset property value is a string. You must use an expression, and the evaluated result should be a string.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "A structure that contains an asset property value. For more information, see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html) in the *AWS IoT SiteWise API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A structure that contains an asset property value. For more information, see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyVariant``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``integerValue`` parameter can be ``'100'``.\n + For references, you must specify either variables or parameters. For example, the value for the ``booleanValue`` parameter can be ``$variable.offline``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates. \n In the following example, the value for the ``doubleValue`` parameter uses a substitution template. \n ``'${$input.TemperatureInput.sensorData.temperature * 6 / 5 + 32}'`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n You must specify one of the following value types, depending on the ``dataType`` of the specified asset property. For more information, see [AssetProperty](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetProperty.html) in the *API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { "type": "object", "additionalProperties": false, - "description": "Tags to be applied to Input.", + "description": "Metadata that can be used to manage the resource.", "properties": { "Key": { - "description": "Key of the Tag.", + "description": "The tag's key.", "type": "string", - "markdownDescription": "Key of the Tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The tag's key.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Value": { - "description": "Value of the Tag.", + "description": "The tag's value.", "type": "string", - "markdownDescription": "Value of the Tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The tag's value.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "Value", "Key" ], - "markdownDescription": "Tags to be applied to Input.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Metadata that can be used to manage the resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -523,49 +573,55 @@ }, "AlarmModelDescription": { "type": "string", - "description": "A brief description of the alarm model.", + "description": "The description of the alarm model.", "maxLength": 1024, - "markdownDescription": "A brief description of the alarm model.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" + "markdownDescription": "The description of the alarm model.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" }, "RoleArn": { "type": "string", - "description": "The ARN of the role that grants permission to AWS IoT Events to perform its operations.", + "description": "The ARN of the IAM role that allows the alarm to perform actions and access AWS resources. For more information, see [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*.", "minLength": 1, "maxLength": 2048, - "markdownDescription": "The ARN of the role that grants permission to AWS IoT Events to perform its operations.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the IAM role that allows the alarm to perform actions and access AWS resources. For more information, see [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" }, "Key": { "type": "string", - "description": "The value used to identify a alarm instance. When a device or system sends input, a new alarm instance with a unique key value is created. AWS IoT Events can continue to route input to its corresponding alarm instance based on this identifying information.\n\nThis parameter uses a JSON-path expression to select the attribute-value pair in the message payload that is used for identification. To route the message to the correct alarm instance, the device must send a message payload that contains the same attribute-value.", + "description": "An input attribute used as a key to create an alarm. ITE routes [inputs](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Input.html) associated with this key to the alarm.", "minLength": 1, "maxLength": 128, - "markdownDescription": "The value used to identify a alarm instance. When a device or system sends input, a new alarm instance with a unique key value is created. AWS IoT Events can continue to route input to its corresponding alarm instance based on this identifying information.\n\nThis parameter uses a JSON-path expression to select the attribute-value pair in the message payload that is used for identification. To route the message to the correct alarm instance, the device must send a message payload that contains the same attribute-value.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^((`[\\w\\- ]+`)|([\\w\\-]+))(\\.((`[\\w\\- ]+`)|([\\w\\-]+)))*$ \nUpdate requires: Replacement" + "markdownDescription": "An input attribute used as a key to create an alarm. ITE routes [inputs](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Input.html) associated with this key to the alarm.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^((`[\\w\\- ]+`)|([\\w\\-]+))(\\.((`[\\w\\- ]+`)|([\\w\\-]+)))*$ \nUpdate requires: Replacement" }, "Severity": { "type": "integer", - "description": "A non-negative integer that reflects the severity level of the alarm.\n\n", + "description": "A non-negative integer that reflects the severity level of the alarm.", "minimum": 0, "maximum": 2147483647, - "markdownDescription": "A non-negative integer that reflects the severity level of the alarm.\n\n\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "A non-negative integer that reflects the severity level of the alarm.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "AlarmRule": { - "$ref": "#/definitions/AlarmRule" + "$ref": "#/definitions/AlarmRule", + "description": "Defines when your alarm is invoked.", + "markdownDescription": "Defines when your alarm is invoked.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "AlarmEventActions": { - "$ref": "#/definitions/AlarmEventActions" + "$ref": "#/definitions/AlarmEventActions", + "description": "Contains information about one or more alarm actions.", + "markdownDescription": "Contains information about one or more alarm actions.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "AlarmCapabilities": { - "$ref": "#/definitions/AlarmCapabilities" + "$ref": "#/definitions/AlarmCapabilities", + "description": "Contains the configuration information of alarm state changes.", + "markdownDescription": "Contains the configuration information of alarm state changes.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Tags": { "type": "array", "uniqueItems": false, "insertionOrder": false, - "description": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).", + "description": "A list of key-value pairs that contain metadata for the alarm model. The tags help you manage the alarm model. For more information, see [Tagging your resources](https://docs.aws.amazon.com/iotevents/latest/developerguide/tagging-iotevents.html) in the *Developer Guide*.\n You can create up to 50 tags for one alarm model.", "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of key-value pairs that contain metadata for the alarm model. The tags help you manage the alarm model. For more information, see [Tagging your resources](https://docs.aws.amazon.com/iotevents/latest/developerguide/tagging-iotevents.html) in the *Developer Guide*.\n You can create up to 50 tags for one alarm model.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ @@ -620,5 +676,17 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotevents:UntagResource", + "iotevents:TagResource", + "iotevents:ListTagsForResource" + ] + }, "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-iotevents-detectormodel.json b/server/schema/resources/aws-iotevents-detectormodel.json index 6451ffa9..33eec31e 100644 --- a/server/schema/resources/aws-iotevents-detectormodel.json +++ b/server/schema/resources/aws-iotevents-detectormodel.json @@ -1,6 +1,6 @@ { "typeName": "AWS::IoTEvents::DetectorModel", - "description": "The AWS::IoTEvents::DetectorModel resource creates a detector model. You create a *detector model* (a model of your equipment or process) using *states*. For each state, you define conditional (Boolean) logic that evaluates the incoming inputs to detect significant events. When an event is detected, it can change the state or trigger custom-built or predefined actions using other AWS services. You can define additional events that trigger actions when entering or exiting a state and, optionally, when a condition is met. For more information, see [How to Use AWS IoT Events](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *AWS IoT Events Developer Guide*.", + "description": "The AWS::IoTEvents::DetectorModel resource creates a detector model. You create a *detector model* (a model of your equipment or process) using *states*. For each state, you define conditional (Boolean) logic that evaluates the incoming inputs to detect significant events. When an event is detected, it can change the state or trigger custom-built or predefined actions using other AWS services. You can define additional events that trigger actions when entering or exiting a state and, optionally, when a condition is met. For more information, see [How to Use](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *Developer Guide*.\n When you successfully update a detector model (using the ITE console, ITE API or CLI commands, or CFN) all detector instances created by the model are reset to their initial states. (The detector's ``state``, and the values of any variables and timers are reset.)\n When you successfully update a detector model (using the ITE console, ITE API or CLI commands, or CFN) the version number of the detector model is incremented. (A detector model with version number 1 before the update has version number 2 after the update succeeds.)\n If you attempt to update a detector model using CFN and the update does not succeed, the system may, in some cases, restore the original detector model. When this occurs, the detector model's version is incremented twice (for example, from version 1 to version 3) and the detector instances are reset.\n Also, be aware that if you attempt to update several detector models at once using CFN, some updates may succeed and others fail. In this case, the effects on each detector model's detector instances and version number depend on whether the update succeeded or failed, with the results as stated.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "definitions": { "DetectorModelDefinition": { @@ -39,13 +39,19 @@ "description": "Information that defines a state of a detector.", "properties": { "OnEnter": { - "$ref": "#/definitions/OnEnter" + "$ref": "#/definitions/OnEnter", + "description": "When entering this state, perform these ``actions`` if the ``condition`` is TRUE.", + "markdownDescription": "When entering this state, perform these ``actions`` if the ``condition`` is TRUE.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "OnExit": { - "$ref": "#/definitions/OnExit" + "$ref": "#/definitions/OnExit", + "description": "When exiting this state, perform these ``actions`` if the specified ``condition`` is ``TRUE``.", + "markdownDescription": "When exiting this state, perform these ``actions`` if the specified ``condition`` is ``TRUE``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "OnInput": { - "$ref": "#/definitions/OnInput" + "$ref": "#/definitions/OnInput", + "description": "When an input is received and the ``condition`` is TRUE, perform the specified ``actions``.", + "markdownDescription": "When an input is received and the ``condition`` is TRUE, perform the specified ``actions``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "StateName": { "type": "string", @@ -63,71 +69,71 @@ "OnEnter": { "type": "object", "additionalProperties": false, - "description": "When entering this state, perform these `actions` if the `condition` is `TRUE`.", + "description": "When entering this state, perform these ``actions`` if the ``condition`` is TRUE.", "properties": { "Events": { "type": "array", "uniqueItems": false, "insertionOrder": false, - "description": "Specifies the `actions` that are performed when the state is entered and the `condition` is `TRUE`.", + "description": "Specifies the actions that are performed when the state is entered and the ``condition`` is ``TRUE``.", "items": { "$ref": "#/definitions/Event" }, - "markdownDescription": "Specifies the `actions` that are performed when the state is entered and the `condition` is `TRUE`.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies the actions that are performed when the state is entered and the ``condition`` is ``TRUE``.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "When entering this state, perform these `actions` if the `condition` is `TRUE`.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "When entering this state, perform these ``actions`` if the ``condition`` is TRUE.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "OnExit": { "type": "object", "additionalProperties": false, - "description": "When exiting this state, perform these `actions` if the specified `condition` is `TRUE`.", + "description": "When exiting this state, perform these ``actions`` if the specified ``condition`` is ``TRUE``.", "properties": { "Events": { "type": "array", "uniqueItems": false, "insertionOrder": false, - "description": "Specifies the `actions` that are performed when the state is exited and the `condition` is `TRUE`.", + "description": "Specifies the ``actions`` that are performed when the state is exited and the ``condition`` is ``TRUE``.", "items": { "$ref": "#/definitions/Event" }, - "markdownDescription": "Specifies the `actions` that are performed when the state is exited and the `condition` is `TRUE`.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies the ``actions`` that are performed when the state is exited and the ``condition`` is ``TRUE``.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "When exiting this state, perform these `actions` if the specified `condition` is `TRUE`.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "When exiting this state, perform these ``actions`` if the specified ``condition`` is ``TRUE``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "OnInput": { "type": "object", "additionalProperties": false, - "description": "When an input is received and the `condition` is `TRUE`, perform the specified `actions`.", + "description": "Specifies the actions performed when the ``condition`` evaluates to TRUE.", "properties": { "Events": { "type": "array", "uniqueItems": false, "insertionOrder": false, - "description": "Specifies the `actions` performed when the `condition` evaluates to `TRUE`.", + "description": "Specifies the actions performed when the ``condition`` evaluates to TRUE.", "items": { "$ref": "#/definitions/Event" }, - "markdownDescription": "Specifies the `actions` performed when the `condition` evaluates to `TRUE`.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies the actions performed when the ``condition`` evaluates to TRUE.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "TransitionEvents": { "type": "array", "uniqueItems": false, "insertionOrder": true, - "description": "Specifies the `actions` performed, and the next `state` entered, when a `condition` evaluates to `TRUE`.", + "description": "Specifies the actions performed, and the next state entered, when a ``condition`` evaluates to TRUE.", "items": { "$ref": "#/definitions/TransitionEvent" }, - "markdownDescription": "Specifies the `actions` performed, and the next `state` entered, when a `condition` evaluates to `TRUE`.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies the actions performed, and the next state entered, when a ``condition`` evaluates to TRUE.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "When an input is received and the `condition` is `TRUE`, perform the specified `actions`.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies the actions performed when the ``condition`` evaluates to TRUE.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Event": { "type": "object", "additionalProperties": false, - "description": "Specifies the `actions` to be performed when the `condition` evaluates to `TRUE`.", + "description": "Specifies the ``actions`` to be performed when the ``condition`` evaluates to TRUE.", "properties": { "Actions": { "type": "array", @@ -141,9 +147,9 @@ }, "Condition": { "type": "string", - "description": "The Boolean expression that, when `TRUE`, causes the `actions` to be performed. If not present, the `actions` are performed (=`TRUE`). If the expression result is not a `Boolean` value, the `actions` are not performed (=`FALSE`).", + "description": "Optional. The Boolean expression that, when TRUE, causes the ``actions`` to be performed. If not present, the actions are performed (=TRUE). If the expression result is not a Boolean value, the actions are not performed (=FALSE).", "maxLength": 512, - "markdownDescription": "The Boolean expression that, when `TRUE`, causes the `actions` to be performed. If not present, the `actions` are performed (=`TRUE`). If the expression result is not a `Boolean` value, the `actions` are not performed (=`FALSE`).\n\n---\n\nRequired: No \nType: String \nMaximum Length: 512 \nUpdate requires: No interruption" + "markdownDescription": "Optional. The Boolean expression that, when TRUE, causes the ``actions`` to be performed. If not present, the actions are performed (=TRUE). If the expression result is not a Boolean value, the actions are not performed (=FALSE).\n\n---\n\nRequired: No \nType: String \nMaximum Length: 512 \nUpdate requires: No interruption" }, "EventName": { "type": "string", @@ -155,12 +161,12 @@ "required": [ "EventName" ], - "markdownDescription": "Specifies the `actions` to be performed when the `condition` evaluates to `TRUE`.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies the ``actions`` to be performed when the ``condition`` evaluates to TRUE.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "TransitionEvent": { "type": "object", "additionalProperties": false, - "description": "Specifies the `actions `performed and the next `state` entered when a `condition` evaluates to `TRUE`.", + "description": "Specifies the actions performed and the next state entered when a ``condition`` evaluates to TRUE.", "properties": { "Actions": { "type": "array", @@ -174,16 +180,16 @@ }, "Condition": { "type": "string", - "description": "A Boolean expression that when `TRUE` causes the `actions` to be performed and the `nextState` to be entered.", + "description": "Required. A Boolean expression that when TRUE causes the actions to be performed and the ``nextState`` to be entered.", "maxLength": 512, - "markdownDescription": "A Boolean expression that when `TRUE` causes the `actions` to be performed and the `nextState` to be entered.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 512 \nUpdate requires: No interruption" + "markdownDescription": "Required. A Boolean expression that when TRUE causes the actions to be performed and the ``nextState`` to be entered.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 512 \nUpdate requires: No interruption" }, "EventName": { "type": "string", - "description": "The name of the event.", + "description": "The name of the transition event.", "minLength": 1, "maxLength": 128, - "markdownDescription": "The name of the event.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "markdownDescription": "The name of the transition event.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, "NextState": { "type": "string", @@ -198,54 +204,80 @@ "EventName", "NextState" ], - "markdownDescription": "Specifies the `actions `performed and the next `state` entered when a `condition` evaluates to `TRUE`.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies the actions performed and the next state entered when a ``condition`` evaluates to TRUE.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Action": { "type": "object", "additionalProperties": false, - "description": "The actions to be performed.", + "description": "An action to be performed when the ``condition`` is TRUE.", "properties": { "ClearTimer": { - "$ref": "#/definitions/ClearTimer" + "$ref": "#/definitions/ClearTimer", + "description": "Information needed to clear the timer.", + "markdownDescription": "Information needed to clear the timer.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "DynamoDB": { - "$ref": "#/definitions/DynamoDB" + "$ref": "#/definitions/DynamoDB", + "description": "Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html) in *Developer Guide*.", + "markdownDescription": "Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html) in *Developer Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "DynamoDBv2": { - "$ref": "#/definitions/DynamoDBv2" + "$ref": "#/definitions/DynamoDBv2", + "description": "Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html) in *Developer Guide*.", + "markdownDescription": "Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html) in *Developer Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Firehose": { - "$ref": "#/definitions/Firehose" + "$ref": "#/definitions/Firehose", + "description": "Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.", + "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "IotEvents": { - "$ref": "#/definitions/IotEvents" + "$ref": "#/definitions/IotEvents", + "description": "Sends ITE input, which passes information about the detector model instance and the event that triggered the action.", + "markdownDescription": "Sends ITE input, which passes information about the detector model instance and the event that triggered the action.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "IotSiteWise": { - "$ref": "#/definitions/IotSiteWise" + "$ref": "#/definitions/IotSiteWise", + "description": "Sends information about the detector model instance and the event that triggered the action to an asset property in ITSW .", + "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to an asset property in ITSW .\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "IotTopicPublish": { - "$ref": "#/definitions/IotTopicPublish" + "$ref": "#/definitions/IotTopicPublish", + "description": "Publishes an MQTT message with the given topic to the IoT message broker.", + "markdownDescription": "Publishes an MQTT message with the given topic to the IoT message broker.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Lambda": { - "$ref": "#/definitions/Lambda" + "$ref": "#/definitions/Lambda", + "description": "Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.", + "markdownDescription": "Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "ResetTimer": { - "$ref": "#/definitions/ResetTimer" + "$ref": "#/definitions/ResetTimer", + "description": "Information needed to reset the timer.", + "markdownDescription": "Information needed to reset the timer.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "SetTimer": { - "$ref": "#/definitions/SetTimer" + "$ref": "#/definitions/SetTimer", + "description": "Information needed to set the timer.", + "markdownDescription": "Information needed to set the timer.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "SetVariable": { - "$ref": "#/definitions/SetVariable" + "$ref": "#/definitions/SetVariable", + "description": "Sets a variable to a specified value.", + "markdownDescription": "Sets a variable to a specified value.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Sns": { - "$ref": "#/definitions/Sns" + "$ref": "#/definitions/Sns", + "description": "Sends an Amazon SNS message.", + "markdownDescription": "Sends an Amazon SNS message.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Sqs": { - "$ref": "#/definitions/Sqs" + "$ref": "#/definitions/Sqs", + "description": "Sends an Amazon SNS message.", + "markdownDescription": "Sends an Amazon SNS message.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "markdownDescription": "The actions to be performed.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "An action to be performed when the ``condition`` is TRUE.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ClearTimer": { "type": "object", @@ -256,7 +288,8 @@ "type": "string", "minLength": 1, "maxLength": 128, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "description": "The name of the timer to clear.", + "markdownDescription": "The name of the timer to clear.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ @@ -267,17 +300,17 @@ "DynamoDB": { "type": "object", "additionalProperties": false, - "description": "Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html) in *AWS IoT Events Developer Guide*.", + "description": "Defines an action to write to the Amazon DynamoDB table that you created. The standard action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBAction``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``hashKeyType`` parameter can be ``'STRING'``.\n + For references, you must specify either variables or input values. For example, the value for the ``hashKeyField`` parameter can be ``$input.GreenhouseInput.name``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``hashKeyValue`` parameter uses a substitution template. \n ``'${$input.GreenhouseInput.temperature * 6 / 5 + 32} in Fahrenheit'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n If the defined payload type is a string, ``DynamoDBAction`` writes non-JSON data to the DynamoDB table as binary data. The DynamoDB console displays the data as Base64-encoded text. The value for the ``payloadField`` parameter is ``_raw``.", "properties": { "HashKeyField": { "type": "string", - "description": "The name of the hash key (also called the partition key).", - "markdownDescription": "The name of the hash key (also called the partition key).\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The name of the hash key (also called the partition key). The ``hashKeyField`` value must match the partition key of the target DynamoDB table.", + "markdownDescription": "The name of the hash key (also called the partition key). The ``hashKeyField`` value must match the partition key of the target DynamoDB table.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "HashKeyType": { "type": "string", - "description": "The data type for the hash key (also called the partition key). You can specify the following values:\n\n* `STRING` - The hash key is a string.\n\n* `NUMBER` - The hash key is a number.\n\nIf you don't specify `hashKeyType`, the default value is `STRING`.", - "markdownDescription": "The data type for the hash key (also called the partition key). You can specify the following values:\n\n* `STRING` - The hash key is a string.\n\n* `NUMBER` - The hash key is a number.\n\nIf you don't specify `hashKeyType`, the default value is `STRING`.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The data type for the hash key (also called the partition key). You can specify the following values:\n + ``'STRING'`` - The hash key is a string.\n + ``'NUMBER'`` - The hash key is a number.\n \n If you don't specify ``hashKeyType``, the default value is ``'STRING'``.", + "markdownDescription": "The data type for the hash key (also called the partition key). You can specify the following values:\n + ``'STRING'`` - The hash key is a string.\n + ``'NUMBER'`` - The hash key is a number.\n \n If you don't specify ``hashKeyType``, the default value is ``'STRING'``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "HashKeyValue": { "type": "string", @@ -286,26 +319,28 @@ }, "Operation": { "type": "string", - "description": "The type of operation to perform. You can specify the following values:\n\n* `INSERT` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.\n\n* `UPDATE` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n\n* `DELETE` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n\nIf you don't specify this parameter, AWS IoT Events triggers the `INSERT` operation.", - "markdownDescription": "The type of operation to perform. You can specify the following values:\n\n* `INSERT` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.\n\n* `UPDATE` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n\n* `DELETE` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n\nIf you don't specify this parameter, AWS IoT Events triggers the `INSERT` operation.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The type of operation to perform. You can specify the following values: \n + ``'INSERT'`` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.\n + ``'UPDATE'`` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n + ``'DELETE'`` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n \n If you don't specify this parameter, ITE triggers the ``'INSERT'`` operation.", + "markdownDescription": "The type of operation to perform. You can specify the following values: \n + ``'INSERT'`` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.\n + ``'UPDATE'`` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n + ``'DELETE'`` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n \n If you don't specify this parameter, ITE triggers the ``'INSERT'`` operation.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.", + "markdownDescription": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "PayloadField": { "type": "string", - "description": "The name of the DynamoDB column that receives the action payload.\n\nIf you don't specify this parameter, the name of the DynamoDB column is `payload`.", - "markdownDescription": "The name of the DynamoDB column that receives the action payload.\n\nIf you don't specify this parameter, the name of the DynamoDB column is `payload`.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the DynamoDB column that receives the action payload.\n If you don't specify this parameter, the name of the DynamoDB column is ``payload``.", + "markdownDescription": "The name of the DynamoDB column that receives the action payload.\n If you don't specify this parameter, the name of the DynamoDB column is ``payload``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RangeKeyField": { "type": "string", - "description": "The name of the range key (also called the sort key).", - "markdownDescription": "The name of the range key (also called the sort key).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the range key (also called the sort key). The ``rangeKeyField`` value must match the sort key of the target DynamoDB table.", + "markdownDescription": "The name of the range key (also called the sort key). The ``rangeKeyField`` value must match the sort key of the target DynamoDB table.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RangeKeyType": { "type": "string", - "description": "The data type for the range key (also called the sort key), You can specify the following values:\n\n* `STRING` - The range key is a string.\n\n* `NUMBER` - The range key is number.\n\nIf you don't specify `rangeKeyField`, the default value is `STRING`.", - "markdownDescription": "The data type for the range key (also called the sort key), You can specify the following values:\n\n* `STRING` - The range key is a string.\n\n* `NUMBER` - The range key is number.\n\nIf you don't specify `rangeKeyField`, the default value is `STRING`.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The data type for the range key (also called the sort key), You can specify the following values:\n + ``'STRING'`` - The range key is a string.\n + ``'NUMBER'`` - The range key is number.\n \n If you don't specify ``rangeKeyField``, the default value is ``'STRING'``.", + "markdownDescription": "The data type for the range key (also called the sort key), You can specify the following values:\n + ``'STRING'`` - The range key is a string.\n + ``'NUMBER'`` - The range key is number.\n \n If you don't specify ``rangeKeyField``, the default value is ``'STRING'``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RangeKeyValue": { "type": "string", @@ -314,8 +349,8 @@ }, "TableName": { "type": "string", - "description": "The name of the DynamoDB table.", - "markdownDescription": "The name of the DynamoDB table.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The name of the DynamoDB table. The ``tableName`` value must match the table name of the target DynamoDB table.", + "markdownDescription": "The name of the DynamoDB table. The ``tableName`` value must match the table name of the target DynamoDB table.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -323,15 +358,17 @@ "HashKeyValue", "TableName" ], - "markdownDescription": "Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html) in *AWS IoT Events Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Defines an action to write to the Amazon DynamoDB table that you created. The standard action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBAction``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``hashKeyType`` parameter can be ``'STRING'``.\n + For references, you must specify either variables or input values. For example, the value for the ``hashKeyField`` parameter can be ``$input.GreenhouseInput.name``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``hashKeyValue`` parameter uses a substitution template. \n ``'${$input.GreenhouseInput.temperature * 6 / 5 + 32} in Fahrenheit'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n If the defined payload type is a string, ``DynamoDBAction`` writes non-JSON data to the DynamoDB table as binary data. The DynamoDB console displays the data as Base64-encoded text. The value for the ``payloadField`` parameter is ``_raw``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "DynamoDBv2": { "type": "object", "additionalProperties": false, - "description": "Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.\n\nYou can use expressions for parameters that are strings. For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *AWS IoT Events Developer Guide*.", + "description": "Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBv2Action``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``tableName`` parameter can be ``'GreenhouseTemperatureTable'``.\n + For references, you must specify either variables or input values. For example, the value for the ``tableName`` parameter can be ``$variable.ddbtableName``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``contentExpression`` parameter in ``Payload`` uses a substitution template. \n ``'{\\\"sensorID\\\": \\\"${$input.GreenhouseInput.sensor_id}\\\", \\\"temperature\\\": \\\"${$input.GreenhouseInput.temperature * 9 / 5 + 32}\\\"}'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n The value for the ``type`` parameter in ``Payload`` must be ``JSON``.", "properties": { "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.", + "markdownDescription": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "TableName": { "type": "string", @@ -342,7 +379,7 @@ "required": [ "TableName" ], - "markdownDescription": "Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.\n\nYou can use expressions for parameters that are strings. For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *AWS IoT Events Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBv2Action``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``tableName`` parameter can be ``'GreenhouseTemperatureTable'``.\n + For references, you must specify either variables or input values. For example, the value for the ``tableName`` parameter can be ``$variable.ddbtableName``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``contentExpression`` parameter in ``Payload`` uses a substitution template. \n ``'{\\\"sensorID\\\": \\\"${$input.GreenhouseInput.sensor_id}\\\", \\\"temperature\\\": \\\"${$input.GreenhouseInput.temperature * 9 / 5 + 32}\\\"}'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n The value for the ``type`` parameter in ``Payload`` must be ``JSON``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Firehose": { "type": "object", @@ -355,7 +392,9 @@ "markdownDescription": "The name of the Kinesis Data Firehose delivery stream where the data is written.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you send a message to an Amazon Data Firehose delivery stream.", + "markdownDescription": "You can configure the action payload when you send a message to an Amazon Data Firehose delivery stream.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Separator": { "type": "string", @@ -371,78 +410,84 @@ "IotEvents": { "type": "object", "additionalProperties": false, - "description": "Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.", + "description": "Sends an ITE input, passing in information about the detector model instance and the event that triggered the action.", "properties": { "InputName": { "type": "string", - "description": "The name of the AWS IoT Events input where the data is sent.", + "description": "The name of the ITE input where the data is sent.", "minLength": 1, "maxLength": 128, - "markdownDescription": "The name of the AWS IoT Events input where the data is sent.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z][a-zA-Z0-9_]*$ \nUpdate requires: No interruption" + "markdownDescription": "The name of the ITE input where the data is sent.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z][a-zA-Z0-9_]*$ \nUpdate requires: No interruption" }, "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you send a message to an ITE input.", + "markdownDescription": "You can configure the action payload when you send a message to an ITE input.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ "InputName" ], - "markdownDescription": "Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Sends an ITE input, passing in information about the detector model instance and the event that triggered the action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "IotSiteWise": { "type": "object", "additionalProperties": false, - "description": "Sends information about the detector model instance and the event that triggered the action to a specified asset property in AWS IoT SiteWise.", + "description": "Sends information about the detector model instance and the event that triggered the action to a specified asset property in ITSW.\n You must use expressions for all parameters in ``IotSiteWiseAction``. The expressions accept literals, operators, functions, references, and substitutions templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``propertyAlias`` parameter can be ``'/company/windfarm/3/turbine/7/temperature'``.\n + For references, you must specify either variables or input values. For example, the value for the ``assetId`` parameter can be ``$input.TurbineInput.assetId1``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``propertyAlias`` parameter uses a substitution template. \n ``'company/windfarm/${$input.TemperatureInput.sensorData.windfarmID}/turbine/ ${$input.TemperatureInput.sensorData.turbineID}/temperature'`` \n \n You must specify either ``propertyAlias`` or both ``assetId`` and ``propertyId`` to identify the target asset property in ITSW.\n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.", "properties": { "AssetId": { "type": "string", - "description": "The ID of the asset that has the specified property. You can specify an expression.", - "markdownDescription": "The ID of the asset that has the specified property. You can specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The ID of the asset that has the specified property.", + "markdownDescription": "The ID of the asset that has the specified property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "EntryId": { "type": "string", - "description": "A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier. You can also specify an expression.", - "markdownDescription": "A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier. You can also specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier.", + "markdownDescription": "A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "PropertyAlias": { "type": "string", - "description": "The alias of the asset property. You can also specify an expression.", - "markdownDescription": "The alias of the asset property. You can also specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The alias of the asset property.", + "markdownDescription": "The alias of the asset property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "PropertyId": { "type": "string", - "description": "The ID of the asset property. You can specify an expression.", - "markdownDescription": "The ID of the asset property. You can specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The ID of the asset property.", + "markdownDescription": "The ID of the asset property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "PropertyValue": { - "$ref": "#/definitions/AssetPropertyValue" + "$ref": "#/definitions/AssetPropertyValue", + "description": "The value to send to the asset property. This value contains timestamp, quality, and value (TQV) information.", + "markdownDescription": "The value to send to the asset property. This value contains timestamp, quality, and value (TQV) information.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ "PropertyValue" ], - "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to a specified asset property in AWS IoT SiteWise.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to a specified asset property in ITSW.\n You must use expressions for all parameters in ``IotSiteWiseAction``. The expressions accept literals, operators, functions, references, and substitutions templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``propertyAlias`` parameter can be ``'/company/windfarm/3/turbine/7/temperature'``.\n + For references, you must specify either variables or input values. For example, the value for the ``assetId`` parameter can be ``$input.TurbineInput.assetId1``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``propertyAlias`` parameter uses a substitution template. \n ``'company/windfarm/${$input.TemperatureInput.sensorData.windfarmID}/turbine/ ${$input.TemperatureInput.sensorData.turbineID}/temperature'`` \n \n You must specify either ``propertyAlias`` or both ``assetId`` and ``propertyId`` to identify the target asset property in ITSW.\n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "IotTopicPublish": { "type": "object", "additionalProperties": false, - "description": "Information required to publish the MQTT message through the AWS IoT message broker.", + "description": "Information required to publish the MQTT message through the IoT message broker.", "properties": { "MqttTopic": { "type": "string", - "description": "The MQTT topic of the message. You can use a string expression that includes variables (`$variable.`) and input values (`$input..`) as the topic string.", + "description": "The MQTT topic of the message. You can use a string expression that includes variables (``$variable.``) and input values (``$input..``) as the topic string.", "minLength": 1, "maxLength": 128, - "markdownDescription": "The MQTT topic of the message. You can use a string expression that includes variables (`$variable.`) and input values (`$input..`) as the topic string.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "markdownDescription": "The MQTT topic of the message. You can use a string expression that includes variables (``$variable.``) and input values (``$input..``) as the topic string.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you publish a message to an IoTCore topic.", + "markdownDescription": "You can configure the action payload when you publish a message to an IoTCore topic.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ "MqttTopic" ], - "markdownDescription": "Information required to publish the MQTT message through the AWS IoT message broker.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information required to publish the MQTT message through the IoT message broker.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Lambda": { "type": "object", @@ -456,13 +501,16 @@ "markdownDescription": "The ARN of the Lambda function that is executed.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" }, "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you send a message to a Lambda function.", + "markdownDescription": "You can configure the action payload when you send a message to a Lambda function.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ "FunctionArn" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.", + "markdownDescription": "Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ResetTimer": { "type": "object", @@ -489,17 +537,17 @@ "properties": { "DurationExpression": { "type": "string", - "description": "The duration of the timer, in seconds. You can use a string expression that includes numbers, variables (`$variable.`), and input values (`$input..`) as the duration. The range of the duration is `1-31622400` seconds. To ensure accuracy, the minimum duration is `60` seconds. The evaluated result of the duration is rounded down to the nearest whole number.", + "description": "The duration of the timer, in seconds. You can use a string expression that includes numbers, variables (``$variable.``), and input values (``$input..``) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.", "minLength": 1, "maxLength": 1024, - "markdownDescription": "The duration of the timer, in seconds. You can use a string expression that includes numbers, variables (`$variable.`), and input values (`$input..`) as the duration. The range of the duration is `1-31622400` seconds. To ensure accuracy, the minimum duration is `60` seconds. The evaluated result of the duration is rounded down to the nearest whole number.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + "markdownDescription": "The duration of the timer, in seconds. You can use a string expression that includes numbers, variables (``$variable.``), and input values (``$input..``) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" }, "Seconds": { "type": "integer", - "description": "The number of seconds until the timer expires. The minimum value is `60` seconds to ensure accuracy. The maximum value is `31622400` seconds.", + "description": "The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy. The maximum value is 31622400 seconds.", "minimum": 60, "maximum": 31622400, - "markdownDescription": "The number of seconds until the timer expires. The minimum value is `60` seconds to ensure accuracy. The maximum value is `31622400` seconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy. The maximum value is 31622400 seconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "TimerName": { "type": "string", @@ -546,7 +594,9 @@ "description": "Information required to publish the Amazon SNS message.", "properties": { "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you send a message as an Amazon SNS push notification.", + "markdownDescription": "You can configure the action payload when you send a message as an Amazon SNS push notification.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "TargetArn": { "type": "string", @@ -566,7 +616,9 @@ "additionalProperties": false, "properties": { "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you send a message to an Amazon SQS queue.", + "markdownDescription": "You can configure the action payload when you send a message to an Amazon SQS queue.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "QueueUrl": { "type": "string", @@ -575,135 +627,142 @@ }, "UseBase64": { "type": "boolean", - "description": "Set this to `TRUE` if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to `FALSE`.", - "markdownDescription": "Set this to `TRUE` if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to `FALSE`.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "description": "Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.", + "markdownDescription": "Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ "QueueUrl" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.", + "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AssetPropertyValue": { "type": "object", "additionalProperties": false, - "description": "A structure that contains value information. For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html) in the *AWS IoT SiteWise API Reference*.", + "description": "A structure that contains value information. For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyValue``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``quality`` parameter can be ``'GOOD'``.\n + For references, you must specify either variables or input values. For example, the value for the ``quality`` parameter can be ``$input.TemperatureInput.sensorData.quality``.\n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.", "properties": { "Quality": { "type": "string", - "description": "The quality of the asset property value. The value must be `GOOD`, `BAD`, or `UNCERTAIN`. You can also specify an expression.", - "markdownDescription": "The quality of the asset property value. The value must be `GOOD`, `BAD`, or `UNCERTAIN`. You can also specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The quality of the asset property value. The value must be ``'GOOD'``, ``'BAD'``, or ``'UNCERTAIN'``.", + "markdownDescription": "The quality of the asset property value. The value must be ``'GOOD'``, ``'BAD'``, or ``'UNCERTAIN'``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Timestamp": { - "$ref": "#/definitions/AssetPropertyTimestamp" + "$ref": "#/definitions/AssetPropertyTimestamp", + "description": "The timestamp associated with the asset property value. The default is the current event time.", + "markdownDescription": "The timestamp associated with the asset property value. The default is the current event time.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Value": { - "$ref": "#/definitions/AssetPropertyVariant" + "$ref": "#/definitions/AssetPropertyVariant", + "description": "The value to send to an asset property.", + "markdownDescription": "The value to send to an asset property.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ "Value" ], - "markdownDescription": "A structure that contains value information. For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html) in the *AWS IoT SiteWise API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A structure that contains value information. For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyValue``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``quality`` parameter can be ``'GOOD'``.\n + For references, you must specify either variables or input values. For example, the value for the ``quality`` parameter can be ``$input.TemperatureInput.sensorData.quality``.\n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AssetPropertyTimestamp": { "type": "object", "additionalProperties": false, - "description": "A structure that contains timestamp information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html) in the *AWS IoT SiteWise API Reference*.", + "description": "A structure that contains timestamp information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyTimestamp``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``timeInSeconds`` parameter can be ``'1586400675'``.\n + For references, you must specify either variables or input values. For example, the value for the ``offsetInNanos`` parameter can be ``$variable.time``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``timeInSeconds`` parameter uses a substitution template.\n ``'${$input.TemperatureInput.sensorData.timestamp / 1000}'`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.", "properties": { "OffsetInNanos": { "type": "string", - "description": "The timestamp, in seconds, in the Unix epoch format. The valid range is between `1-31556889864403199`. You can also specify an expression.", - "markdownDescription": "The timestamp, in seconds, in the Unix epoch format. The valid range is between `1-31556889864403199`. You can also specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The nanosecond offset converted from ``timeInSeconds``. The valid range is between 0-999999999.", + "markdownDescription": "The nanosecond offset converted from ``timeInSeconds``. The valid range is between 0-999999999.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "TimeInSeconds": { "type": "string", - "description": "The nanosecond offset converted from `timeInSeconds`. The valid range is between `0-999999999`. You can also specify an expression.", - "markdownDescription": "The nanosecond offset converted from `timeInSeconds`. The valid range is between `0-999999999`. You can also specify an expression.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The timestamp, in seconds, in the Unix epoch format. The valid range is between 1-31556889864403199.", + "markdownDescription": "The timestamp, in seconds, in the Unix epoch format. The valid range is between 1-31556889864403199.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "TimeInSeconds" ], - "markdownDescription": "A structure that contains timestamp information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html) in the *AWS IoT SiteWise API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A structure that contains timestamp information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyTimestamp``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``timeInSeconds`` parameter can be ``'1586400675'``.\n + For references, you must specify either variables or input values. For example, the value for the ``offsetInNanos`` parameter can be ``$variable.time``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``timeInSeconds`` parameter uses a substitution template.\n ``'${$input.TemperatureInput.sensorData.timestamp / 1000}'`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AssetPropertyVariant": { "type": "object", "additionalProperties": false, - "description": "A structure that contains an asset property value. For more information, see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html) in the *AWS IoT SiteWise API Reference*.", + "description": "A structure that contains an asset property value. For more information, see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyVariant``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``integerValue`` parameter can be ``'100'``.\n + For references, you must specify either variables or parameters. For example, the value for the ``booleanValue`` parameter can be ``$variable.offline``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates. \n In the following example, the value for the ``doubleValue`` parameter uses a substitution template. \n ``'${$input.TemperatureInput.sensorData.temperature * 6 / 5 + 32}'`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n You must specify one of the following value types, depending on the ``dataType`` of the specified asset property. For more information, see [AssetProperty](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetProperty.html) in the *API Reference*.", "properties": { "BooleanValue": { "type": "string", - "description": "The asset property value is a Boolean value that must be `TRUE` or `FALSE`. You can also specify an expression. If you use an expression, the evaluated result should be a Boolean value.", - "markdownDescription": "The asset property value is a Boolean value that must be `TRUE` or `FALSE`. You can also specify an expression. If you use an expression, the evaluated result should be a Boolean value.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The asset property value is a Boolean value that must be ``'TRUE'`` or ``'FALSE'``. You must use an expression, and the evaluated result should be a Boolean value.", + "markdownDescription": "The asset property value is a Boolean value that must be ``'TRUE'`` or ``'FALSE'``. You must use an expression, and the evaluated result should be a Boolean value.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DoubleValue": { "type": "string", - "description": "The asset property value is a double. You can also specify an expression. If you use an expression, the evaluated result should be a double.", - "markdownDescription": "The asset property value is a double. You can also specify an expression. If you use an expression, the evaluated result should be a double.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The asset property value is a double. You must use an expression, and the evaluated result should be a double.", + "markdownDescription": "The asset property value is a double. You must use an expression, and the evaluated result should be a double.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "IntegerValue": { "type": "string", - "description": "The asset property value is an integer. You can also specify an expression. If you use an expression, the evaluated result should be an integer.", - "markdownDescription": "The asset property value is an integer. You can also specify an expression. If you use an expression, the evaluated result should be an integer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The asset property value is an integer. You must use an expression, and the evaluated result should be an integer.", + "markdownDescription": "The asset property value is an integer. You must use an expression, and the evaluated result should be an integer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "StringValue": { "type": "string", - "description": "The asset property value is a string. You can also specify an expression. If you use an expression, the evaluated result should be a string.", - "markdownDescription": "The asset property value is a string. You can also specify an expression. If you use an expression, the evaluated result should be a string.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The asset property value is a string. You must use an expression, and the evaluated result should be a string.", + "markdownDescription": "The asset property value is a string. You must use an expression, and the evaluated result should be a string.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "A structure that contains an asset property value. For more information, see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html) in the *AWS IoT SiteWise API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A structure that contains an asset property value. For more information, see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyVariant``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``integerValue`` parameter can be ``'100'``.\n + For references, you must specify either variables or parameters. For example, the value for the ``booleanValue`` parameter can be ``$variable.offline``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates. \n In the following example, the value for the ``doubleValue`` parameter uses a substitution template. \n ``'${$input.TemperatureInput.sensorData.temperature * 6 / 5 + 32}'`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n You must specify one of the following value types, depending on the ``dataType`` of the specified asset property. For more information, see [AssetProperty](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetProperty.html) in the *API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Payload": { "type": "object", "additionalProperties": false, - "description": "Information needed to configure the payload.\n\nBy default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use `contentExpression`.", + "description": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.", "properties": { "ContentExpression": { "type": "string", - "description": "The content of the payload. You can use a string expression that includes quoted strings (`''`), variables (`$variable.`), input values (`$input..`), string concatenations, and quoted strings that contain `${}` as the content. The recommended maximum size of a content expression is 1 KB.", + "description": "The content of the payload. You can use a string expression that includes quoted strings (``''``), variables (``$variable.``), input values (``$input..``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.", "minLength": 1, - "markdownDescription": "The content of the payload. You can use a string expression that includes quoted strings (`''`), variables (`$variable.`), input values (`$input..`), string concatenations, and quoted strings that contain `${}` as the content. The recommended maximum size of a content expression is 1 KB.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nUpdate requires: No interruption" + "markdownDescription": "The content of the payload. You can use a string expression that includes quoted strings (``''``), variables (``$variable.``), input values (``$input..``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nUpdate requires: No interruption" }, "Type": { "type": "string", - "description": "The value of the payload type can be either `STRING` or `JSON`.", - "markdownDescription": "The value of the payload type can be either `STRING` or `JSON`.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The value of the payload type can be either ``STRING`` or ``JSON``.", + "markdownDescription": "The value of the payload type can be either ``STRING`` or ``JSON``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "ContentExpression", "Type" ], - "markdownDescription": "Information needed to configure the payload.\n\nBy default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use `contentExpression`.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { "type": "object", "additionalProperties": false, - "description": "Tags to be applied to Input.", + "description": "Metadata that can be used to manage the resource.", "properties": { "Key": { - "description": "Key of the Tag.", + "description": "The tag's key.", "type": "string", - "markdownDescription": "Key of the Tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The tag's key.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Value": { - "description": "Value of the Tag.", + "description": "The tag's value.", "type": "string", - "markdownDescription": "Value of the Tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The tag's value.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "Value", "Key" ], - "markdownDescription": "Tags to be applied to Input.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Metadata that can be used to manage the resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { "DetectorModelDefinition": { - "$ref": "#/definitions/DetectorModelDefinition" + "$ref": "#/definitions/DetectorModelDefinition", + "description": "Information that defines how a detector operates.", + "markdownDescription": "Information that defines how a detector operates.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "DetectorModelDescription": { "type": "string", @@ -729,27 +788,27 @@ }, "Key": { "type": "string", - "description": "The value used to identify a detector instance. When a device or system sends input, a new detector instance with a unique key value is created. AWS IoT Events can continue to route input to its corresponding detector instance based on this identifying information.\n\nThis parameter uses a JSON-path expression to select the attribute-value pair in the message payload that is used for identification. To route the message to the correct detector instance, the device must send a message payload that contains the same attribute-value.", + "description": "The value used to identify a detector instance. When a device or system sends input, a new detector instance with a unique key value is created. ITE can continue to route input to its corresponding detector instance based on this identifying information. \n This parameter uses a JSON-path expression to select the attribute-value pair in the message payload that is used for identification. To route the message to the correct detector instance, the device must send a message payload that contains the same attribute-value.", "minLength": 1, "maxLength": 128, - "markdownDescription": "The value used to identify a detector instance. When a device or system sends input, a new detector instance with a unique key value is created. AWS IoT Events can continue to route input to its corresponding detector instance based on this identifying information.\n\nThis parameter uses a JSON-path expression to select the attribute-value pair in the message payload that is used for identification. To route the message to the correct detector instance, the device must send a message payload that contains the same attribute-value.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^((`[\\w\\- ]+`)|([\\w\\-]+))(\\.((`[\\w\\- ]+`)|([\\w\\-]+)))*$ \nUpdate requires: Replacement" + "markdownDescription": "The value used to identify a detector instance. When a device or system sends input, a new detector instance with a unique key value is created. ITE can continue to route input to its corresponding detector instance based on this identifying information. \n This parameter uses a JSON-path expression to select the attribute-value pair in the message payload that is used for identification. To route the message to the correct detector instance, the device must send a message payload that contains the same attribute-value.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^((`[\\w\\- ]+`)|([\\w\\-]+))(\\.((`[\\w\\- ]+`)|([\\w\\-]+)))*$ \nUpdate requires: Replacement" }, "RoleArn": { "type": "string", - "description": "The ARN of the role that grants permission to AWS IoT Events to perform its operations.", + "description": "The ARN of the role that grants permission to ITE to perform its operations.", "minLength": 1, "maxLength": 2048, - "markdownDescription": "The ARN of the role that grants permission to AWS IoT Events to perform its operations.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the role that grants permission to ITE to perform its operations.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" }, "Tags": { "type": "array", "uniqueItems": false, "insertionOrder": false, - "description": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).", + "description": "An array of key-value pairs to apply to this resource.\n For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).", "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "An array of key-value pairs to apply to this resource.\n For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ @@ -764,7 +823,6 @@ "/properties/DetectorModelName", "/properties/Key" ], - "taggable": true, "handlers": { "create": { "permissions": [ @@ -805,5 +863,17 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotevents:UntagResource", + "iotevents:TagResource", + "iotevents:ListTagsForResource" + ] + }, "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-iotevents-input.json b/server/schema/resources/aws-iotevents-input.json index 3372bbf7..fb7c605e 100644 --- a/server/schema/resources/aws-iotevents-input.json +++ b/server/schema/resources/aws-iotevents-input.json @@ -1,6 +1,6 @@ { "typeName": "AWS::IoTEvents::Input", - "description": "The AWS::IoTEvents::Input resource creates an input. To monitor your devices and processes, they must have a way to get telemetry data into AWS IoT Events. This is done by sending messages as *inputs* to AWS IoT Events. For more information, see [How to Use AWS IoT Events](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *AWS IoT Events Developer Guide*.", + "description": "The AWS::IoTEvents::Input resource creates an input. To monitor your devices and processes, they must have a way to get telemetry data into ITE. This is done by sending messages as *inputs* to ITE. For more information, see [How to Use](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *Developer Guide*.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-iotevents.git", "definitions": { "InputDefinition": { @@ -12,13 +12,13 @@ "type": "array", "uniqueItems": true, "insertionOrder": false, - "description": "The attributes from the JSON payload that are made available by the input. Inputs are derived from messages sent to the AWS IoT Events system using `BatchPutMessage`. Each such message contains a JSON payload, and those attributes (and their paired values) specified here are available for use in the `condition` expressions used by detectors that monitor this input.", + "description": "The attributes from the JSON payload that are made available by the input. Inputs are derived from messages sent to the ITE system using ``BatchPutMessage``. Each such message contains a JSON payload, and those attributes (and their paired values) specified here are available for use in the ``condition`` expressions used by detectors that monitor this input.", "minItems": 1, "maxItems": 200, "items": { "$ref": "#/definitions/Attribute" }, - "markdownDescription": "The attributes from the JSON payload that are made available by the input. Inputs are derived from messages sent to the AWS IoT Events system using `BatchPutMessage`. Each such message contains a JSON payload, and those attributes (and their paired values) specified here are available for use in the `condition` expressions used by detectors that monitor this input.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The attributes from the JSON payload that are made available by the input. Inputs are derived from messages sent to the ITE system using ``BatchPutMessage``. Each such message contains a JSON payload, and those attributes (and their paired values) specified here are available for use in the ``condition`` expressions used by detectors that monitor this input.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ @@ -29,47 +29,49 @@ "Attribute": { "type": "object", "additionalProperties": false, - "description": "The attributes from the JSON payload that are made available by the input. Inputs are derived from messages sent to the AWS IoT Events system using `BatchPutMessage`. Each such message contains a JSON payload, and those attributes (and their paired values) specified here are available for use in the `condition` expressions used by detectors that monitor this input.", + "description": "The attributes from the JSON payload that are made available by the input. Inputs are derived from messages sent to the ITE system using ``BatchPutMessage``. Each such message contains a JSON payload. Those attributes (and their paired values) specified here are available for use in the ``condition`` expressions used by detectors.", "properties": { "JsonPath": { - "description": "An expression that specifies an attribute-value pair in a JSON structure. Use this to specify an attribute from the JSON payload that is made available by the input. Inputs are derived from messages sent to AWS IoT Events (`BatchPutMessage`). Each such message contains a JSON payload. The attribute (and its paired value) specified here are available for use in the `condition` expressions used by detectors.\n\n_Syntax_: `....`", + "description": "An expression that specifies an attribute-value pair in a JSON structure. Use this to specify an attribute from the JSON payload that is made available by the input. Inputs are derived from messages sent to ITE (``BatchPutMessage``). Each such message contains a JSON payload. The attribute (and its paired value) specified here are available for use in the ``condition`` expressions used by detectors. \n Syntax: ``....``", "minLength": 1, "maxLength": 128, "type": "string", - "markdownDescription": "An expression that specifies an attribute-value pair in a JSON structure. Use this to specify an attribute from the JSON payload that is made available by the input. Inputs are derived from messages sent to AWS IoT Events (`BatchPutMessage`). Each such message contains a JSON payload. The attribute (and its paired value) specified here are available for use in the `condition` expressions used by detectors.\n\n_Syntax_: `....`\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^((`[a-zA-Z0-9_\\- ]+`)|([a-zA-Z0-9_\\-]+))(\\.((`[a-zA-Z0-9_\\- ]+`)|([a-zA-Z0-9_\\-]+)))*$ \nUpdate requires: No interruption" + "markdownDescription": "An expression that specifies an attribute-value pair in a JSON structure. Use this to specify an attribute from the JSON payload that is made available by the input. Inputs are derived from messages sent to ITE (``BatchPutMessage``). Each such message contains a JSON payload. The attribute (and its paired value) specified here are available for use in the ``condition`` expressions used by detectors. \n Syntax: ``....``\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^((`[a-zA-Z0-9_\\- ]+`)|([a-zA-Z0-9_\\-]+))(\\.((`[a-zA-Z0-9_\\- ]+`)|([a-zA-Z0-9_\\-]+)))*$ \nUpdate requires: No interruption" } }, "required": [ "JsonPath" ], - "markdownDescription": "The attributes from the JSON payload that are made available by the input. Inputs are derived from messages sent to the AWS IoT Events system using `BatchPutMessage`. Each such message contains a JSON payload, and those attributes (and their paired values) specified here are available for use in the `condition` expressions used by detectors that monitor this input.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The attributes from the JSON payload that are made available by the input. Inputs are derived from messages sent to the ITE system using ``BatchPutMessage``. Each such message contains a JSON payload. Those attributes (and their paired values) specified here are available for use in the ``condition`` expressions used by detectors.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { "type": "object", "additionalProperties": false, - "description": "Tags to be applied to Input.", + "description": "Metadata that can be used to manage the resource.", "properties": { "Key": { - "description": "Key of the Tag.", + "description": "The tag's key.", "type": "string", - "markdownDescription": "Key of the Tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The tag's key.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Value": { - "description": "Value of the Tag.", + "description": "The tag's value.", "type": "string", - "markdownDescription": "Value of the Tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The tag's value.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "Value", "Key" ], - "markdownDescription": "Tags to be applied to Input.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Metadata that can be used to manage the resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { "InputDefinition": { - "$ref": "#/definitions/InputDefinition" + "$ref": "#/definitions/InputDefinition", + "description": "The definition of the input.", + "markdownDescription": "The definition of the input.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "InputDescription": { "description": "A brief description of the input.", @@ -89,11 +91,11 @@ "type": "array", "uniqueItems": false, "insertionOrder": false, - "description": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).", + "description": "An array of key-value pairs to apply to this resource.\n For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).", "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "An array of key-value pairs to apply to this resource.\n For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -106,7 +108,6 @@ "createOnlyProperties": [ "/properties/InputName" ], - "taggable": true, "handlers": { "create": { "permissions": [ @@ -143,5 +144,17 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotevents:UntagResource", + "iotevents:TagResource", + "iotevents:ListTagsForResource" + ] + }, "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-iotfleetwise-campaign.json b/server/schema/resources/aws-iotfleetwise-campaign.json index b9d02b02..b2c2ed01 100644 --- a/server/schema/resources/aws-iotfleetwise-campaign.json +++ b/server/schema/resources/aws-iotfleetwise-campaign.json @@ -11,26 +11,6 @@ "default": "OFF", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: OFF | SNAPPY \nUpdate requires: No interruption" }, - "ConditionBasedSignalFetchConfig": { - "type": "object", - "properties": { - "ConditionExpression": { - "type": "string", - "maxLength": 2048, - "minLength": 1, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" - }, - "TriggerMode": { - "$ref": "#/definitions/TriggerMode" - } - }, - "required": [ - "ConditionExpression", - "TriggerMode" - ], - "additionalProperties": false, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "DataDestinationConfig": { "oneOf": [ { @@ -168,6 +148,26 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATING | WAITING_FOR_APPROVAL | RUNNING | SUSPENDED \nUpdate requires: No interruption" }, + "ConditionBasedSignalFetchConfig": { + "type": "object", + "properties": { + "ConditionExpression": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "TriggerMode": { + "$ref": "#/definitions/TriggerMode" + } + }, + "required": [ + "ConditionExpression", + "TriggerMode" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "DiagnosticsMode": { "type": "string", "enum": [ @@ -198,6 +198,9 @@ "type": "number", "minimum": 0, "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "DataPartitionId": { + "$ref": "#/definitions/DataPartitionId" } }, "required": [ @@ -379,18 +382,13 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, "Expression": { - "minLength": 1, - "type": "string", - "maxLength": 2048, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + "$ref": "#/definitions/EventExpression" }, "TriggerMode": { "$ref": "#/definitions/TriggerMode" }, "ConditionLanguageVersion": { - "type": "integer", - "minimum": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "$ref": "#/definitions/LanguageVersion" } }, "required": [ @@ -398,6 +396,150 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "EventExpression": { + "type": "string", + "minLength": 1, + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "LanguageVersion": { + "type": "integer", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "DataPartition": { + "type": "object", + "properties": { + "Id": { + "$ref": "#/definitions/DataPartitionId" + }, + "StorageOptions": { + "$ref": "#/definitions/DataPartitionStorageOptions" + }, + "UploadOptions": { + "$ref": "#/definitions/DataPartitionUploadOptions" + } + }, + "required": [ + "Id", + "StorageOptions" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DataPartitionStorageOptions": { + "type": "object", + "properties": { + "MaximumSize": { + "$ref": "#/definitions/StorageMaximumSize" + }, + "MinimumTimeToLive": { + "$ref": "#/definitions/StorageMinimumTimeToLive" + }, + "StorageLocation": { + "$ref": "#/definitions/StorageLocation" + } + }, + "required": [ + "MaximumSize", + "MinimumTimeToLive", + "StorageLocation" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StorageLocation": { + "type": "string", + "minLength": 1, + "maxLength": 4096, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 4096 \nUpdate requires: No interruption" + }, + "StorageMaximumSize": { + "type": "object", + "properties": { + "Unit": { + "$ref": "#/definitions/StorageMaximumSizeUnit" + }, + "Value": { + "$ref": "#/definitions/StorageMaximumSizeValue" + } + }, + "required": [ + "Unit", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StorageMaximumSizeUnit": { + "type": "string", + "enum": [ + "MB", + "GB", + "TB" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: MB | GB | TB \nUpdate requires: No interruption" + }, + "StorageMaximumSizeValue": { + "type": "integer", + "minimum": 1, + "maximum": 1073741824, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "StorageMinimumTimeToLive": { + "type": "object", + "properties": { + "Unit": { + "$ref": "#/definitions/StorageMinimumTimeToLiveUnit" + }, + "Value": { + "$ref": "#/definitions/StorageMinimumTimeToLiveValue" + } + }, + "required": [ + "Unit", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StorageMinimumTimeToLiveUnit": { + "type": "string", + "enum": [ + "HOURS", + "DAYS", + "WEEKS" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: HOURS | DAYS | WEEKS \nUpdate requires: No interruption" + }, + "StorageMinimumTimeToLiveValue": { + "type": "integer", + "minimum": 1, + "maximum": 10000, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "DataPartitionUploadOptions": { + "type": "object", + "properties": { + "Expression": { + "$ref": "#/definitions/EventExpression" + }, + "ConditionLanguageVersion": { + "$ref": "#/definitions/LanguageVersion" + } + }, + "required": [ + "Expression" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DataPartitionId": { + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9]+$ \nUpdate requires: No interruption" + }, "Tag": { "type": "object", "properties": { @@ -555,6 +697,17 @@ "CollectionScheme": { "$ref": "#/definitions/CollectionScheme" }, + "DataPartitions": { + "type": "array", + "items": { + "$ref": "#/definitions/DataPartition" + }, + "insertionOrder": true, + "uniqueItems": true, + "maxItems": 20, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + }, "Tags": { "type": "array", "items": { @@ -599,7 +752,8 @@ "/properties/Priority", "/properties/Compression", "/properties/StartTime", - "/properties/ExpiryTime" + "/properties/ExpiryTime", + "/properties/DataPartitions" ], "additionalProperties": false, "primaryIdentifier": [ diff --git a/server/schema/resources/aws-iotfleetwise-decodermanifest.json b/server/schema/resources/aws-iotfleetwise-decodermanifest.json index 1a0ce82b..4dbc8291 100644 --- a/server/schema/resources/aws-iotfleetwise-decodermanifest.json +++ b/server/schema/resources/aws-iotfleetwise-decodermanifest.json @@ -1,158 +1,124 @@ { - "tagging": { - "permissions": [ - "iotfleetwise:UntagResource", - "iotfleetwise:TagResource", - "iotfleetwise:ListTagsForResource" - ], - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "tagProperty": "/properties/Tags", - "cloudFormationSystemTags": true - }, - "handlers": { - "read": { - "permissions": [ - "iotfleetwise:GetDecoderManifest", - "iotfleetwise:ListDecoderManifestSignals", - "iotfleetwise:ListDecoderManifestNetworkInterfaces", - "iotfleetwise:ListTagsForResource" - ] - }, - "create": { - "permissions": [ - "iotfleetwise:CreateDecoderManifest", - "iotfleetwise:GetDecoderManifest", - "iotfleetwise:UpdateDecoderManifest", - "iotfleetwise:ListDecoderManifestSignals", - "iotfleetwise:ListDecoderManifestNetworkInterfaces", - "iotfleetwise:ListTagsForResource", - "iotfleetwise:TagResource" - ] - }, - "update": { - "permissions": [ - "iotfleetwise:UpdateDecoderManifest", - "iotfleetwise:GetDecoderManifest", - "iotfleetwise:ListDecoderManifestSignals", - "iotfleetwise:ListDecoderManifestNetworkInterfaces", - "iotfleetwise:ListTagsForResource", - "iotfleetwise:TagResource", - "iotfleetwise:UntagResource" - ] - }, - "list": { - "permissions": [ - "iotfleetwise:ListDecoderManifests" - ] - }, - "delete": { - "permissions": [ - "iotfleetwise:DeleteDecoderManifest", - "iotfleetwise:GetDecoderManifest" - ] - } - }, "typeName": "AWS::IoTFleetWise::DecoderManifest", - "readOnlyProperties": [ - "/properties/Arn", - "/properties/CreationTime", - "/properties/LastModificationTime" - ], "description": "Definition of AWS::IoTFleetWise::DecoderManifest Resource Type", - "createOnlyProperties": [ - "/properties/Name", - "/properties/ModelManifestArn" - ], - "additionalProperties": false, - "primaryIdentifier": [ - "/properties/Name" - ], "definitions": { - "ObdSignal": { - "additionalProperties": false, + "CanInterface": { "type": "object", "properties": { - "BitRightShift": { - "type": [ - "integer", - "string" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: ['integer', 'string'] \nUpdate requires: No interruption" + "Name": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nUpdate requires: No interruption" }, - "BitMaskLength": { + "ProtocolName": { + "type": "string", + "maxLength": 50, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nUpdate requires: No interruption" + }, + "ProtocolVersion": { + "type": "string", + "maxLength": 50, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nUpdate requires: No interruption" + } + }, + "required": [ + "Name" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CanSignal": { + "type": "object", + "properties": { + "MessageId": { "type": [ "integer", "string" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: ['integer', 'string'] \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['integer', 'string'] \nUpdate requires: No interruption" }, - "StartByte": { + "IsBigEndian": { "type": [ - "integer", + "boolean", "string" ], - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['integer', 'string'] \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['boolean', 'string'] \nUpdate requires: No interruption" }, - "ByteLength": { + "IsSigned": { "type": [ - "integer", + "boolean", "string" ], - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['integer', 'string'] \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['boolean', 'string'] \nUpdate requires: No interruption" }, - "PidResponseLength": { + "StartBit": { "type": [ "integer", "string" ], "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['integer', 'string'] \nUpdate requires: No interruption" }, - "Scaling": { + "Offset": { "type": [ "number", "string" ], "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['number', 'string'] \nUpdate requires: No interruption" }, - "Pid": { + "Factor": { "type": [ - "integer", + "number", "string" ], - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['integer', 'string'] \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['number', 'string'] \nUpdate requires: No interruption" }, - "ServiceMode": { + "Length": { "type": [ "integer", "string" ], "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['integer', 'string'] \nUpdate requires: No interruption" }, - "Offset": { - "type": [ - "number", - "string" - ], - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['number', 'string'] \nUpdate requires: No interruption" + "Name": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nUpdate requires: No interruption" } }, "required": [ - "ByteLength", + "Factor", + "IsBigEndian", + "IsSigned", + "Length", + "MessageId", "Offset", - "Pid", - "PidResponseLength", - "Scaling", - "ServiceMode", - "StartByte" + "StartBit" ], + "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ManifestStatus": { + "type": "string", + "enum": [ + "ACTIVE", + "DRAFT" + ], + "default": "DRAFT", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ACTIVE | DRAFT \nUpdate requires: No interruption" + }, "CanNetworkInterface": { - "additionalProperties": false, "type": "object", "properties": { + "InterfaceId": { + "type": "string", + "maxLength": 50, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nUpdate requires: No interruption" + }, "Type": { "type": "string", "enum": [ @@ -162,12 +128,6 @@ }, "CanInterface": { "$ref": "#/definitions/CanInterface" - }, - "InterfaceId": { - "minLength": 1, - "type": "string", - "maxLength": 50, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nUpdate requires: No interruption" } }, "required": [ @@ -175,379 +135,533 @@ "Type", "CanInterface" ], + "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ManifestStatus": { - "default": "DRAFT", - "type": "string", - "enum": [ - "ACTIVE", - "DRAFT" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ACTIVE | DRAFT \nUpdate requires: No interruption" - }, - "ObdSignalDecoder": { - "additionalProperties": false, + "ObdNetworkInterface": { "type": "object", "properties": { + "InterfaceId": { + "type": "string", + "maxLength": 50, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nUpdate requires: No interruption" + }, "Type": { "type": "string", "enum": [ - "OBD_SIGNAL" + "OBD_INTERFACE" ], - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: OBD_SIGNAL \nUpdate requires: No interruption" - }, - "ObdSignal": { - "$ref": "#/definitions/ObdSignal" - }, - "FullyQualifiedName": { - "minLength": 1, - "type": "string", - "maxLength": 150, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 150 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: OBD_INTERFACE \nUpdate requires: No interruption" }, - "InterfaceId": { - "minLength": 1, - "type": "string", - "maxLength": 50, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nUpdate requires: No interruption" + "ObdInterface": { + "$ref": "#/definitions/ObdInterface" } }, "required": [ - "FullyQualifiedName", "InterfaceId", "Type", - "ObdSignal" + "ObdInterface" ], + "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "CanSignalDecoder": { - "additionalProperties": false, + "ObdInterface": { "type": "object", "properties": { - "Type": { + "Name": { "type": "string", - "enum": [ - "CAN_SIGNAL" - ], - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: CAN_SIGNAL \nUpdate requires: No interruption" - }, - "FullyQualifiedName": { + "maxLength": 100, "minLength": 1, - "type": "string", - "maxLength": 150, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 150 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nUpdate requires: No interruption" }, - "CanSignal": { - "$ref": "#/definitions/CanSignal" + "RequestMessageId": { + "type": [ + "integer", + "string" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['integer', 'string'] \nUpdate requires: No interruption" }, - "InterfaceId": { - "minLength": 1, + "ObdStandard": { "type": "string", "maxLength": 50, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nUpdate requires: No interruption" - } - }, - "required": [ - "FullyQualifiedName", - "InterfaceId", - "Type", - "CanSignal" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "CanInterface": { - "additionalProperties": false, - "type": "object", - "properties": { - "ProtocolName": { "minLength": 1, - "type": "string", - "maxLength": 50, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nUpdate requires: No interruption" }, - "ProtocolVersion": { - "minLength": 1, - "type": "string", - "maxLength": 50, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nUpdate requires: No interruption" + "PidRequestIntervalSeconds": { + "type": [ + "integer", + "string" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: ['integer', 'string'] \nUpdate requires: No interruption" }, - "Name": { - "minLength": 1, - "type": "string", - "maxLength": 100, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nUpdate requires: No interruption" - } - }, - "required": [ - "Name" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ObdNetworkInterface": { - "additionalProperties": false, - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "OBD_INTERFACE" + "DtcRequestIntervalSeconds": { + "type": [ + "integer", + "string" ], - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: OBD_INTERFACE \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: ['integer', 'string'] \nUpdate requires: No interruption" }, - "InterfaceId": { - "minLength": 1, - "type": "string", - "maxLength": 50, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nUpdate requires: No interruption" + "UseExtendedIds": { + "type": [ + "boolean", + "string" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: ['boolean', 'string'] \nUpdate requires: No interruption" }, - "ObdInterface": { - "$ref": "#/definitions/ObdInterface" + "HasTransmissionEcu": { + "type": [ + "boolean", + "string" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: ['boolean', 'string'] \nUpdate requires: No interruption" } }, "required": [ - "InterfaceId", - "Type", - "ObdInterface" + "Name", + "RequestMessageId" ], + "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "CanSignal": { - "additionalProperties": false, + "ObdSignal": { "type": "object", "properties": { - "IsBigEndian": { + "PidResponseLength": { "type": [ - "boolean", + "integer", "string" ], - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['boolean', 'string'] \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['integer', 'string'] \nUpdate requires: No interruption" }, - "Length": { + "ServiceMode": { "type": [ "integer", "string" ], "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['integer', 'string'] \nUpdate requires: No interruption" }, - "Factor": { + "Pid": { + "type": [ + "integer", + "string" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['integer', 'string'] \nUpdate requires: No interruption" + }, + "Scaling": { "type": [ "number", "string" ], "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['number', 'string'] \nUpdate requires: No interruption" }, - "IsSigned": { + "Offset": { "type": [ - "boolean", + "number", "string" ], - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['boolean', 'string'] \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['number', 'string'] \nUpdate requires: No interruption" }, - "StartBit": { + "StartByte": { "type": [ "integer", "string" ], "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['integer', 'string'] \nUpdate requires: No interruption" }, - "MessageId": { + "ByteLength": { "type": [ "integer", "string" ], "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['integer', 'string'] \nUpdate requires: No interruption" }, - "Offset": { + "BitRightShift": { "type": [ - "number", + "integer", "string" ], - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['number', 'string'] \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: ['integer', 'string'] \nUpdate requires: No interruption" }, - "Name": { - "minLength": 1, - "type": "string", - "maxLength": 100, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nUpdate requires: No interruption" + "BitMaskLength": { + "type": [ + "integer", + "string" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: ['integer', 'string'] \nUpdate requires: No interruption" } }, "required": [ - "Factor", - "IsBigEndian", - "IsSigned", - "Length", - "MessageId", + "ByteLength", "Offset", - "StartBit" + "Pid", + "PidResponseLength", + "Scaling", + "ServiceMode", + "StartByte" ], + "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Tag": { + "CanSignalDecoder": { + "type": "object", + "properties": { + "FullyQualifiedName": { + "type": "string", + "maxLength": 150, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 150 \nUpdate requires: No interruption" + }, + "Type": { + "type": "string", + "enum": [ + "CAN_SIGNAL" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: CAN_SIGNAL \nUpdate requires: No interruption" + }, + "InterfaceId": { + "type": "string", + "maxLength": 50, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nUpdate requires: No interruption" + }, + "CanSignal": { + "$ref": "#/definitions/CanSignal" + } + }, + "required": [ + "FullyQualifiedName", + "InterfaceId", + "Type", + "CanSignal" + ], "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ObdSignalDecoder": { "type": "object", "properties": { - "Value": { - "minLength": 0, + "FullyQualifiedName": { "type": "string", - "maxLength": 256, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + "maxLength": 150, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 150 \nUpdate requires: No interruption" }, - "Key": { + "Type": { + "type": "string", + "enum": [ + "OBD_SIGNAL" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: OBD_SIGNAL \nUpdate requires: No interruption" + }, + "InterfaceId": { + "type": "string", + "maxLength": 50, "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nUpdate requires: No interruption" + }, + "ObdSignal": { + "$ref": "#/definitions/ObdSignal" + } + }, + "required": [ + "FullyQualifiedName", + "InterfaceId", + "Type", + "ObdSignal" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tag": { + "type": "object", + "properties": { + "Key": { "type": "string", "maxLength": 128, + "minLength": 1, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" } }, "required": [ "Key", "Value" ], + "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ObdInterface": { - "additionalProperties": false, + "CustomDecodingNetworkInterface": { "type": "object", "properties": { - "HasTransmissionEcu": { - "type": [ - "boolean", - "string" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: ['boolean', 'string'] \nUpdate requires: No interruption" + "InterfaceId": { + "type": "string", + "maxLength": 50, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nUpdate requires: No interruption" }, - "PidRequestIntervalSeconds": { - "type": [ - "integer", - "string" + "Type": { + "type": "string", + "enum": [ + "CUSTOM_DECODING_INTERFACE" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: ['integer', 'string'] \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: CUSTOM_DECODING_INTERFACE \nUpdate requires: No interruption" }, - "UseExtendedIds": { - "type": [ - "boolean", - "string" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: ['boolean', 'string'] \nUpdate requires: No interruption" + "CustomDecodingInterface": { + "$ref": "#/definitions/CustomDecodingInterface" + } + }, + "required": [ + "InterfaceId", + "Type", + "CustomDecodingInterface" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CustomDecodingInterface": { + "type": "object", + "properties": { + "Name": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nPattern: ^[a-zA-Z\\d\\-_:]+$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Name" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CustomDecodingSignal": { + "type": "object", + "properties": { + "Id": { + "type": "string", + "maxLength": 150, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 150 \nPattern: ^(?!.*\\.\\.)[a-zA-Z0-9_\\-#:.]+$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Id" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CustomDecodingSignalDecoder": { + "type": "object", + "properties": { + "FullyQualifiedName": { + "type": "string", + "maxLength": 150, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 150 \nUpdate requires: No interruption" }, - "RequestMessageId": { - "type": [ - "integer", - "string" + "Type": { + "type": "string", + "enum": [ + "CUSTOM_DECODING_SIGNAL" ], - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: ['integer', 'string'] \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: CUSTOM_DECODING_SIGNAL \nUpdate requires: No interruption" }, - "ObdStandard": { - "minLength": 1, + "InterfaceId": { "type": "string", "maxLength": 50, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nUpdate requires: No interruption" - }, - "Name": { "minLength": 1, - "type": "string", - "maxLength": 100, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nUpdate requires: No interruption" }, - "DtcRequestIntervalSeconds": { - "type": [ - "integer", - "string" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: ['integer', 'string'] \nUpdate requires: No interruption" + "CustomDecodingSignal": { + "$ref": "#/definitions/CustomDecodingSignal" } }, "required": [ - "Name", - "RequestMessageId" + "FullyQualifiedName", + "InterfaceId", + "Type", + "CustomDecodingSignal" ], + "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DefaultForUnmappedSignalsType": { + "type": "string", + "enum": [ + "CUSTOM_DECODING" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CUSTOM_DECODING \nUpdate requires: No interruption" } }, - "required": [ - "Name", - "ModelManifestArn" - ], "properties": { - "SignalDecoders": { - "minItems": 1, - "maxItems": 5000, + "Description": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^[^\\u0000-\\u001F\\u007F]+$ \nUpdate requires: No interruption" + }, + "ModelManifestArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "Name": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nPattern: ^[a-zA-Z\\d\\-_:]+$ \nUpdate requires: Replacement" + }, + "NetworkInterfaces": { "insertionOrder": false, "type": "array", "items": { "oneOf": [ { - "$ref": "#/definitions/CanSignalDecoder" + "$ref": "#/definitions/CanNetworkInterface" }, { - "$ref": "#/definitions/ObdSignalDecoder" + "$ref": "#/definitions/ObdNetworkInterface" + }, + { + "$ref": "#/definitions/CustomDecodingNetworkInterface" } ] }, + "maxItems": 5000, + "minItems": 1, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Status": { - "$ref": "#/definitions/ManifestStatus" - }, - "Description": { - "minLength": 1, - "type": "string", - "maxLength": 2048, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^[^\\u0000-\\u001F\\u007F]+$ \nUpdate requires: No interruption" - }, - "NetworkInterfaces": { - "minItems": 1, - "maxItems": 5000, + "SignalDecoders": { "insertionOrder": false, "type": "array", "items": { "oneOf": [ { - "$ref": "#/definitions/CanNetworkInterface" + "$ref": "#/definitions/CanSignalDecoder" }, { - "$ref": "#/definitions/ObdNetworkInterface" + "$ref": "#/definitions/ObdSignalDecoder" + }, + { + "$ref": "#/definitions/CustomDecodingSignalDecoder" } ] }, + "maxItems": 5000, + "minItems": 1, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "ModelManifestArn": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "Status": { + "$ref": "#/definitions/ManifestStatus" + }, + "DefaultForUnmappedSignals": { + "$ref": "#/definitions/DefaultForUnmappedSignalsType" }, "Tags": { - "minItems": 0, - "maxItems": 50, - "uniqueItems": true, - "insertionOrder": false, "type": "array", "items": { "$ref": "#/definitions/Tag" }, + "maxItems": 50, + "minItems": 0, + "insertionOrder": false, + "uniqueItems": true, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Name", + "ModelManifestArn" + ], + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationTime", + "/properties/LastModificationTime" + ], + "createOnlyProperties": [ + "/properties/Name", + "/properties/ModelManifestArn" + ], + "writeOnlyProperties": [ + "/properties/DefaultForUnmappedSignals" + ], + "primaryIdentifier": [ + "/properties/Name" + ], + "handlers": { + "create": { + "permissions": [ + "iotfleetwise:CreateDecoderManifest", + "iotfleetwise:GetDecoderManifest", + "iotfleetwise:UpdateDecoderManifest", + "iotfleetwise:ListDecoderManifestSignals", + "iotfleetwise:ListDecoderManifestNetworkInterfaces", + "iotfleetwise:ListTagsForResource", + "iotfleetwise:TagResource" + ] }, - "Name": { - "minLength": 1, - "type": "string", - "maxLength": 100, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nPattern: ^[a-zA-Z\\d\\-_:]+$ \nUpdate requires: Replacement" + "read": { + "permissions": [ + "iotfleetwise:GetDecoderManifest", + "iotfleetwise:ListDecoderManifestSignals", + "iotfleetwise:ListDecoderManifestNetworkInterfaces", + "iotfleetwise:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "iotfleetwise:UpdateDecoderManifest", + "iotfleetwise:GetDecoderManifest", + "iotfleetwise:ListDecoderManifestSignals", + "iotfleetwise:ListDecoderManifestNetworkInterfaces", + "iotfleetwise:ListTagsForResource", + "iotfleetwise:TagResource", + "iotfleetwise:UntagResource" + ] + }, + "delete": { + "permissions": [ + "iotfleetwise:DeleteDecoderManifest", + "iotfleetwise:GetDecoderManifest" + ] + }, + "list": { + "permissions": [ + "iotfleetwise:ListDecoderManifests" + ] } }, + "additionalProperties": false, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotfleetwise:UntagResource", + "iotfleetwise:TagResource", + "iotfleetwise:ListTagsForResource" + ] + }, "attributes": { - "LastModificationTime": { - "format": "date-time", + "Arn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "CreationTime": { - "format": "date-time", "type": "string", + "format": "date-time", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Arn": { + "LastModificationTime": { "type": "string", + "format": "date-time", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } diff --git a/server/schema/resources/aws-iotfleetwise-statetemplate.json b/server/schema/resources/aws-iotfleetwise-statetemplate.json new file mode 100644 index 00000000..8c22dcd7 --- /dev/null +++ b/server/schema/resources/aws-iotfleetwise-statetemplate.json @@ -0,0 +1,184 @@ +{ + "typeName": "AWS::IoTFleetWise::StateTemplate", + "description": "Definition of AWS::IoTFleetWise::StateTemplate Resource Type", + "definitions": { + "Tag": { + "type": "object", + "properties": { + "Key": { + "type": "string", + "maxLength": 128, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Unit": { + "type": "object", + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "Description": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^[^\\u0000-\\u001F\\u007F]+$ \nUpdate requires: No interruption" + }, + "Name": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nPattern: ^[a-zA-Z\\d\\-_:]+$ \nUpdate requires: Replacement" + }, + "SignalCatalogArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "StateTemplateProperties": { + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "maxLength": 150, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 150 \nPattern: ^[a-zA-Z0-9_.]+$ \nUpdate requires: No interruption" + }, + "maxItems": 500, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "DataExtraDimensions": { + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "maxLength": 150, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 150 \nPattern: ^[a-zA-Z0-9_.]+$ \nUpdate requires: No interruption" + }, + "maxItems": 5, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "MetadataExtraDimensions": { + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "maxLength": 150, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 150 \nPattern: ^[a-zA-Z0-9_.]+$ \nUpdate requires: No interruption" + }, + "maxItems": 5, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Tags": { + "type": "array", + "insertionOrder": false, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Name", + "SignalCatalogArn", + "StateTemplateProperties" + ], + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreationTime", + "/properties/LastModificationTime" + ], + "createOnlyProperties": [ + "/properties/Name", + "/properties/SignalCatalogArn" + ], + "primaryIdentifier": [ + "/properties/Name" + ], + "handlers": { + "create": { + "permissions": [ + "iotfleetwise:GetStateTemplate", + "iotfleetwise:CreateStateTemplate", + "iotfleetwise:ListTagsForResource", + "iotfleetwise:TagResource" + ] + }, + "read": { + "permissions": [ + "iotfleetwise:GetStateTemplate", + "iotfleetwise:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "iotfleetwise:UpdateStateTemplate", + "iotfleetwise:GetStateTemplate", + "iotfleetwise:ListTagsForResource", + "iotfleetwise:TagResource", + "iotfleetwise:UntagResource" + ] + }, + "delete": { + "permissions": [ + "iotfleetwise:DeleteStateTemplate", + "iotfleetwise:GetStateTemplate" + ] + }, + "list": { + "permissions": [ + "iotfleetwise:ListStateTemplates" + ] + } + }, + "additionalProperties": false, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotfleetwise:ListTagsForResource", + "iotfleetwise:TagResource", + "iotfleetwise:UntagResource" + ] + }, + "attributes": { + "Arn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CreationTime": { + "type": "string", + "format": "date-time", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "LastModificationTime": { + "type": "string", + "format": "date-time", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-iotsitewise-accesspolicy.json b/server/schema/resources/aws-iotsitewise-accesspolicy.json index 758c498c..f348244f 100644 --- a/server/schema/resources/aws-iotsitewise-accesspolicy.json +++ b/server/schema/resources/aws-iotsitewise-accesspolicy.json @@ -118,7 +118,9 @@ } }, "additionalProperties": false, - "taggable": false, + "tagging": { + "taggable": false + }, "required": [ "AccessPolicyIdentity", "AccessPolicyPermission", @@ -156,7 +158,9 @@ }, "list": { "permissions": [ - "iotsitewise:ListAccessPolicies" + "iotsitewise:ListAccessPolicies", + "iotsitewise:ListProjects", + "iotsitewise:ListPortals" ] } }, diff --git a/server/schema/resources/aws-iotsitewise-dashboard.json b/server/schema/resources/aws-iotsitewise-dashboard.json index e0eb0984..03fee777 100644 --- a/server/schema/resources/aws-iotsitewise-dashboard.json +++ b/server/schema/resources/aws-iotsitewise-dashboard.json @@ -57,7 +57,18 @@ } }, "additionalProperties": false, - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotsitewise:TagResource", + "iotsitewise:UntagResource", + "iotsitewise:ListTagsForResource" + ] + }, "required": [ "DashboardDefinition", "DashboardDescription", @@ -118,7 +129,8 @@ }, "list": { "permissions": [ - "iotsitewise:ListDashboards" + "iotsitewise:ListDashboards", + "iotsitewise:ListTagsForResource" ] } }, diff --git a/server/schema/resources/aws-iotsitewise-gateway.json b/server/schema/resources/aws-iotsitewise-gateway.json index 26b7b5a5..9936d149 100644 --- a/server/schema/resources/aws-iotsitewise-gateway.json +++ b/server/schema/resources/aws-iotsitewise-gateway.json @@ -1,68 +1,98 @@ { + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-IoTSiteWise.git", + "tagging": { + "permissions": [ + "iotsitewise:TagResource", + "iotsitewise:UntagResource", + "iotsitewise:ListTagsForResource" + ], + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": true + }, + "handlers": { + "read": { + "permissions": [ + "iotsitewise:DescribeGateway", + "iotsitewise:DescribeGatewayCapabilityConfiguration", + "iotsitewise:ListTagsForResource" + ] + }, + "create": { + "permissions": [ + "iotsitewise:CreateGateway", + "iotsitewise:DescribeGateway", + "iotsitewise:DescribeGatewayCapabilityConfiguration", + "iotsitewise:UpdateGatewayCapabilityConfiguration", + "iam:PassRole", + "iam:GetRole", + "greengrass:GetCoreDevice", + "iotsitewise:ListTagsForResource", + "iotsitewise:TagResource", + "iot:DescribeThing" + ] + }, + "update": { + "permissions": [ + "iotsitewise:UpdateGateway", + "iotsitewise:UpdateGatewayCapabilityConfiguration", + "iotsitewise:TagResource", + "iotsitewise:UntagResource", + "iotsitewise:DescribeGateway", + "iotsitewise:DescribeGatewayCapabilityConfiguration", + "iotsitewise:ListTagsForResource" + ] + }, + "list": { + "permissions": [ + "iotsitewise:ListGateways", + "iotsitewise:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "iotsitewise:DescribeGateway", + "iotsitewise:DescribeGatewayCapabilityConfiguration", + "iotsitewise:DeleteGateway" + ] + } + }, "typeName": "AWS::IoTSiteWise::Gateway", + "readOnlyProperties": [ + "/properties/GatewayId" + ], "description": "Resource schema for AWS::IoTSiteWise::Gateway", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-IoTSiteWise.git", + "createOnlyProperties": [ + "/properties/GatewayPlatform" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/GatewayId" + ], "definitions": { - "GatewayPlatform": { - "description": "Contains a gateway's platform information.", - "type": "object", + "GatewayCapabilitySummary": { + "description": "Contains a summary of a gateway capability configuration.", "additionalProperties": false, - "properties": { - "Greengrass": { - "description": "A gateway that runs on AWS IoT Greengrass V1.", - "$ref": "#/definitions/Greengrass", - "markdownDescription": "A gateway that runs on AWS IoT Greengrass V1.\n\n---\n\nRequired: Conditional \nType: \nUpdate requires: No interruption" - }, - "GreengrassV2": { - "description": "A gateway that runs on AWS IoT Greengrass V2.", - "$ref": "#/definitions/GreengrassV2", - "markdownDescription": "A gateway that runs on AWS IoT Greengrass V2.\n\n---\n\nRequired: Conditional \nType: \nUpdate requires: No interruption" - }, - "SiemensIE": { - "description": "A gateway that runs on Siemens Industrial Edge.", - "$ref": "#/definitions/SiemensIE", - "markdownDescription": "A gateway that runs on Siemens Industrial Edge.\n\n---\n\nRequired: Conditional \nType: \nUpdate requires: No interruption" - } - }, - "oneOf": [ - { - "required": [ - "Greengrass" - ] - }, - { - "required": [ - "GreengrassV2" - ] - }, - { - "required": [ - "SiemensIE" - ] - } - ], - "markdownDescription": "Contains a gateway's platform information.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Greengrass": { - "description": "Contains the ARN of AWS IoT Greengrass Group V1 that the gateway runs on.", "type": "object", - "additionalProperties": false, "properties": { - "GroupArn": { - "description": "The ARN of the Greengrass group.", - "type": "string", - "markdownDescription": "The ARN of the Greengrass group.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "CapabilityNamespace": { + "$ref": "#/definitions/CapabilityNamespace" + }, + "CapabilityConfiguration": { + "$ref": "#/definitions/CapabilityConfiguration" } }, "required": [ - "GroupArn" + "CapabilityNamespace" ], - "markdownDescription": "Contains the ARN of AWS IoT Greengrass Group V1 that the gateway runs on.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Contains a summary of a gateway capability configuration.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "GreengrassV2": { "description": "Contains the CoreDeviceThingName of AWS IoT Greengrass Group V2 that the gateway runs on.", - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "CoreDeviceThingName": { "description": "The name of the CoreDevice in GreenGrass V2.", @@ -75,32 +105,82 @@ ], "markdownDescription": "Contains the CoreDeviceThingName of AWS IoT Greengrass Group V2 that the gateway runs on.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "SiemensIE": { - "description": "Contains the IotCoreThingName of AWS IoT Thing that the gateway runs on.", - "type": "object", + "CapabilityNamespace": { + "description": "The namespace of the capability configuration.", + "type": "string", + "markdownDescription": "The namespace of the capability configuration.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Greengrass": { + "description": "Contains the ARN of AWS IoT Greengrass Group V1 that the gateway runs on.", "additionalProperties": false, + "type": "object", "properties": { - "IotCoreThingName": { - "description": "The name of the IoT Core Thing.", + "GroupArn": { + "description": "The ARN of the Greengrass group.", "type": "string", - "markdownDescription": "The name of the IoT Core Thing.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the Greengrass group.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "IotCoreThingName" + "GroupArn" ], - "markdownDescription": "Contains the IotCoreThingName of AWS IoT Thing that the gateway runs on.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Contains the ARN of AWS IoT Greengrass Group V1 that the gateway runs on.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CapabilityConfiguration": { + "description": "The JSON document that defines the gateway capability's configuration.", + "type": "string", + "markdownDescription": "The JSON document that defines the gateway capability's configuration.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "GatewayPlatform": { + "oneOf": [ + { + "required": [ + "Greengrass" + ] + }, + { + "required": [ + "GreengrassV2" + ] + }, + { + "required": [ + "SiemensIE" + ] + } + ], + "description": "Contains a gateway's platform information.", + "additionalProperties": false, + "type": "object", + "properties": { + "GreengrassV2": { + "description": "A gateway that runs on AWS IoT Greengrass V2.", + "$ref": "#/definitions/GreengrassV2", + "markdownDescription": "A gateway that runs on AWS IoT Greengrass V2.\n\n---\n\nRequired: Conditional \nType: \nUpdate requires: No interruption" + }, + "Greengrass": { + "description": "A gateway that runs on AWS IoT Greengrass V1.", + "$ref": "#/definitions/Greengrass", + "markdownDescription": "A gateway that runs on AWS IoT Greengrass V1.\n\n---\n\nRequired: Conditional \nType: \nUpdate requires: No interruption" + }, + "SiemensIE": { + "description": "A gateway that runs on Siemens Industrial Edge.", + "$ref": "#/definitions/SiemensIE", + "markdownDescription": "A gateway that runs on Siemens Industrial Edge.\n\n---\n\nRequired: Conditional \nType: \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Contains a gateway's platform information.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { "description": "To add or update tag, provide both key and value. To delete tag, provide only tag key to be deleted", - "type": "object", "additionalProperties": false, + "type": "object", "properties": { - "Key": { + "Value": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "Value": { + "Key": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } @@ -111,35 +191,38 @@ ], "markdownDescription": "To add or update tag, provide both key and value. To delete tag, provide only tag key to be deleted\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "CapabilityNamespace": { - "description": "The namespace of the capability configuration.", - "type": "string", - "markdownDescription": "The namespace of the capability configuration.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "CapabilityConfiguration": { - "description": "The JSON document that defines the gateway capability's configuration.", - "type": "string", - "markdownDescription": "The JSON document that defines the gateway capability's configuration.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "GatewayCapabilitySummary": { - "description": "Contains a summary of a gateway capability configuration.", - "type": "object", + "SiemensIE": { + "description": "Contains the IotCoreThingName of AWS IoT Thing that the gateway runs on.", "additionalProperties": false, + "type": "object", "properties": { - "CapabilityNamespace": { - "$ref": "#/definitions/CapabilityNamespace" - }, - "CapabilityConfiguration": { - "$ref": "#/definitions/CapabilityConfiguration" + "IotCoreThingName": { + "description": "The name of the IoT Core Thing.", + "type": "string", + "markdownDescription": "The name of the IoT Core Thing.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "CapabilityNamespace" + "IotCoreThingName" ], - "markdownDescription": "Contains a summary of a gateway capability configuration.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Contains the IotCoreThingName of AWS IoT Thing that the gateway runs on.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "required": [ + "GatewayName", + "GatewayPlatform" + ], "properties": { + "GatewayCapabilitySummaries": { + "uniqueItems": true, + "description": "A list of gateway capability summaries that each contain a namespace and status.", + "insertionOrder": true, + "type": "array", + "items": { + "$ref": "#/definitions/GatewayCapabilitySummary" + }, + "markdownDescription": "A list of gateway capability summaries that each contain a namespace and status.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "GatewayName": { "description": "A unique, friendly name for the gateway.", "type": "string", @@ -151,85 +234,14 @@ "markdownDescription": "The gateway's platform. You can only specify one platform in a gateway.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: Replacement" }, "Tags": { - "description": "A list of key-value pairs that contain metadata for the gateway.", - "type": "array", "uniqueItems": false, + "description": "A list of key-value pairs that contain metadata for the gateway.", "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/Tag" }, "markdownDescription": "A list of key-value pairs that contain metadata for the gateway.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "GatewayCapabilitySummaries": { - "description": "A list of gateway capability summaries that each contain a namespace and status.", - "type": "array", - "uniqueItems": true, - "insertionOrder": true, - "items": { - "$ref": "#/definitions/GatewayCapabilitySummary" - }, - "markdownDescription": "A list of gateway capability summaries that each contain a namespace and status.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "taggable": true, - "required": [ - "GatewayName", - "GatewayPlatform" - ], - "readOnlyProperties": [ - "/properties/GatewayId" - ], - "createOnlyProperties": [ - "/properties/GatewayPlatform" - ], - "primaryIdentifier": [ - "/properties/GatewayId" - ], - "handlers": { - "create": { - "permissions": [ - "iotsitewise:CreateGateway", - "iotsitewise:DescribeGateway", - "iotsitewise:DescribeGatewayCapabilityConfiguration", - "iotsitewise:UpdateGatewayCapabilityConfiguration", - "iam:PassRole", - "iam:GetRole", - "greengrass:GetCoreDevice", - "iotsitewise:ListTagsForResource", - "iotsitewise:TagResource", - "iot:DescribeThing" - ] - }, - "read": { - "permissions": [ - "iotsitewise:DescribeGateway", - "iotsitewise:DescribeGatewayCapabilityConfiguration", - "iotsitewise:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "iotsitewise:UpdateGateway", - "iotsitewise:UpdateGatewayCapabilityConfiguration", - "iotsitewise:TagResource", - "iotsitewise:UntagResource", - "iotsitewise:DescribeGateway", - "iotsitewise:DescribeGatewayCapabilityConfiguration", - "iotsitewise:ListTagsForResource" - ] - }, - "delete": { - "permissions": [ - "iotsitewise:DescribeGateway", - "iotsitewise:DescribeGatewayCapabilityConfiguration", - "iotsitewise:DeleteGateway" - ] - }, - "list": { - "permissions": [ - "iotsitewise:ListGateways" - ] } }, "attributes": { diff --git a/server/schema/resources/aws-iotsitewise-portal.json b/server/schema/resources/aws-iotsitewise-portal.json index 07f8a252..9ede8a36 100644 --- a/server/schema/resources/aws-iotsitewise-portal.json +++ b/server/schema/resources/aws-iotsitewise-portal.json @@ -3,6 +3,40 @@ "description": "Resource schema for AWS::IoTSiteWise::Portal", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-iotsitewise.git", "definitions": { + "PortalTypeEntry": { + "description": "Container associated a certain PortalType.", + "type": "object", + "additionalProperties": false, + "properties": { + "PortalTools": { + "$ref": "#/definitions/PortalTools" + } + }, + "required": [ + "PortalTools" + ], + "markdownDescription": "Container associated a certain PortalType.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PortalTools": { + "description": "List of enabled Tools for a certain portal.", + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "List of enabled Tools for a certain portal.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "PortalTypeConfiguration": { + "description": "Map to associate detail of configuration related with a PortalType.", + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^[a-z][a-zA-Z0-9_]*$": { + "$ref": "#/definitions/PortalTypeEntry" + } + }, + "markdownDescription": "Map to associate detail of configuration related with a PortalType.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "Tag": { "description": "To add or update tag, provide both key and value. To delete tag, provide only tag key to be deleted.", "type": "object", @@ -45,6 +79,18 @@ "type": "string", "markdownDescription": "A friendly name for the portal.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, + "PortalType": { + "description": "The type of portal", + "type": "string", + "enum": [ + "SITEWISE_PORTAL_V1", + "SITEWISE_PORTAL_V2" + ], + "markdownDescription": "The type of portal\n\n---\n\nRequired: No \nType: String \nAllowed Values: SITEWISE_PORTAL_V1 | SITEWISE_PORTAL_V2 \nUpdate requires: Replacement" + }, + "PortalTypeConfiguration": { + "$ref": "#/definitions/PortalTypeConfiguration" + }, "RoleArn": { "description": "The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf.", "type": "string", @@ -85,14 +131,26 @@ } }, "additionalProperties": false, - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotsitewise:TagResource", + "iotsitewise:UntagResource", + "iotsitewise:ListTagsForResource" + ] + }, "required": [ "PortalContactEmail", "PortalName", "RoleArn" ], "createOnlyProperties": [ - "/properties/PortalAuthMode" + "/properties/PortalAuthMode", + "/properties/PortalType" ], "readOnlyProperties": [ "/properties/PortalArn", @@ -108,9 +166,6 @@ "/properties/PortalArn" ] ], - "writeOnlyProperties": [ - "/properties/Tags" - ], "handlers": { "create": { "permissions": [ @@ -150,7 +205,8 @@ }, "list": { "permissions": [ - "iotsitewise:ListPortals" + "iotsitewise:ListPortals", + "iotsitewise:ListTagsForResource" ] } }, diff --git a/server/schema/resources/aws-iotsitewise-project.json b/server/schema/resources/aws-iotsitewise-project.json index 224b2751..5aa48475 100644 --- a/server/schema/resources/aws-iotsitewise-project.json +++ b/server/schema/resources/aws-iotsitewise-project.json @@ -66,7 +66,18 @@ } }, "additionalProperties": false, - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotsitewise:TagResource", + "iotsitewise:UntagResource", + "iotsitewise:ListTagsForResource" + ] + }, "required": [ "PortalId", "ProjectName" @@ -119,7 +130,8 @@ }, "list": { "permissions": [ - "iotsitewise:ListProjects" + "iotsitewise:ListProjects", + "iotsitewise:ListTagsForResource" ] } }, diff --git a/server/schema/resources/aws-iottwinmaker-componenttype.json b/server/schema/resources/aws-iottwinmaker-componenttype.json index a866a535..341dba63 100644 --- a/server/schema/resources/aws-iottwinmaker-componenttype.json +++ b/server/schema/resources/aws-iottwinmaker-componenttype.json @@ -499,7 +499,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "iottwinmaker:TagResource", + "iottwinmaker:UntagResource", + "iottwinmaker:ListTagsForResource" + ] }, "required": [ "WorkspaceId", diff --git a/server/schema/resources/aws-iottwinmaker-entity.json b/server/schema/resources/aws-iottwinmaker-entity.json index 2ad60707..8ea748c0 100644 --- a/server/schema/resources/aws-iottwinmaker-entity.json +++ b/server/schema/resources/aws-iottwinmaker-entity.json @@ -541,7 +541,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "iottwinmaker:TagResource", + "iottwinmaker:UntagResource", + "iottwinmaker:ListTagsForResource" + ] }, "required": [ "WorkspaceId", diff --git a/server/schema/resources/aws-iottwinmaker-scene.json b/server/schema/resources/aws-iottwinmaker-scene.json index e33ed334..ed1aa072 100644 --- a/server/schema/resources/aws-iottwinmaker-scene.json +++ b/server/schema/resources/aws-iottwinmaker-scene.json @@ -90,7 +90,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "iottwinmaker:TagResource", + "iottwinmaker:UntagResource", + "iottwinmaker:ListTagsForResource" + ] }, "required": [ "WorkspaceId", diff --git a/server/schema/resources/aws-iottwinmaker-syncjob.json b/server/schema/resources/aws-iottwinmaker-syncjob.json index 83d8ca37..a946ea4b 100644 --- a/server/schema/resources/aws-iottwinmaker-syncjob.json +++ b/server/schema/resources/aws-iottwinmaker-syncjob.json @@ -73,7 +73,12 @@ "tagOnCreate": true, "tagUpdatable": false, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "iottwinmaker:TagResource", + "iottwinmaker:UntagResource", + "iottwinmaker:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-iottwinmaker-workspace.json b/server/schema/resources/aws-iottwinmaker-workspace.json index 70d70242..48c435e5 100644 --- a/server/schema/resources/aws-iottwinmaker-workspace.json +++ b/server/schema/resources/aws-iottwinmaker-workspace.json @@ -57,7 +57,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "iottwinmaker:TagResource", + "iottwinmaker:UntagResource", + "iottwinmaker:ListTagsForResource" + ] }, "required": [ "WorkspaceId", diff --git a/server/schema/resources/aws-iotwireless-destination.json b/server/schema/resources/aws-iotwireless-destination.json index 4a043c93..9b27df86 100644 --- a/server/schema/resources/aws-iotwireless-destination.json +++ b/server/schema/resources/aws-iotwireless-destination.json @@ -85,14 +85,24 @@ "primaryIdentifier": [ "/properties/Name" ], - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ "iam:PassRole", "iotwireless:CreateDestination", - "iotwireless:TagResource", - "iotwireless:ListTagsForResource" + "iotwireless:TagResource" ] }, "read": { @@ -104,9 +114,10 @@ "update": { "permissions": [ "iam:PassRole", + "iotwireless:GetDestination", "iotwireless:UpdateDestination", "iotwireless:UntagResource", - "iotwireless:ListTagsForResource" + "iotwireless:TagResource" ] }, "delete": { diff --git a/server/schema/resources/aws-iotwireless-deviceprofile.json b/server/schema/resources/aws-iotwireless-deviceprofile.json index 5b623809..ef7b0857 100644 --- a/server/schema/resources/aws-iotwireless-deviceprofile.json +++ b/server/schema/resources/aws-iotwireless-deviceprofile.json @@ -146,12 +146,12 @@ "description": "Name of service profile", "type": "string", "maxLength": 256, - "markdownDescription": "Name of service profile\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + "markdownDescription": "Name of service profile\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: Replacement" }, "LoRaWAN": { "description": "LoRaWANDeviceProfile supports all LoRa specific attributes for service profile for CreateDeviceProfile operation", "$ref": "#/definitions/LoRaWANDeviceProfile", - "markdownDescription": "LoRaWANDeviceProfile supports all LoRa specific attributes for service profile for CreateDeviceProfile operation\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "LoRaWANDeviceProfile supports all LoRa specific attributes for service profile for CreateDeviceProfile operation\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" }, "Tags": { "description": "A list of key-value pairs that contain metadata for the device profile.", @@ -171,16 +171,37 @@ "/properties/Arn", "/properties/Id" ], + "createOnlyProperties": [ + "/properties/Name", + "/properties/LoRaWAN" + ], "primaryIdentifier": [ "/properties/Id" ], - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ "iotwireless:CreateDeviceProfile", + "iotwireless:TagResource" + ] + }, + "update": { + "permissions": [ + "iotwireless:GetDeviceProfile", "iotwireless:TagResource", - "iotwireless:ListTagsForResource" + "iotwireless:UntagResource" ] }, "read": { diff --git a/server/schema/resources/aws-iotwireless-fuotatask.json b/server/schema/resources/aws-iotwireless-fuotatask.json index 5bc17625..10881925 100644 --- a/server/schema/resources/aws-iotwireless-fuotatask.json +++ b/server/schema/resources/aws-iotwireless-fuotatask.json @@ -2,7 +2,18 @@ "typeName": "AWS::IoTWireless::FuotaTask", "description": "Create and manage FUOTA tasks.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] + }, "definitions": { "Tag": { "type": "object", @@ -135,7 +146,6 @@ "permissions": [ "iotwireless:CreateFuotaTask", "iotwireless:TagResource", - "iotwireless:ListTagsForResource", "iam:GetRole", "iam:PassRole" ] @@ -150,8 +160,9 @@ "permissions": [ "iam:PassRole", "iotwireless:UpdateFuotaTask", + "iotwireless:GetFuotaTask", + "iotwireless:TagResource", "iotwireless:UntagResource", - "iotwireless:ListTagsForResource", "iotwireless:AssociateMulticastGroupWithFuotaTask", "iotwireless:DisassociateMulticastGroupFromFuotaTask", "iotwireless:AssociateWirelessDeviceWithFuotaTask", diff --git a/server/schema/resources/aws-iotwireless-multicastgroup.json b/server/schema/resources/aws-iotwireless-multicastgroup.json index d36ab0a7..953c671a 100644 --- a/server/schema/resources/aws-iotwireless-multicastgroup.json +++ b/server/schema/resources/aws-iotwireless-multicastgroup.json @@ -2,7 +2,18 @@ "typeName": "AWS::IoTWireless::MulticastGroup", "description": "Create and manage Multicast groups.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] + }, "definitions": { "Tag": { "type": "object", @@ -119,8 +130,7 @@ "create": { "permissions": [ "iotwireless:CreateMulticastGroup", - "iotwireless:TagResource", - "iotwireless:ListTagsForResource" + "iotwireless:TagResource" ] }, "read": { @@ -132,8 +142,9 @@ "update": { "permissions": [ "iotwireless:UpdateMulticastGroup", + "iotwireless:GetMulticastGroup", + "iotwireless:TagResource", "iotwireless:UntagResource", - "iotwireless:ListTagsForResource", "iotwireless:AssociateWirelessDeviceWithMulticastGroup", "iotwireless:DisassociateWirelessDeviceFromMulticastGroup" ] diff --git a/server/schema/resources/aws-iotwireless-networkanalyzerconfiguration.json b/server/schema/resources/aws-iotwireless-networkanalyzerconfiguration.json index ac078d8f..132d56b8 100644 --- a/server/schema/resources/aws-iotwireless-networkanalyzerconfiguration.json +++ b/server/schema/resources/aws-iotwireless-networkanalyzerconfiguration.json @@ -105,16 +105,21 @@ "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "additionalProperties": false, "tagging": { "taggable": true, "tagOnCreate": true, - "tagUpdatable": false, + "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] }, "required": [ "Name" @@ -123,8 +128,7 @@ "/properties/Arn" ], "createOnlyProperties": [ - "/properties/Name", - "/properties/Tags" + "/properties/Name" ], "primaryIdentifier": [ "/properties/Name" @@ -133,8 +137,7 @@ "create": { "permissions": [ "iotwireless:CreateNetworkAnalyzerConfiguration", - "iotwireless:TagResource", - "iotwireless:ListTagsForResource" + "iotwireless:TagResource" ] }, "read": { @@ -146,8 +149,9 @@ "update": { "permissions": [ "iotwireless:UpdateNetworkAnalyzerConfiguration", - "iotwireless:UntagResource", - "iotwireless:ListTagsForResource" + "iotwireless:GetNetworkAnalyzerConfiguration", + "iotwireless:TagResource", + "iotwireless:UntagResource" ] }, "delete": { diff --git a/server/schema/resources/aws-iotwireless-partneraccount.json b/server/schema/resources/aws-iotwireless-partneraccount.json index aa00a091..5e550b93 100644 --- a/server/schema/resources/aws-iotwireless-partneraccount.json +++ b/server/schema/resources/aws-iotwireless-partneraccount.json @@ -136,13 +136,24 @@ "primaryIdentifier": [ "/properties/PartnerAccountId" ], - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ "iotwireless:AssociateAwsAccountWithPartnerAccount", "iotwireless:TagResource", - "iotwireless:ListTagsForResource" + "iotwireless:GetPartnerAccount" ] }, "read": { @@ -159,9 +170,12 @@ }, "update": { "permissions": [ + "iotwireless:GetPartnerAccount", + "iotwireless:AssociateAwsAccountWithPartnerAccount", "iotwireless:UpdatePartnerAccount", - "iotwireless:UntagResource", - "iotwireless:ListTagsForResource" + "iotwireless:ListTagsForResource", + "iotwireless:TagResource", + "iotwireless:UntagResource" ] }, "delete": { diff --git a/server/schema/resources/aws-iotwireless-serviceprofile.json b/server/schema/resources/aws-iotwireless-serviceprofile.json index d53fc51b..bd1f447d 100644 --- a/server/schema/resources/aws-iotwireless-serviceprofile.json +++ b/server/schema/resources/aws-iotwireless-serviceprofile.json @@ -111,12 +111,12 @@ "description": "Name of service profile", "type": "string", "maxLength": 256, - "markdownDescription": "Name of service profile\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + "markdownDescription": "Name of service profile\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: Replacement" }, "LoRaWAN": { "description": "LoRaWAN supports all LoRa specific attributes for service profile for CreateServiceProfile operation", "$ref": "#/definitions/LoRaWANServiceProfile", - "markdownDescription": "LoRaWAN supports all LoRa specific attributes for service profile for CreateServiceProfile operation\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "LoRaWAN supports all LoRa specific attributes for service profile for CreateServiceProfile operation\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" }, "Tags": { "description": "A list of key-value pairs that contain metadata for the service profile.", @@ -152,16 +152,37 @@ "/properties/LoRaWAN/TargetPer", "/properties/LoRaWAN/MinGwDiversity" ], + "createOnlyProperties": [ + "/properties/Name", + "/properties/LoRaWAN" + ], "primaryIdentifier": [ "/properties/Id" ], - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ "iotwireless:CreateServiceProfile", + "iotwireless:TagResource" + ] + }, + "update": { + "permissions": [ + "iotwireless:GetServiceProfile", "iotwireless:TagResource", - "iotwireless:ListTagsForResource" + "iotwireless:UntagResource" ] }, "read": { diff --git a/server/schema/resources/aws-iotwireless-taskdefinition.json b/server/schema/resources/aws-iotwireless-taskdefinition.json index c79899ab..befc0988 100644 --- a/server/schema/resources/aws-iotwireless-taskdefinition.json +++ b/server/schema/resources/aws-iotwireless-taskdefinition.json @@ -161,17 +161,34 @@ "primaryIdentifier": [ "/properties/Id" ], - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ "iotwireless:CreateWirelessGatewayTaskDefinition", "iotwireless:TagResource", - "iotwireless:ListTagsForResource", "iam:GetRole", "iam:PassRole" ] }, + "update": { + "permissions": [ + "iotwireless:GetWirelessGatewayTaskDefinition", + "iotwireless:TagResource", + "iotwireless:UntagResource" + ] + }, "read": { "permissions": [ "iotwireless:GetWirelessGatewayTaskDefinition", @@ -184,6 +201,13 @@ ] }, "list": { + "handlerSchema": { + "properties": { + "TaskDefinitionType": { + "$ref": "#/properties/TaskDefinitionType" + } + } + }, "permissions": [ "iotwireless:ListWirelessGatewayTaskDefinitions", "iotwireless:ListTagsForResource" diff --git a/server/schema/resources/aws-iotwireless-wirelessdevice.json b/server/schema/resources/aws-iotwireless-wirelessdevice.json index 795c3ce9..7a87016f 100644 --- a/server/schema/resources/aws-iotwireless-wirelessdevice.json +++ b/server/schema/resources/aws-iotwireless-wirelessdevice.json @@ -334,13 +334,23 @@ "primaryIdentifier": [ "/properties/Id" ], - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ "iotwireless:CreateWirelessDevice", - "iotwireless:TagResource", - "iotwireless:ListTagsForResource" + "iotwireless:TagResource" ] }, "read": { @@ -352,9 +362,10 @@ "update": { "permissions": [ "iotwireless:UpdateWirelessDevice", - "iotwireless:UntagResource", - "iotwireless:ListTagsForResource", - "iotwireless:AssociateWirelessDeviceWithThing" + "iotwireless:GetWirelessDevice", + "iotwireless:AssociateWirelessDeviceWithThing", + "iotwireless:TagResource", + "iotwireless:UntagResource" ] }, "delete": { diff --git a/server/schema/resources/aws-iotwireless-wirelessdeviceimporttask.json b/server/schema/resources/aws-iotwireless-wirelessdeviceimporttask.json index 33bc605b..9e8c4a47 100644 --- a/server/schema/resources/aws-iotwireless-wirelessdeviceimporttask.json +++ b/server/schema/resources/aws-iotwireless-wirelessdeviceimporttask.json @@ -61,12 +61,12 @@ "SidewalkManufacturingSn": { "type": "string", "maxLength": 64, - "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: String \nMaximum Length: 64 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 64 \nUpdate requires: No interruption" }, "DeviceCreationFile": { "type": "string", "maxLength": 1024, - "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" }, "DeviceCreationFileList": { "$ref": "#/definitions/DeviceCreationFileList" @@ -75,27 +75,6 @@ "$ref": "#/definitions/Role" } }, - "oneOf": [ - { - "allOf": [ - { - "required": [ - "DeviceCreationFile" - ] - }, - { - "required": [ - "Role" - ] - } - ] - }, - { - "required": [ - "SidewalkManufacturingSn" - ] - } - ], "markdownDescription": "sidewalk contain file for created device and role\n\n---\n\nRequired: Yes \nUpdate requires: No interruption" }, "Tags": { @@ -113,9 +92,14 @@ "tagging": { "taggable": true, "tagOnCreate": true, - "tagUpdatable": false, - "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] }, "required": [ "DestinationName", @@ -146,7 +130,6 @@ "iotwireless:StartWirelessDeviceImportTask", "iotwireless:StartSingleWirelessDeviceImportTask", "iotwireless:TagResource", - "iotwireless:ListTagsForResource", "iam:PassRole" ] }, @@ -158,9 +141,10 @@ }, "update": { "permissions": [ + "iotwireless:GetWirelessDeviceImportTask", "iotwireless:UpdateWirelessDeviceImportTask", + "iotwireless:TagResource", "iotwireless:UntagResource", - "iotwireless:ListTagsForResource", "iam:PassRole" ] }, diff --git a/server/schema/resources/aws-iotwireless-wirelessgateway.json b/server/schema/resources/aws-iotwireless-wirelessgateway.json index 3ac98ebf..04daab31 100644 --- a/server/schema/resources/aws-iotwireless-wirelessgateway.json +++ b/server/schema/resources/aws-iotwireless-wirelessgateway.json @@ -99,13 +99,23 @@ "primaryIdentifier": [ "/properties/Id" ], - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ "iotwireless:CreateWirelessGateway", - "iotwireless:TagResource", - "iotwireless:ListTagsForResource" + "iotwireless:TagResource" ] }, "read": { @@ -116,10 +126,11 @@ }, "update": { "permissions": [ + "iotwireless:GetWirelessGateway", "iotwireless:UpdateWirelessGateway", - "iotwireless:UntagResource", - "iotwireless:ListTagsForResource", - "iotwireless:AssociateWirelessGatewayWithThing" + "iotwireless:AssociateWirelessGatewayWithThing", + "iotwireless:TagResource", + "iotwireless:UntagResource" ] }, "delete": { diff --git a/server/schema/resources/aws-ivs-encoderconfiguration.json b/server/schema/resources/aws-ivs-encoderconfiguration.json index e144776b..67894caf 100644 --- a/server/schema/resources/aws-ivs-encoderconfiguration.json +++ b/server/schema/resources/aws-ivs-encoderconfiguration.json @@ -53,20 +53,20 @@ "markdownDescription": "Video frame rate, in fps. Default: 30.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, "Height": { - "description": "Video-resolution height. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 720.", + "description": "Video-resolution height. This must be an even number. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 720.", "type": "integer", - "minimum": 1, + "minimum": 2, "maximum": 1920, "default": 720, - "markdownDescription": "Video-resolution height. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 720.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "Video-resolution height. This must be an even number. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 720.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Width": { - "description": "Video-resolution width. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 1280.", + "description": "Video-resolution width. This must be an even number. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 1280.", "type": "integer", - "minimum": 1, + "minimum": 2, "maximum": 1920, "default": 1280, - "markdownDescription": "Video-resolution width. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 1280.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "Video-resolution width. This must be an even number. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 1280.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "markdownDescription": "Video configuration. Default: video resolution 1280x720, bitrate 2500 kbps, 30 fps\n\n---\n\nRequired: No \nUpdate requires: Replacement" diff --git a/server/schema/resources/aws-ivs-ingestconfiguration.json b/server/schema/resources/aws-ivs-ingestconfiguration.json new file mode 100644 index 00000000..97de6ee5 --- /dev/null +++ b/server/schema/resources/aws-ivs-ingestconfiguration.json @@ -0,0 +1,178 @@ +{ + "typeName": "AWS::IVS::IngestConfiguration", + "description": "Resource Type definition for AWS::IVS::IngestConfiguration", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": { + "Tag": { + "type": "object", + "additionalProperties": false, + "properties": { + "Key": { + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Value", + "Key" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "Name": { + "description": "IngestConfiguration", + "type": "string", + "minLength": 0, + "maxLength": 128, + "default": "-", + "markdownDescription": "IngestConfiguration\n\n---\n\nRequired: No \nType: String \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9-_]*$ \nUpdate requires: Replacement" + }, + "StageArn": { + "description": "Stage ARN. A value other than an empty string indicates that stage is linked to IngestConfiguration. Default: \"\" (recording is disabled).", + "type": "string", + "default": "", + "minLength": 0, + "maxLength": 128, + "markdownDescription": "Stage ARN. A value other than an empty string indicates that stage is linked to IngestConfiguration. Default: \"\" (recording is disabled).\n\n---\n\nRequired: No \nType: String \nMaximum Length: 128 \nPattern: ^arn:aws:ivs:[a-z0-9-]+:[0-9]+:stage/[a-zA-Z0-9-]+$ \nUpdate requires: No interruption" + }, + "IngestProtocol": { + "description": "Ingest Protocol.", + "type": "string", + "enum": [ + "RTMP", + "RTMPS" + ], + "default": "RTMPS", + "markdownDescription": "Ingest Protocol.\n\n---\n\nRequired: No \nType: String \nAllowed Values: RTMP | RTMPS \nUpdate requires: Replacement" + }, + "InsecureIngest": { + "description": "Whether ingest configuration allows insecure ingest.", + "type": "boolean", + "default": false, + "markdownDescription": "Whether ingest configuration allows insecure ingest.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + }, + "UserId": { + "description": "User defined indentifier for participant associated with IngestConfiguration.", + "type": "string", + "markdownDescription": "User defined indentifier for participant associated with IngestConfiguration.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "Tags": { + "description": "A list of key-value pairs that contain metadata for the asset model.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "maxItems": 50, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of key-value pairs that contain metadata for the asset model.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "ivs:TagResource", + "ivs:UntagResource", + "ivs:ListTagsForResource" + ] + }, + "createOnlyProperties": [ + "/properties/InsecureIngest", + "/properties/UserId", + "/properties/Name", + "/properties/IngestProtocol" + ], + "writeOnlyProperties": [ + "/properties/InsecureIngest" + ], + "readOnlyProperties": [ + "/properties/Arn", + "/properties/ParticipantId", + "/properties/StreamKey", + "/properties/State" + ], + "primaryIdentifier": [ + "/properties/Arn" + ], + "handlers": { + "create": { + "permissions": [ + "ivs:CreateIngestConfiguration", + "ivs:TagResource" + ] + }, + "read": { + "permissions": [ + "ivs:GetIngestConfiguration", + "ivs:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "ivs:GetIngestConfiguration", + "ivs:UpdateIngestConfiguration", + "ivs:TagResource", + "ivs:UntagResource", + "ivs:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "ivs:DeleteIngestConfiguration", + "ivs:UntagResource" + ] + }, + "list": { + "permissions": [ + "ivs:ListIngestConfigurations", + "ivs:ListTagsForResource" + ] + } + }, + "attributes": { + "Arn": { + "description": "IngestConfiguration ARN is automatically generated on creation and assigned as the unique identifier.", + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "IngestConfiguration ARN is automatically generated on creation and assigned as the unique identifier.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^arn:aws:ivs:[a-z0-9-]+:[0-9]+:ingest-configuration/[a-zA-Z0-9-]+$ \nUpdate requires: No interruption" + }, + "ParticipantId": { + "description": "Participant Id is automatically generated on creation and assigned.", + "type": "string", + "minLength": 0, + "maxLength": 64, + "markdownDescription": "Participant Id is automatically generated on creation and assigned.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9-_]*$ \nUpdate requires: No interruption" + }, + "State": { + "description": "State of IngestConfiguration which determines whether IngestConfiguration is in use or not.", + "type": "string", + "enum": [ + "ACTIVE", + "INACTIVE" + ], + "default": "INACTIVE", + "markdownDescription": "State of IngestConfiguration which determines whether IngestConfiguration is in use or not.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ACTIVE | INACTIVE \nUpdate requires: No interruption" + }, + "StreamKey": { + "description": "Stream-key value.", + "type": "string", + "markdownDescription": "Stream-key value.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-kafkaconnect-connector.json b/server/schema/resources/aws-kafkaconnect-connector.json index fc9ce26b..39563dc5 100644 --- a/server/schema/resources/aws-kafkaconnect-connector.json +++ b/server/schema/resources/aws-kafkaconnect-connector.json @@ -7,7 +7,13 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "kafkaconnect:ListTagsForResource", + "kafkaconnect:UntagResource", + "kafkaconnect:TagResource", + "firehose:TagDeliveryStream" + ] }, "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kafkaconnect.git", "properties": { @@ -24,7 +30,7 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "The configuration for the connector.\n\n---\n\nRequired: Yes \nUpdate requires: Replacement" + "markdownDescription": "The configuration for the connector.\n\n---\n\nRequired: Yes \nUpdate requires: No interruption" }, "ConnectorDescription": { "description": "A summary description of the connector.", @@ -541,7 +547,6 @@ ], "replacementStrategy": "delete_then_create", "createOnlyProperties": [ - "/properties/ConnectorConfiguration", "/properties/ConnectorDescription", "/properties/ConnectorName", "/properties/KafkaCluster", @@ -595,7 +600,9 @@ "update": { "permissions": [ "kafkaconnect:UpdateConnector", + "kafkaconnect:UpdateConnectorConfiguration", "kafkaconnect:DescribeConnector", + "kafkaconnect:DescribeConnectorOperation", "kafkaconnect:TagResource", "kafkaconnect:ListTagsForResource", "kafkaconnect:UntagResource", diff --git a/server/schema/resources/aws-kafkaconnect-customplugin.json b/server/schema/resources/aws-kafkaconnect-customplugin.json index 23bd82ec..f8132441 100644 --- a/server/schema/resources/aws-kafkaconnect-customplugin.json +++ b/server/schema/resources/aws-kafkaconnect-customplugin.json @@ -157,7 +157,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "kafkaconnect:ListTagsForResource", + "kafkaconnect:UntagResource", + "kafkaconnect:TagResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-kafkaconnect-workerconfiguration.json b/server/schema/resources/aws-kafkaconnect-workerconfiguration.json index 1519a757..48059a1e 100644 --- a/server/schema/resources/aws-kafkaconnect-workerconfiguration.json +++ b/server/schema/resources/aws-kafkaconnect-workerconfiguration.json @@ -83,7 +83,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "kafkaconnect:ListTagsForResource", + "kafkaconnect:UntagResource", + "kafkaconnect:TagResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-kendra-index.json b/server/schema/resources/aws-kendra-index.json index 60f3dfc2..ef5a3cad 100644 --- a/server/schema/resources/aws-kendra-index.json +++ b/server/schema/resources/aws-kendra-index.json @@ -233,9 +233,10 @@ "type": "string", "enum": [ "DEVELOPER_EDITION", - "ENTERPRISE_EDITION" + "ENTERPRISE_EDITION", + "GEN_AI_ENTERPRISE_EDITION" ], - "markdownDescription": "Edition of index\n\n---\n\nRequired: No \nType: String \nAllowed Values: DEVELOPER_EDITION | ENTERPRISE_EDITION \nUpdate requires: No interruption" + "markdownDescription": "Edition of index\n\n---\n\nRequired: No \nType: String \nAllowed Values: DEVELOPER_EDITION | ENTERPRISE_EDITION | GEN_AI_ENTERPRISE_EDITION \nUpdate requires: No interruption" }, "Name": { "description": "Name of index", diff --git a/server/schema/resources/aws-kinesis-resourcepolicy.json b/server/schema/resources/aws-kinesis-resourcepolicy.json new file mode 100644 index 00000000..45ce6643 --- /dev/null +++ b/server/schema/resources/aws-kinesis-resourcepolicy.json @@ -0,0 +1,73 @@ +{ + "typeName": "AWS::Kinesis::ResourcePolicy", + "description": "Resource Type definition for AWS::Kinesis::ResourcePolicy", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesis.git", + "properties": { + "ResourceArn": { + "description": "The ARN of the AWS Kinesis resource to which the policy applies.", + "type": "string", + "minLength": 1, + "maxLength": 2048, + "anyOf": [ + { + "relationshipRef": { + "typeName": "AWS::Kinesis::Stream", + "propertyPath": "/properties/Arn" + } + }, + { + "relationshipRef": { + "typeName": "AWS::Kinesis::StreamConsumer", + "propertyPath": "/properties/ConsumerARN" + } + } + ], + "markdownDescription": "The ARN of the AWS Kinesis resource to which the policy applies.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: arn:aws.*:kinesis:.*:\\d{12}:stream/\\S+ \nUpdate requires: Replacement" + }, + "ResourcePolicy": { + "description": "A policy document containing permissions to add to the specified resource. In IAM, you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM.", + "type": "object", + "markdownDescription": "A policy document containing permissions to add to the specified resource. In IAM, you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM.\n\n---\n\nRequired: Yes \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "ResourceArn", + "ResourcePolicy" + ], + "createOnlyProperties": [ + "/properties/ResourceArn" + ], + "primaryIdentifier": [ + "/properties/ResourceArn" + ], + "tagging": { + "taggable": false + }, + "handlers": { + "create": { + "permissions": [ + "kinesis:GetResourcePolicy", + "kinesis:PutResourcePolicy" + ] + }, + "read": { + "permissions": [ + "kinesis:GetResourcePolicy" + ] + }, + "update": { + "permissions": [ + "kinesis:PutResourcePolicy", + "kinesis:GetResourcePolicy" + ] + }, + "delete": { + "permissions": [ + "kinesis:DeleteResourcePolicy", + "kinesis:GetResourcePolicy" + ] + } + }, + "attributes": {} +} \ No newline at end of file diff --git a/server/schema/resources/aws-kinesis-stream.json b/server/schema/resources/aws-kinesis-stream.json index aae68650..f2e1702e 100644 --- a/server/schema/resources/aws-kinesis-stream.json +++ b/server/schema/resources/aws-kinesis-stream.json @@ -1,6 +1,11 @@ { "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesis.git", "tagging": { + "permissions": [ + "kinesis:AddTagsToStream", + "kinesis:RemoveTagsFromStream", + "kinesis:ListTagsForStream" + ], "taggable": true, "tagOnCreate": true, "tagUpdatable": true, @@ -63,6 +68,7 @@ "createOnlyProperties": [ "/properties/Name" ], + "$comment": "Do not set SystemTags to true without implementing a fail-open mechanism. It should not fail when adding systemTags for customers without AddTagsToStream Permission. Cloudformation will automatically add system tags even if customer does not have the AddTagsToStream permission. COE: https://www.coe.a2z.com/coe/236297/content", "additionalProperties": false, "primaryIdentifier": [ "/properties/Name" diff --git a/server/schema/resources/aws-kinesisfirehose-deliverystream.json b/server/schema/resources/aws-kinesisfirehose-deliverystream.json index 65bb0de7..ae0dd37c 100644 --- a/server/schema/resources/aws-kinesisfirehose-deliverystream.json +++ b/server/schema/resources/aws-kinesisfirehose-deliverystream.json @@ -15,11 +15,12 @@ "DeliveryStreamType": { "type": "string", "enum": [ + "DatabaseAsSource", "DirectPut", "KinesisStreamAsSource", "MSKAsSource" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DirectPut | KinesisStreamAsSource | MSKAsSource \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DatabaseAsSource | DirectPut | KinesisStreamAsSource | MSKAsSource \nUpdate requires: Replacement" }, "ElasticsearchDestinationConfiguration": { "$ref": "#/definitions/ElasticsearchDestinationConfiguration" @@ -33,6 +34,9 @@ "ExtendedS3DestinationConfiguration": { "$ref": "#/definitions/ExtendedS3DestinationConfiguration" }, + "DatabaseSourceConfiguration": { + "$ref": "#/definitions/DatabaseSourceConfiguration" + }, "KinesisStreamSourceConfiguration": { "$ref": "#/definitions/KinesisStreamSourceConfiguration" }, @@ -236,6 +240,204 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "DatabaseSourceConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "Type": { + "type": "string", + "enum": [ + "MySQL", + "PostgreSQL" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: MySQL | PostgreSQL \nUpdate requires: No interruption" + }, + "Endpoint": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^(?!\\s*$).+ \nUpdate requires: No interruption" + }, + "Port": { + "type": "integer", + "minimum": 0, + "maximum": 65535, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "SSLMode": { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" + }, + "Databases": { + "$ref": "#/definitions/Databases" + }, + "Tables": { + "$ref": "#/definitions/DatabaseTables" + }, + "Columns": { + "$ref": "#/definitions/DatabaseColumns" + }, + "SurrogateKeys": { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nPattern: ^\\S+$ \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SnapshotWatermarkTable": { + "$ref": "#/definitions/DatabaseTableName" + }, + "DatabaseSourceAuthenticationConfiguration": { + "$ref": "#/definitions/DatabaseSourceAuthenticationConfiguration" + }, + "DatabaseSourceVPCConfiguration": { + "$ref": "#/definitions/DatabaseSourceVPCConfiguration" + }, + "Digest": { + "type": "string", + "minLength": 1, + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: .* \nUpdate requires: No interruption" + }, + "PublicCertificate": { + "type": "string", + "minLength": 1, + "maxLength": 4096, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 4096 \nPattern: .* \nUpdate requires: No interruption" + } + }, + "required": [ + "Type", + "Endpoint", + "Port", + "Databases", + "Tables", + "SnapshotWatermarkTable", + "DatabaseSourceAuthenticationConfiguration", + "DatabaseSourceVPCConfiguration" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Databases": { + "type": "object", + "additionalProperties": false, + "properties": { + "Include": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseName" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Exclude": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseName" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DatabaseName": { + "type": "string", + "minLength": 1, + "maxLength": 64, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: [\\u0001-\\uFFFF]* \nUpdate requires: No interruption" + }, + "DatabaseTables": { + "type": "object", + "additionalProperties": false, + "properties": { + "Include": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseTableName" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Exclude": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseTableName" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DatabaseTableName": { + "type": "string", + "minLength": 1, + "maxLength": 129, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 129 \nPattern: [\\u0001-\\uFFFF]* \nUpdate requires: No interruption" + }, + "DatabaseColumns": { + "type": "object", + "additionalProperties": false, + "properties": { + "Include": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseColumnName" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Exclude": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseColumnName" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DatabaseColumnName": { + "type": "string", + "minLength": 1, + "maxLength": 194, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 194 \nPattern: [\\u0001-\\uFFFF]* \nUpdate requires: No interruption" + }, + "DatabaseSourceAuthenticationConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "SecretsManagerConfiguration": { + "$ref": "#/definitions/SecretsManagerConfiguration" + } + }, + "required": [ + "SecretsManagerConfiguration" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DatabaseSourceVPCConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "VpcEndpointServiceName": { + "$ref": "#/definitions/VpcEndpointServiceName" + } + }, + "required": [ + "VpcEndpointServiceName" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "VpcEndpointServiceName": { + "type": "string", + "minLength": 47, + "maxLength": 255, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 47 \nMaximum Length: 255 \nPattern: ([a-zA-Z0-9\\-\\_]+\\.){2,3}vpce\\.[a-zA-Z0-9\\-]*\\.vpce-svc\\-[a-zA-Z0-9\\-]{17}$ \nUpdate requires: No interruption" + }, "MSKSourceConfiguration": { "type": "object", "additionalProperties": false, @@ -1806,17 +2008,17 @@ "typeName": "AWS::IAM::Role", "propertyPath": "/properties/Arn" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: arn:.* \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: arn:.*:iam::\\d{12}:role/[a-zA-Z_0-9+=,.@\\-_/]+ \nUpdate requires: No interruption" }, "SecretARN": { "type": "string", "minLength": 1, - "maxLength": 512, + "maxLength": 2048, "relationshipRef": { "typeName": "AWS::SecretsManager::Secret", "propertyPath": "/properties/Arn" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: arn:.* \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: arn:.*:secretsmanager:[a-zA-Z0-9\\-]+:\\d{12}:secret:[a-zA-Z0-9\\-/_+=.@]+ \nUpdate requires: No interruption" } }, "required": [ @@ -1901,6 +2103,7 @@ "/properties/ElasticsearchDestinationConfiguration/VpcConfiguration", "/properties/AmazonopensearchserviceDestinationConfiguration/VpcConfiguration", "/properties/AmazonOpenSearchServerlessDestinationConfiguration/VpcConfiguration", + "/properties/DatabaseSourceConfiguration", "/properties/KinesisStreamSourceConfiguration", "/properties/MSKSourceConfiguration", "/properties/IcebergDestinationConfiguration", diff --git a/server/schema/resources/aws-lambda-eventinvokeconfig.json b/server/schema/resources/aws-lambda-eventinvokeconfig.json index d187ba2f..cf2814c1 100644 --- a/server/schema/resources/aws-lambda-eventinvokeconfig.json +++ b/server/schema/resources/aws-lambda-eventinvokeconfig.json @@ -26,7 +26,7 @@ "type": "string", "minLength": 0, "maxLength": 350, - "markdownDescription": "The Amazon Resource Name (ARN) of the destination resource.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 350 \nPattern: ^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*) \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the destination resource.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 350 \nPattern: ^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*) \nUpdate requires: No interruption" } }, "required": [ @@ -44,7 +44,7 @@ "type": "string", "minLength": 0, "maxLength": 350, - "markdownDescription": "The Amazon Resource Name (ARN) of the destination resource.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 350 \nPattern: ^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*) \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the destination resource.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 350 \nPattern: ^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*) \nUpdate requires: No interruption" } }, "required": [ @@ -61,7 +61,7 @@ "FunctionName": { "description": "The name of the Lambda function.", "type": "string", - "markdownDescription": "The name of the Lambda function.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$ \nUpdate requires: Replacement" + "markdownDescription": "The name of the Lambda function.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$ \nUpdate requires: Replacement" }, "MaximumEventAgeInSeconds": { "description": "The maximum age of a request that Lambda sends to a function for processing.", diff --git a/server/schema/resources/aws-lambda-eventsourcemapping.json b/server/schema/resources/aws-lambda-eventsourcemapping.json index 03fdbba6..2f5c4927 100644 --- a/server/schema/resources/aws-lambda-eventsourcemapping.json +++ b/server/schema/resources/aws-lambda-eventsourcemapping.json @@ -92,14 +92,14 @@ "markdownDescription": "With ``StartingPosition`` set to ``AT_TIMESTAMP``, the time from which to start reading, in Unix time seconds. ``StartingPositionTimestamp`` cannot be in the future.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: Replacement" }, "Tags": { - "description": "", + "description": "A list of tags to add to the event source mapping.\n You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.", "type": "array", "uniqueItems": true, "insertionOrder": false, "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of tags to add to the event source mapping.\n You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Topics": { "description": "The name of the Kafka topic.", @@ -186,6 +186,16 @@ "description": "Specific configuration settings for a DocumentDB event source.", "$ref": "#/definitions/DocumentDBEventSourceConfig", "markdownDescription": "Specific configuration settings for a DocumentDB event source.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ProvisionedPollerConfig": { + "description": "(Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode).", + "$ref": "#/definitions/ProvisionedPollerConfig", + "markdownDescription": "(Amazon MSK and self-managed Apache Kafka only) The provisioned mode configuration for the event source. For more information, see [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "MetricsConfig": { + "description": "The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).", + "$ref": "#/definitions/MetricsConfig", + "markdownDescription": "The metrics configuration for your event source. For more information, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "definitions": { @@ -242,11 +252,11 @@ "additionalProperties": false, "properties": { "Destination": { - "description": "The Amazon Resource Name (ARN) of the destination resource.\n To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.\n To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.\n To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.", + "description": "The Amazon Resource Name (ARN) of the destination resource.\n To retain records of unsuccessful [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.\n To retain records of failed invocations from [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html), [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html), [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.", "type": "string", "minLength": 12, "maxLength": 1024, - "markdownDescription": "The Amazon Resource Name (ARN) of the destination resource.\n To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.\n To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.\n To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 12 \nMaximum Length: 1024 \nPattern: arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*) \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the destination resource.\n To retain records of unsuccessful [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.\n To retain records of failed invocations from [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html), [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html), [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 12 \nMaximum Length: 1024 \nPattern: arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*) \nUpdate requires: No interruption" } }, "markdownDescription": "A destination for events that failed processing.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -376,24 +386,24 @@ "properties": { "Key": { "type": "string", - "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "description": "The key for this tag.", "minLength": 1, "maxLength": 128, - "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "markdownDescription": "The key for this tag.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, "Value": { "type": "string", - "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "description": "The value for this tag.", "minLength": 0, "maxLength": 256, - "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + "markdownDescription": "The value for this tag.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" } }, "required": [ "Key" ], - "description": "", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A [tag](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the event source mapping.", + "markdownDescription": "A [tag](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the event source mapping.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "DocumentDBEventSourceConfig": { "description": "Specific configuration settings for a DocumentDB event source.", @@ -425,6 +435,51 @@ } }, "markdownDescription": "Specific configuration settings for a DocumentDB event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ProvisionedPollerConfig": { + "description": "The [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) configuration for the event source. Use provisioned mode to customize the minimum and maximum number of event pollers for your event source.", + "type": "object", + "additionalProperties": false, + "properties": { + "MinimumPollers": { + "description": "The minimum number of event pollers this event source can scale down to.", + "type": "integer", + "minimum": 1, + "maximum": 200, + "markdownDescription": "The minimum number of event pollers this event source can scale down to.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MaximumPollers": { + "description": "The maximum number of event pollers this event source can scale up to.", + "type": "integer", + "minimum": 1, + "maximum": 2000, + "markdownDescription": "The maximum number of event pollers this event source can scale up to.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The [provisioned mode](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#invocation-eventsourcemapping-provisioned-mode) configuration for the event source. Use provisioned mode to customize the minimum and maximum number of event pollers for your event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MetricsConfig": { + "description": "The metrics configuration for your event source. Use this configuration object to define which metrics you want your event source mapping to produce.", + "type": "object", + "additionalProperties": false, + "properties": { + "Metrics": { + "description": "The metrics you want your event source mapping to produce. Include ``EventCount`` to receive event source mapping metrics related to the number of events processed by your event source mapping. For more information about these metrics, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "enum": [ + "EventCount" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: EventCount \nUpdate requires: No interruption" + }, + "minItems": 0, + "maxItems": 1, + "markdownDescription": "The metrics you want your event source mapping to produce. Include ``EventCount`` to receive event source mapping metrics related to the number of events processed by your event source mapping. For more information about these metrics, see [Event source mapping metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics-types.html#event-source-mapping-metrics).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The metrics configuration for your event source. Use this configuration object to define which metrics you want your event source mapping to produce.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-lambda-function.json b/server/schema/resources/aws-lambda-function.json index 2e5c00f3..0ae8be02 100644 --- a/server/schema/resources/aws-lambda-function.json +++ b/server/schema/resources/aws-lambda-function.json @@ -90,7 +90,7 @@ "/properties/SnapStartResponse/OptimizationStatus", "/properties/Arn" ], - "description": "The ``AWS::Lambda::Function`` resource creates a Lambda function. To create a function, you need a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) and an [execution role](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.\n You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For a container image, the code property must include the URI of a container image in the Amazon ECR registry. You do not need to specify the handler and runtime properties. \n You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For a .zip file archive, the code property specifies the location of the .zip file. You must also specify the handler and runtime properties. For a Python example, see [Deploy Python Lambda functions with .zip file archives](https://docs.aws.amazon.com/lambda/latest/dg/python-package.html).\n You can use [code signing](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with ``UpdateFunctionCode``, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.\n Note that you configure [provisioned concurrency](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) on a ``AWS::Lambda::Version`` or a ``AWS::Lambda::Alias``.\n For a complete introduction to Lambda functions, see [What is Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/lambda-welcome.html) in the *Lambda developer guide.*", + "description": "The ``AWS::Lambda::Function`` resource creates a Lambda function. To create a function, you need a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) and an [execution role](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.\n You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For these functions, include the URI of the container image in the ECR registry in the [ImageUri property of the Code property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-imageuri). You do not need to specify the handler and runtime properties. \n You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For these functions, specify the S3 location of your .zip file in the ``Code`` property. Alternatively, for Node.js and Python functions, you can define your function inline in the [ZipFile property of the Code property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-zipfile). In both cases, you must also specify the handler and runtime properties.\n You can use [code signing](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with ``UpdateFunctionCode``, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.\n When you update a ``AWS::Lambda::Function`` resource, CFNshort calls the [UpdateFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionConfiguration.html) and [UpdateFunctionCode](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionCode.html) LAM APIs under the hood. Because these calls happen sequentially, and invocations can happen between these calls, your function may encounter errors in the time between the calls. For example, if you remove an environment variable, and the code that references that environment variable in the same CFNshort update, you may see invocation errors related to a missing environment variable. To work around this, you can invoke your function against a version or alias by default, rather than the ``$LATEST`` version.\n Note that you configure [provisioned concurrency](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) on a ``AWS::Lambda::Version`` or a ``AWS::Lambda::Alias``.\n For a complete introduction to Lambda functions, see [What is Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/lambda-welcome.html) in the *Lambda developer guide.*", "writeOnlyProperties": [ "/properties/SnapStart", "/properties/SnapStart/ApplyOn", @@ -393,10 +393,10 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "Environment variable key-value pairs. For more information, see [Using Lambda environment variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html).", + "description": "Environment variable key-value pairs. For more information, see [Using Lambda environment variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html).\n If the value of the environment variable is a time or a duration, enclose the value in quotes.", "additionalProperties": false, "type": "object", - "markdownDescription": "Environment variable key-value pairs. For more information, see [Using Lambda environment variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Environment variable key-value pairs. For more information, see [Using Lambda environment variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html).\n If the value of the environment variable is a time or a duration, enclose the value in quotes.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "markdownDescription": "A function's environment variable settings. You can use environment variables to adjust your function's behavior without updating code. An environment variable is a pair of strings that are stored in a function's version-specific configuration.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -410,7 +410,7 @@ "description": "The Amazon Resource Name (ARN) of the Amazon EFS access point that provides access to the file system.", "type": "string", "maxLength": 200, - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon EFS access point that provides access to the file system.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 200 \nPattern: ^arn:aws[a-zA-Z-]*:elasticfilesystem:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:access-point/fsap-[a-f0-9]{17}$ \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon EFS access point that provides access to the file system.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 200 \nPattern: ^arn:aws[a-zA-Z-]*:elasticfilesystem:[a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}:\\d{12}:access-point/fsap-[a-f0-9]{17}$ \nUpdate requires: No interruption" }, "LocalMountPath": { "description": "The path where the function can access the file system, starting with ``/mnt/``.", @@ -426,29 +426,29 @@ "markdownDescription": "Details about the connection between a Lambda function and an [Amazon EFS file system](https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { - "description": "", + "description": "A [tag](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function.", "additionalProperties": false, "type": "object", "properties": { "Value": { "minLength": 0, - "description": "", + "description": "The value for this tag.", "type": "string", "maxLength": 256, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + "markdownDescription": "The value for this tag.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" }, "Key": { "minLength": 1, - "description": "", + "description": "The key for this tag.", "type": "string", "maxLength": 128, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "markdownDescription": "The key for this tag.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ "Key" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A [tag](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EphemeralStorage": { "description": "The size of the function's ``/tmp`` directory in MB. The default value is 512, but it can be any whole number between 512 and 10,240 MB.", @@ -527,9 +527,9 @@ "markdownDescription": "The identifier of the function's [runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image.\n The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see [Runtime use after deprecation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels).\n For a list of all currently supported runtimes, see [Supported runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "KmsKeyArn": { - "description": "The ARN of the KMSlong (KMS) customer managed key that's used to encrypt your function's [environment variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption). When [Lambda SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html) is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). If you don't provide a customer managed key, Lambda uses a default service key.", + "description": "The ARN of the KMSlong (KMS) customer managed key that's used to encrypt your function's [environment variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption). When [SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html) is activated, LAM also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, LAM also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the ECRlong (ECR). If you don't provide a customer managed key, LAM uses a default service key.", "type": "string", - "markdownDescription": "The ARN of the KMSlong (KMS) customer managed key that's used to encrypt your function's [environment variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption). When [Lambda SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html) is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). If you don't provide a customer managed key, Lambda uses a default service key.\n\n---\n\nRequired: No \nType: String \nPattern: ^(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()$ \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the KMSlong (KMS) customer managed key that's used to encrypt your function's [environment variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption). When [SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html) is activated, LAM also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, LAM also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the ECRlong (ECR). If you don't provide a customer managed key, LAM uses a default service key.\n\n---\n\nRequired: No \nType: String \nPattern: ^(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()$ \nUpdate requires: No interruption" }, "PackageType": { "description": "The type of deployment package. Set to ``Image`` for container image and set ``Zip`` for .zip file archive.", @@ -543,7 +543,7 @@ "CodeSigningConfigArn": { "description": "To enable code signing for this function, specify the ARN of a code-signing configuration. A code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.", "type": "string", - "markdownDescription": "To enable code signing for this function, specify the ARN of a code-signing configuration. A code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.\n\n---\n\nRequired: No \nType: String \nPattern: arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:code-signing-config:csc-[a-z0-9]{17} \nUpdate requires: No interruption" + "markdownDescription": "To enable code signing for this function, specify the ARN of a code-signing configuration. A code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.\n\n---\n\nRequired: No \nType: String \nPattern: arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}:\\d{12}:code-signing-config:csc-[a-z0-9]{17} \nUpdate requires: No interruption" }, "Layers": { "uniqueItems": false, @@ -557,13 +557,13 @@ }, "Tags": { "uniqueItems": true, - "description": "A list of [tags](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function.", + "description": "A list of [tags](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function.\n You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.", "insertionOrder": false, "type": "array", "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of [tags](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of [tags](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function.\n You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "ImageConfig": { "description": "Configuration values that override the container image Dockerfile settings. For more information, see [Container image settings](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms).", @@ -593,9 +593,9 @@ "markdownDescription": "The name of the method within your code that Lambda calls to run your function. Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see [Lambda programming model](https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html).\n\n---\n\nRequired: No \nType: String \nMaximum Length: 128 \nPattern: ^[^\\s]+$ \nUpdate requires: No interruption" }, "Code": { - "description": "The code for the function.", + "description": "The code for the function. You can define your function code in multiple ways:\n + For .zip deployment packages, you can specify the S3 location of the .zip file in the ``S3Bucket``, ``S3Key``, and ``S3ObjectVersion`` properties.\n + For .zip deployment packages, you can alternatively define the function code inline in the ``ZipFile`` property. This method works only for Node.js and Python functions.\n + For container images, specify the URI of your container image in the ECR registry in the ``ImageUri`` property.", "$ref": "#/definitions/Code", - "markdownDescription": "The code for the function.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + "markdownDescription": "The code for the function. You can define your function code in multiple ways:\n + For .zip deployment packages, you can specify the S3 location of the .zip file in the ``S3Bucket``, ``S3Key``, and ``S3ObjectVersion`` properties.\n + For .zip deployment packages, you can alternatively define the function code inline in the ``ZipFile`` property. This method works only for Node.js and Python functions.\n + For container images, specify the URI of your container image in the ECR registry in the ``ImageUri`` property.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "Role": { "description": "The Amazon Resource Name (ARN) of the function's execution role.", @@ -608,9 +608,9 @@ "markdownDescription": "The function's Amazon CloudWatch Logs configuration settings.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "RecursiveLoop": { - "description": "", + "description": "The status of your function's recursive loop detection configuration.\n When this value is set to ``Allow``and Lambda detects your function being invoked as part of a recursive loop, it doesn't take any action.\n When this value is set to ``Terminate`` and Lambda detects your function being invoked as part of a recursive loop, it stops your function being invoked and notifies you.", "$ref": "#/definitions/RecursiveLoop", - "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "The status of your function's recursive loop detection configuration.\n When this value is set to ``Allow``and Lambda detects your function being invoked as part of a recursive loop, it doesn't take any action.\n When this value is set to ``Terminate`` and Lambda detects your function being invoked as part of a recursive loop, it stops your function being invoked and notifies you.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Environment": { "description": "Environment variables that are accessible from function code during execution.", diff --git a/server/schema/resources/aws-lambda-permission.json b/server/schema/resources/aws-lambda-permission.json index 207452f3..f2746369 100644 --- a/server/schema/resources/aws-lambda-permission.json +++ b/server/schema/resources/aws-lambda-permission.json @@ -118,10 +118,10 @@ }, "Principal": { "minLength": 1, - "description": "The AWS-service or AWS-account that invokes the function. If you specify a service, use ``SourceArn`` or ``SourceAccount`` to limit who can invoke the function through that service.", + "description": "The AWS-service, AWS-account, IAM user, or IAM role that invokes the function. If you specify a service, use ``SourceArn`` or ``SourceAccount`` to limit who can invoke the function through that service.", "type": "string", "maxLength": 256, - "markdownDescription": "The AWS-service or AWS-account that invokes the function. If you specify a service, use ``SourceArn`` or ``SourceAccount`` to limit who can invoke the function through that service.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^.*$ \nUpdate requires: Replacement" + "markdownDescription": "The AWS-service, AWS-account, IAM user, or IAM role that invokes the function. If you specify a service, use ``SourceArn`` or ``SourceAccount`` to limit who can invoke the function through that service.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^.*$ \nUpdate requires: Replacement" } }, "required": [ diff --git a/server/schema/resources/aws-lambda-version.json b/server/schema/resources/aws-lambda-version.json index c5d12d4e..7cbfaa24 100644 --- a/server/schema/resources/aws-lambda-version.json +++ b/server/schema/resources/aws-lambda-version.json @@ -20,27 +20,8 @@ "description": "The name of the Lambda function.", "minLength": 1, "maxLength": 140, - "anyOf": [ - { - "relationshipRef": { - "typeName": "AWS::Lambda::Function", - "propertyPath": "/properties/FunctionName" - } - }, - { - "relationshipRef": { - "typeName": "AWS::Lambda::Function", - "propertyPath": "/properties/Arn" - } - } - ], "markdownDescription": "The name of the Lambda function.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 140 \nPattern: ^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$ \nUpdate requires: Replacement" }, - "Policy": { - "description": "The resource policy of your function", - "type": "object", - "markdownDescription": "The resource policy of your function\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "ProvisionedConcurrencyConfig": { "description": "Specifies a provisioned concurrency configuration for a function's version. Updates are not supported for this property.", "$ref": "#/definitions/ProvisionedConcurrencyConfiguration", diff --git a/server/schema/resources/aws-lex-bot.json b/server/schema/resources/aws-lex-bot.json index b6ae9b9e..8793a026 100644 --- a/server/schema/resources/aws-lex-bot.json +++ b/server/schema/resources/aws-lex-bot.json @@ -3,6 +3,36 @@ "description": "Amazon Lex conversational bot performing automated tasks such as ordering a pizza, booking a hotel, and so on.", "sourceUrl": "https://docs.aws.amazon.com/lexv2/latest/dg/build-create.html", "definitions": { + "ReplicaRegion": { + "description": "The secondary region that will be used in the replication of the source bot.", + "type": "string", + "minLength": 2, + "maxLength": 25, + "markdownDescription": "The secondary region that will be used in the replication of the source bot.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 2 \nMaximum Length: 25 \nUpdate requires: No interruption" + }, + "Replication": { + "description": "Parameter used to create a replication of the source bot in the secondary region.", + "type": "object", + "properties": { + "ReplicaRegions": { + "description": "List of secondary regions for bot replication.", + "type": "array", + "uniqueItems": true, + "maxItems": 1, + "minItems": 1, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ReplicaRegion" + }, + "markdownDescription": "List of secondary regions for bot replication.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "ReplicaRegions" + ], + "additionalProperties": false, + "markdownDescription": "Parameter used to create a replication of the source bot in the secondary region.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "BotAliasLocaleSettingsList": { "description": "A list of bot alias locale settings to add to the bot alias.", "type": "array", @@ -2496,6 +2526,9 @@ }, "TestBotAliasSettings": { "$ref": "#/definitions/TestBotAliasSettings" + }, + "Replication": { + "$ref": "#/definitions/Replication" } }, "taggable": true, @@ -2518,7 +2551,8 @@ "/properties/BotFileS3Location", "/properties/AutoBuildBotLocales", "/properties/BotTags", - "/properties/TestBotAliasTags" + "/properties/TestBotAliasTags", + "/properties/Replication" ], "handlers": { "create": { @@ -2552,13 +2586,19 @@ "lex:UpdateCustomVocabulary", "lex:DeleteCustomVocabulary", "s3:GetObject", - "lex:UpdateBotAlias" + "lex:UpdateBotAlias", + "iam:CreateServiceLinkedRole", + "iam:GetRole", + "lex:CreateBotReplica", + "lex:DescribeBotReplica", + "lex:DeleteBotReplica" ] }, "read": { "permissions": [ "lex:DescribeBot", - "lex:ListTagsForResource" + "lex:ListTagsForResource", + "lex:DescribeBotReplica" ] }, "update": { @@ -2593,7 +2633,10 @@ "lex:UpdateCustomVocabulary", "lex:DeleteCustomVocabulary", "s3:GetObject", - "lex:UpdateBotAlias" + "lex:UpdateBotAlias", + "lex:CreateBotReplica", + "lex:DescribeBotReplica", + "lex:DeleteBotReplica" ] }, "delete": { @@ -2607,12 +2650,14 @@ "lex:DeleteBotVersion", "lex:DeleteBotChannel", "lex:DeleteBotAlias", - "lex:DeleteCustomVocabulary" + "lex:DeleteCustomVocabulary", + "lex:DeleteBotReplica" ] }, "list": { "permissions": [ - "lex:ListBots" + "lex:ListBots", + "lex:ListBotReplicas" ] } }, diff --git a/server/schema/resources/aws-location-apikey.json b/server/schema/resources/aws-location-apikey.json index 61f63a8b..527d87b3 100644 --- a/server/schema/resources/aws-location-apikey.json +++ b/server/schema/resources/aws-location-apikey.json @@ -11,7 +11,7 @@ "type": "string", "maxLength": 200, "minLength": 5, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 5 \nMaximum Length: 200 \nPattern: ^geo:\\w*\\*?$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 5 \nMaximum Length: 200 \nPattern: ^(geo|geo-routes|geo-places|geo-maps):\\w*\\*?$ \nUpdate requires: No interruption" }, "maxItems": 24, "minItems": 1, @@ -177,7 +177,21 @@ "geo:SearchPlaceIndexForSuggestions", "geo:GetPlace", "geo:CalculateRoute", - "geo:CalculateRouteMatrix" + "geo:CalculateRouteMatrix", + "geo-maps:GetTile", + "geo-maps:GetStaticMap", + "geo-places:Autocomplete", + "geo-places:Geocode", + "geo-places:GetPlace", + "geo-places:ReverseGeocode", + "geo-places:SearchNearby", + "geo-places:SearchText", + "geo-places:Suggest", + "geo-routes:CalculateIsolines", + "geo-routes:CalculateRouteMatrix", + "geo-routes:CalculateRoutes", + "geo-routes:OptimizeWaypoints", + "geo-routes:SnapToRoads" ] }, "read": { @@ -201,6 +215,20 @@ "geo:GetPlace", "geo:CalculateRoute", "geo:CalculateRouteMatrix", + "geo-maps:GetTile", + "geo-maps:GetStaticMap", + "geo-places:Autocomplete", + "geo-places:Geocode", + "geo-places:GetPlace", + "geo-places:ReverseGeocode", + "geo-places:SearchNearby", + "geo-places:SearchText", + "geo-places:Suggest", + "geo-routes:CalculateIsolines", + "geo-routes:CalculateRouteMatrix", + "geo-routes:CalculateRoutes", + "geo-routes:OptimizeWaypoints", + "geo-routes:SnapToRoads", "geo:UpdateKey" ] }, diff --git a/server/schema/resources/aws-location-placeindex.json b/server/schema/resources/aws-location-placeindex.json index deb91fa8..3939f294 100644 --- a/server/schema/resources/aws-location-placeindex.json +++ b/server/schema/resources/aws-location-placeindex.json @@ -166,7 +166,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "geo:TagResource", + "geo:UntagResource" + ] }, "additionalProperties": false, "attributes": { diff --git a/server/schema/resources/aws-logs-accountpolicy.json b/server/schema/resources/aws-logs-accountpolicy.json index 29d918de..a2c38f4c 100644 --- a/server/schema/resources/aws-logs-accountpolicy.json +++ b/server/schema/resources/aws-logs-accountpolicy.json @@ -29,9 +29,11 @@ "type": "string", "enum": [ "DATA_PROTECTION_POLICY", - "SUBSCRIPTION_FILTER_POLICY" + "SUBSCRIPTION_FILTER_POLICY", + "FIELD_INDEX_POLICY", + "TRANSFORMER_POLICY" ], - "markdownDescription": "Type of the policy.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: DATA_PROTECTION_POLICY | SUBSCRIPTION_FILTER_POLICY \nUpdate requires: Replacement" + "markdownDescription": "Type of the policy.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: DATA_PROTECTION_POLICY | SUBSCRIPTION_FILTER_POLICY | FIELD_INDEX_POLICY | TRANSFORMER_POLICY \nUpdate requires: Replacement" }, "Scope": { "description": "Scope for policy application", @@ -51,6 +53,7 @@ "create": { "permissions": [ "logs:PutAccountPolicy", + "logs:PutIndexPolicy", "logs:PutDataProtectionPolicy", "logs:DescribeAccountPolicies", "logs:CreateLogDelivery", @@ -58,24 +61,30 @@ "firehose:TagDeliveryStream", "logs:PutSubscriptionFilter", "logs:DeleteSubscriptionFilter", + "logs:PutTransformer", "iam:PassRole" ] }, "read": { "permissions": [ - "logs:DescribeAccountPolicies" + "logs:DescribeAccountPolicies", + "logs:GetTransformer" ] }, "update": { "permissions": [ "logs:PutAccountPolicy", + "logs:PutIndexPolicy", "logs:PutDataProtectionPolicy", "logs:DescribeAccountPolicies", "logs:DeleteAccountPolicy", + "logs:DeleteIndexPolicy", "logs:DeleteDataProtectionPolicy", "logs:CreateLogDelivery", "logs:PutSubscriptionFilter", "logs:DeleteSubscriptionFilter", + "logs:PutTransformer", + "logs:DeleteTransformer", "s3:REST.PUT.OBJECT", "firehose:TagDeliveryStream", "iam:PassRole" @@ -84,15 +93,18 @@ "delete": { "permissions": [ "logs:DeleteAccountPolicy", + "logs:DeleteIndexPolicy", "logs:DeleteDataProtectionPolicy", "logs:DescribeAccountPolicies", "logs:DeleteSubscriptionFilter", + "logs:DeleteTransformer", "iam:PassRole" ] }, "list": { "permissions": [ - "logs:DescribeAccountPolicies" + "logs:DescribeAccountPolicies", + "logs:GetTransformer" ], "handlerSchema": { "properties": { diff --git a/server/schema/resources/aws-logs-delivery.json b/server/schema/resources/aws-logs-delivery.json index 02806e15..d5f26f58 100644 --- a/server/schema/resources/aws-logs-delivery.json +++ b/server/schema/resources/aws-logs-delivery.json @@ -35,6 +35,13 @@ "minLength": 16, "maxLength": 2048, "markdownDescription": "Amazon Resource Name (ARN) that uniquely identify AWS resource.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 16 \nMaximum Length: 2048 \nPattern: [\\w#+=/:,.@-]*\\*? \nUpdate requires: No interruption" + }, + "FieldHeader": { + "description": "A single record field to be delivered to the destination.", + "type": "string", + "minLength": 1, + "maxLength": 50, + "markdownDescription": "A single record field to be delivered to the destination.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nUpdate requires: No interruption" } }, "properties": { @@ -59,6 +66,33 @@ "$ref": "#/definitions/Tag" }, "markdownDescription": "The tags that have been assigned to this delivery.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "RecordFields": { + "description": "The list of record fields to be delivered to the destination, in order. If the delivery's log source has mandatory fields, they must be included in this list.", + "type": "array", + "items": { + "$ref": "#/definitions/FieldHeader" + }, + "markdownDescription": "The list of record fields to be delivered to the destination, in order. If the delivery's log source has mandatory fields, they must be included in this list.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "FieldDelimiter": { + "description": "The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format.", + "type": "string", + "minLength": 1, + "maxLength": 5, + "markdownDescription": "The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 5 \nUpdate requires: No interruption" + }, + "S3SuffixPath": { + "description": "This string allows re-configuring the S3 object prefix to contain either static or variable sections. The valid variables to use in the suffix path will vary by each log source. See ConfigurationTemplate$allowedSuffixPathFields for more info on what values are supported in the suffix path for each log source.", + "type": "string", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "This string allows re-configuring the S3 object prefix to contain either static or variable sections. The valid variables to use in the suffix path will vary by each log source. See ConfigurationTemplate$allowedSuffixPathFields for more info on what values are supported in the suffix path for each log source.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "S3EnableHiveCompatiblePath": { + "description": "This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive.", + "type": "boolean", + "markdownDescription": "This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-logs-deliverydestination.json b/server/schema/resources/aws-logs-deliverydestination.json index 01ce74ef..387cb1ad 100644 --- a/server/schema/resources/aws-logs-deliverydestination.json +++ b/server/schema/resources/aws-logs-deliverydestination.json @@ -92,6 +92,13 @@ "$ref": "#/definitions/DestinationPolicy" }, "markdownDescription": "IAM policy that grants permissions to CloudWatch Logs to deliver logs cross-account to a specified destination in this account.\n\nThe policy must be in JSON string format.\n\nLength Constraints: Maximum length of 51200\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "OutputFormat": { + "description": "The format of the logs that are sent to this delivery destination.", + "type": "string", + "minLength": 1, + "maxLength": 12, + "markdownDescription": "The format of the logs that are sent to this delivery destination.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 12 \nPattern: ^[0-9A-Za-z]+$ \nUpdate requires: Replacement" } }, "additionalProperties": false, @@ -100,6 +107,7 @@ ], "createOnlyProperties": [ "/properties/Name", + "/properties/OutputFormat", "/properties/DestinationResourceArn" ], "readOnlyProperties": [ diff --git a/server/schema/resources/aws-logs-integration.json b/server/schema/resources/aws-logs-integration.json new file mode 100644 index 00000000..eac23a78 --- /dev/null +++ b/server/schema/resources/aws-logs-integration.json @@ -0,0 +1,175 @@ +{ + "typeName": "AWS::Logs::Integration", + "description": "Resource Schema for Logs Integration Resource", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "replacementStrategy": "delete_then_create", + "definitions": { + "Arn": { + "type": "string", + "minLength": 20, + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: [\\w#+=/:,.@-]*\\*? \nUpdate requires: No interruption" + }, + "OpenSearchResourceConfig": { + "type": "object", + "properties": { + "KmsKeyArn": { + "$ref": "#/definitions/Arn" + }, + "DataSourceRoleArn": { + "$ref": "#/definitions/Arn" + }, + "DashboardViewerPrincipals": { + "type": "array", + "items": { + "$ref": "#/definitions/Arn" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "ApplicationARN": { + "$ref": "#/definitions/Arn" + }, + "RetentionDays": { + "type": "integer", + "minimum": 1, + "maximum": 3650, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "required": [ + "DataSourceRoleArn", + "DashboardViewerPrincipals" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "IntegrationName": { + "description": "User provided identifier for integration, unique to the user account.", + "type": "string", + "minLength": 1, + "maxLength": 50, + "markdownDescription": "User provided identifier for integration, unique to the user account.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nPattern: [\\.\\-_/#A-Za-z0-9]+ \nUpdate requires: Replacement" + }, + "IntegrationType": { + "description": "The type of the Integration.", + "type": "string", + "enum": [ + "OPENSEARCH" + ], + "markdownDescription": "The type of the Integration.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: OPENSEARCH \nUpdate requires: Replacement" + }, + "ResourceConfig": { + "description": "OpenSearchResourceConfig for the given Integration", + "type": "object", + "properties": { + "OpenSearchResourceConfig": { + "$ref": "#/definitions/OpenSearchResourceConfig" + } + }, + "additionalProperties": false, + "markdownDescription": "OpenSearchResourceConfig for the given Integration\n\n---\n\nRequired: Yes \nUpdate requires: Replacement" + } + }, + "additionalProperties": false, + "required": [ + "IntegrationName", + "IntegrationType", + "ResourceConfig" + ], + "createOnlyProperties": [ + "/properties/IntegrationName", + "/properties/IntegrationType", + "/properties/ResourceConfig" + ], + "readOnlyProperties": [ + "/properties/IntegrationStatus" + ], + "writeOnlyProperties": [ + "/properties/ResourceConfig" + ], + "primaryIdentifier": [ + "/properties/IntegrationName" + ], + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "handlers": { + "create": { + "permissions": [ + "logs:PutIntegration", + "logs:GetIntegration", + "aoss:CreateCollection", + "aoss:CreateSecurityPolicy", + "aoss:CreateAccessPolicy", + "aoss:CreateLifeCyclePolicy", + "aoss:BatchGetCollection", + "aoss:DeleteCollection", + "aoss:DeleteSecurityPolicy", + "aoss:DeleteAccessPolicy", + "aoss:DeleteLifeCyclePolicy", + "aoss:GetAccessPolicy", + "aoss:GetSecurityPolicy", + "aoss:BatchGetLifecyclePolicy", + "aoss:TagResource", + "aoss:APIAccessAll", + "opensearch:AddDirectQueryDataSource", + "opensearch:DeleteDirectQueryDataSource", + "opensearch:GetDirectQueryDataSource", + "opensearch:CreateApplication", + "opensearch:GetApplication", + "opensearch:UpdateApplication", + "opensearch:DeleteApplication", + "opensearch:ApplicationAccessAll", + "opensearch:DashboardsAccessAll", + "opensearch:StartDirectQuery", + "opensearch:GetDirectQuery", + "iam:PassRole", + "iam:CreateServiceLinkedRole", + "iam:AttachRolePolicy", + "iam:AttachUserPolicy", + "es:AddDirectQueryDataSource", + "es:CreateApplication", + "es:UpdateApplication", + "es:GetApplication", + "es:DeleteApplication", + "es:DeleteDirectQueryDataSource", + "es:GetDirectQueryDataSource", + "es:AddTags", + "es:ListApplications" + ], + "timeoutInMinutes": 30 + }, + "read": { + "permissions": [ + "logs:GetIntegration" + ] + }, + "delete": { + "permissions": [ + "logs:DeleteIntegration" + ] + }, + "list": { + "permissions": [ + "logs:ListIntegrations" + ] + } + }, + "attributes": { + "IntegrationStatus": { + "description": "Status of creation for the Integration and its resources", + "type": "string", + "enum": [ + "PROVISIONING", + "ACTIVE", + "FAILED" + ], + "markdownDescription": "Status of creation for the Integration and its resources\n\n---\n\nRequired: No \nType: String \nAllowed Values: PROVISIONING | ACTIVE | FAILED \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-logs-loggroup.json b/server/schema/resources/aws-logs-loggroup.json index 4d580849..87c7d994 100644 --- a/server/schema/resources/aws-logs-loggroup.json +++ b/server/schema/resources/aws-logs-loggroup.json @@ -4,7 +4,7 @@ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", "definitions": { "Tag": { - "description": "", + "description": "The value of this key-value pair.", "type": "object", "additionalProperties": false, "properties": { @@ -17,17 +17,17 @@ }, "Value": { "type": "string", - "description": "", + "description": "The value of this key-value pair.", "minLength": 0, "maxLength": 256, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + "markdownDescription": "The value of this key-value pair.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" } }, "required": [ "Key", "Value" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The value of this key-value pair.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -49,6 +49,18 @@ "type": "object", "markdownDescription": "Creates a data protection policy and assigns it to the log group. A data protection policy can help safeguard sensitive data that's ingested by the log group by auditing and masking the sensitive log data. When a user who does not have permission to view masked data views a log event that includes masked data, the sensitive data is replaced by asterisks.\n For more information, including a list of types of data that can be audited and masked, see [Protect sensitive log data with masking](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/mask-sensitive-log-data.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "FieldIndexPolicies": { + "description": "Creates or updates a *field index policy* for the specified log group. Only log groups in the Standard log class support field index policies. For more information about log classes, see [Log classes](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch_Logs_Log_Classes.html).\n You can use field index policies to create *field indexes* on fields found in log events in the log group. Creating field indexes lowers the costs for CWL Insights queries that reference those field indexes, because these queries attempt to skip the processing of log events that are known to not match the indexed field. Good fields to index are fields that you often need to query for and fields that have high cardinality of values Common examples of indexes include request ID, session ID, userID, and instance IDs. For more information, see [Create field indexes to improve query performance and reduce costs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Field-Indexing.html).\n Currently, this array supports only one field index policy object.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "description": "Index policy for log group in JSON format", + "type": "object", + "markdownDescription": "Index policy for log group in JSON format\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "markdownDescription": "Creates or updates a *field index policy* for the specified log group. Only log groups in the Standard log class support field index policies. For more information about log classes, see [Log classes](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch_Logs_Log_Classes.html).\n You can use field index policies to create *field indexes* on fields found in log events in the log group. Creating field indexes lowers the costs for CWL Insights queries that reference those field indexes, because these queries attempt to skip the processing of log events that are known to not match the indexed field. Good fields to index are fields that you often need to query for and fields that have high cardinality of values Common examples of indexes include request ID, session ID, userID, and instance IDs. For more information, see [Create field indexes to improve query performance and reduce costs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Field-Indexing.html).\n Currently, this array supports only one field index policy object.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "LogGroupClass": { "description": "Specifies the log group class for this log group. There are two classes:\n + The ``Standard`` log class supports all CWL features.\n + The ``Infrequent Access`` log class supports a subset of CWL features and incurs lower costs.\n \n For details about the features supported by each class, see [Log classes](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch_Logs_Log_Classes.html)", "type": "string", @@ -112,14 +124,17 @@ "s3:REST.PUT.OBJECT", "firehose:TagDeliveryStream", "logs:PutResourcePolicy", - "logs:DescribeResourcePolicies" + "logs:DescribeResourcePolicies", + "logs:PutIndexPolicy", + "logs:DescribeIndexPolicies" ] }, "read": { "permissions": [ "logs:DescribeLogGroups", "logs:ListTagsForResource", - "logs:GetDataProtectionPolicy" + "logs:GetDataProtectionPolicy", + "logs:DescribeIndexPolicies" ] }, "update": { @@ -135,7 +150,9 @@ "logs:PutDataProtectionPolicy", "logs:CreateLogDelivery", "s3:REST.PUT.OBJECT", - "firehose:TagDeliveryStream" + "firehose:TagDeliveryStream", + "logs:PutIndexPolicy", + "logs:DeleteIndexPolicy" ] }, "delete": { diff --git a/server/schema/resources/aws-logs-metricfilter.json b/server/schema/resources/aws-logs-metricfilter.json index 42e8cf38..2ad0df8c 100644 --- a/server/schema/resources/aws-logs-metricfilter.json +++ b/server/schema/resources/aws-logs-metricfilter.json @@ -195,6 +195,11 @@ "maxLength": 512, "markdownDescription": "The name of an existing log group that you want to associate with this metric filter.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[.\\-_/#A-Za-z0-9]{1,512} \nUpdate requires: Replacement" }, + "ApplyOnTransformedLogs": { + "description": "This parameter is valid only for log groups that have an active log transformer. For more information about log transformers, see [PutTransformer](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutTransformer.html).\n If this value is ``true``, the metric filter is applied on the transformed version of the log events instead of the original ingested log events.", + "type": "boolean", + "markdownDescription": "This parameter is valid only for log groups that have an active log transformer. For more information about log transformers, see [PutTransformer](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutTransformer.html).\n If this value is ``true``, the metric filter is applied on the transformed version of the log events instead of the original ingested log events.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, "FilterName": { "minLength": 1, "description": "The name of the metric filter.", diff --git a/server/schema/resources/aws-logs-querydefinition.json b/server/schema/resources/aws-logs-querydefinition.json index dde9c689..c1e704c9 100644 --- a/server/schema/resources/aws-logs-querydefinition.json +++ b/server/schema/resources/aws-logs-querydefinition.json @@ -35,6 +35,17 @@ "markdownDescription": "LogGroup name\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "markdownDescription": "Optionally define specific log groups as part of your query definition\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "QueryLanguage": { + "description": "Query language of the query string. Possible values are CWLI, SQL, PPL, with CWLI being the default.", + "type": "string", + "enum": [ + "CWLI", + "SQL", + "PPL" + ], + "default": "CWLI", + "markdownDescription": "Query language of the query string. Possible values are CWLI, SQL, PPL, with CWLI being the default.\n\n---\n\nRequired: No \nType: String \nAllowed Values: CWLI | SQL | PPL \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-logs-subscriptionfilter.json b/server/schema/resources/aws-logs-subscriptionfilter.json index 37835e9a..b6569998 100644 --- a/server/schema/resources/aws-logs-subscriptionfilter.json +++ b/server/schema/resources/aws-logs-subscriptionfilter.json @@ -44,6 +44,11 @@ "ByLogStream" ], "markdownDescription": "The method used to distribute log data to the destination, which can be either random or grouped by log stream.\n\n---\n\nRequired: No \nType: String \nAllowed Values: Random | ByLogStream \nUpdate requires: No interruption" + }, + "ApplyOnTransformedLogs": { + "description": "This parameter is valid only for log groups that have an active log transformer. For more information about log transformers, see [PutTransformer](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutTransformer.html).\n If this value is ``true``, the subscription filter is applied on the transformed version of the log events instead of the original ingested log events.", + "type": "boolean", + "markdownDescription": "This parameter is valid only for log groups that have an active log transformer. For more information about log transformers, see [PutTransformer](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutTransformer.html).\n If this value is ``true``, the subscription filter is applied on the transformed version of the log events instead of the original ingested log events.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "handlers": { diff --git a/server/schema/resources/aws-logs-transformer.json b/server/schema/resources/aws-logs-transformer.json new file mode 100644 index 00000000..a2a6cb30 --- /dev/null +++ b/server/schema/resources/aws-logs-transformer.json @@ -0,0 +1,726 @@ +{ + "typeName": "AWS::Logs::Transformer", + "description": "Specifies a transformer on the log group to transform logs into consistent structured and information rich format.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", + "properties": { + "LogGroupIdentifier": { + "description": "Existing log group that you want to associate with this transformer.", + "type": "string", + "minLength": 1, + "maxLength": 2048, + "markdownDescription": "Existing log group that you want to associate with this transformer.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: [\\w#+=/:,.@-]* \nUpdate requires: Replacement" + }, + "TransformerConfig": { + "description": "List of processors in a transformer", + "type": "array", + "items": { + "$ref": "#/definitions/Processor" + }, + "minItems": 1, + "maxItems": 20, + "insertionOrder": false, + "markdownDescription": "List of processors in a transformer\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "LogGroupIdentifier", + "TransformerConfig" + ], + "additionalProperties": false, + "definitions": { + "Processor": { + "description": "Individual processor configuration", + "type": "object", + "properties": { + "ParseCloudfront": { + "$ref": "#/definitions/ParseCloudfront" + }, + "ParseVPC": { + "$ref": "#/definitions/ParseVPC" + }, + "ParseWAF": { + "$ref": "#/definitions/ParseWAF" + }, + "ParseJSON": { + "type": "object", + "properties": { + "Source": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Destination": { + "$ref": "#/definitions/NonEmptyAndMaxLengthString" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ParseRoute53": { + "$ref": "#/definitions/ParseRoute53" + }, + "ParsePostgres": { + "$ref": "#/definitions/ParsePostgres" + }, + "ParseKeyValue": { + "type": "object", + "properties": { + "Source": { + "$ref": "#/definitions/NonEmptyString" + }, + "Destination": { + "$ref": "#/definitions/NonEmptyString" + }, + "FieldDelimiter": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "KeyValueDelimiter": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "KeyPrefix": { + "$ref": "#/definitions/NonEmptyString" + }, + "NonMatchValue": { + "$ref": "#/definitions/NonEmptyString" + }, + "OverwriteIfExists": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CopyValue": { + "type": "object", + "properties": { + "Entries": { + "type": "array", + "items": { + "$ref": "#/definitions/CopyValueEntry" + }, + "minItems": 1, + "maxItems": 5, + "insertionOrder": false, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Entries" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Csv": { + "type": "object", + "properties": { + "QuoteCharacter": { + "type": "string", + "maxLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1 \nUpdate requires: No interruption" + }, + "Delimiter": { + "type": "string", + "maxLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1 \nUpdate requires: No interruption" + }, + "Source": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Columns": { + "type": "array", + "items": { + "$ref": "#/definitions/Column" + }, + "minItems": 1, + "maxItems": 100, + "insertionOrder": false, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DateTimeConverter": { + "type": "object", + "properties": { + "Source": { + "$ref": "#/definitions/NonEmptyString" + }, + "Target": { + "$ref": "#/definitions/NonEmptyAndMaxLengthString" + }, + "TargetFormat": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "MatchPatterns": { + "type": "array", + "items": { + "$ref": "#/definitions/MatchPattern" + }, + "minItems": 1, + "maxItems": 5, + "uniqueItems": true, + "insertionOrder": false, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "SourceTimezone": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TargetTimezone": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Locale": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Source", + "Target", + "MatchPatterns" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DeleteKeys": { + "type": "object", + "properties": { + "WithKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/WithKey" + }, + "minItems": 1, + "maxItems": 5, + "uniqueItems": true, + "insertionOrder": false, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "WithKeys" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Grok": { + "type": "object", + "properties": { + "Source": { + "$ref": "#/definitions/NonEmptyString" + }, + "Match": { + "type": "string", + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" + } + }, + "required": [ + "Match" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ListToMap": { + "type": "object", + "properties": { + "Source": { + "$ref": "#/definitions/NonEmptyString" + }, + "Key": { + "$ref": "#/definitions/NonEmptyString" + }, + "ValueKey": { + "$ref": "#/definitions/NonEmptyString" + }, + "Target": { + "$ref": "#/definitions/NonEmptyAndMaxLengthString" + }, + "Flatten": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "FlattenedElement": { + "type": "string", + "enum": [ + "first", + "last" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: first | last \nUpdate requires: No interruption" + } + }, + "required": [ + "Source", + "Key" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AddKeys": { + "type": "object", + "properties": { + "Entries": { + "type": "array", + "items": { + "$ref": "#/definitions/AddKeyEntry" + }, + "minItems": 1, + "maxItems": 5, + "uniqueItems": true, + "insertionOrder": false, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Entries" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MoveKeys": { + "type": "object", + "properties": { + "Entries": { + "type": "array", + "items": { + "$ref": "#/definitions/MoveKeyEntry" + }, + "minItems": 1, + "maxItems": 5, + "insertionOrder": false, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Entries" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RenameKeys": { + "type": "object", + "properties": { + "Entries": { + "type": "array", + "items": { + "$ref": "#/definitions/RenameKeyEntry" + }, + "minItems": 1, + "maxItems": 5, + "insertionOrder": false, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Entries" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LowerCaseString": { + "type": "object", + "properties": { + "WithKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/WithKey" + }, + "minItems": 1, + "maxItems": 10, + "uniqueItems": true, + "insertionOrder": false, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "WithKeys" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SplitString": { + "type": "object", + "properties": { + "Entries": { + "type": "array", + "items": { + "$ref": "#/definitions/SplitStringEntry" + }, + "minItems": 1, + "maxItems": 10, + "insertionOrder": false, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Entries" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SubstituteString": { + "type": "object", + "properties": { + "Entries": { + "type": "array", + "items": { + "$ref": "#/definitions/SubstituteStringEntry" + }, + "minItems": 1, + "maxItems": 10, + "insertionOrder": false, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Entries" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TrimString": { + "type": "object", + "properties": { + "WithKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/WithKey" + }, + "minItems": 1, + "maxItems": 10, + "uniqueItems": true, + "insertionOrder": false, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "WithKeys" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "UpperCaseString": { + "type": "object", + "properties": { + "WithKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/WithKey" + }, + "minItems": 1, + "maxItems": 10, + "uniqueItems": true, + "insertionOrder": false, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "WithKeys" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TypeConverter": { + "type": "object", + "properties": { + "Entries": { + "type": "array", + "items": { + "$ref": "#/definitions/TypeConverterEntry" + }, + "minItems": 1, + "maxItems": 5, + "insertionOrder": false, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Entries" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "minProperties": 1, + "maxProperties": 1, + "markdownDescription": "Individual processor configuration\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ParseCloudfront": { + "type": "object", + "properties": { + "Source": { + "$ref": "#/definitions/NonEmptyString" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ParseVPC": { + "type": "object", + "properties": { + "Source": { + "$ref": "#/definitions/NonEmptyString" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ParseWAF": { + "type": "object", + "properties": { + "Source": { + "$ref": "#/definitions/NonEmptyString" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ParseRoute53": { + "type": "object", + "properties": { + "Source": { + "$ref": "#/definitions/NonEmptyString" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ParsePostgres": { + "type": "object", + "properties": { + "Source": { + "$ref": "#/definitions/NonEmptyString" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AddKeyEntry": { + "type": "object", + "properties": { + "Key": { + "$ref": "#/definitions/NonEmptyAndMaxLengthString" + }, + "Value": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "OverwriteIfExists": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "Key", + "Value" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CopyValueEntry": { + "type": "object", + "properties": { + "Source": { + "$ref": "#/definitions/NonEmptyString" + }, + "Target": { + "$ref": "#/definitions/NonEmptyAndMaxLengthString" + }, + "OverwriteIfExists": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "required": [ + "Source", + "Target" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Column": { + "$ref": "#/definitions/NonEmptyAndMaxLengthString" + }, + "WithKey": { + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "MatchPattern": { + "$ref": "#/definitions/NonEmptyString" + }, + "MoveKeyEntry": { + "type": "object", + "properties": { + "Source": { + "$ref": "#/definitions/NonEmptyString" + }, + "Target": { + "$ref": "#/definitions/NonEmptyString" + }, + "OverwriteIfExists": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "required": [ + "Source", + "Target" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RenameKeyEntry": { + "type": "object", + "properties": { + "Key": { + "$ref": "#/definitions/NonEmptyString" + }, + "RenameTo": { + "$ref": "#/definitions/NonEmptyString" + }, + "OverwriteIfExists": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "RenameTo" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SplitStringEntry": { + "type": "object", + "properties": { + "Source": { + "$ref": "#/definitions/NonEmptyString" + }, + "Delimiter": { + "type": "string", + "maxLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 1 \nUpdate requires: No interruption" + } + }, + "required": [ + "Source", + "Delimiter" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SubstituteStringEntry": { + "type": "object", + "properties": { + "Source": { + "$ref": "#/definitions/NonEmptyString" + }, + "From": { + "$ref": "#/definitions/NonEmptyAndMaxLengthString" + }, + "To": { + "$ref": "#/definitions/NonEmptyAndMaxLengthString" + } + }, + "required": [ + "Source", + "From", + "To" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TypeConverterEntry": { + "type": "object", + "properties": { + "Key": { + "$ref": "#/definitions/NonEmptyString" + }, + "Type": { + "type": "string", + "enum": [ + "boolean", + "integer", + "double", + "string" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: boolean | integer | double | string \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Type" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "NonEmptyAndMaxLengthString": { + "type": "string", + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 128 \nPattern: ^.*[a-zA-Z0-9]+.*$ \nUpdate requires: No interruption" + }, + "NonEmptyString": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^.*[a-zA-Z0-9]+.*$ \nUpdate requires: No interruption" + }, + "MaxLengthString": { + "type": "string", + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" + } + }, + "primaryIdentifier": [ + "/properties/LogGroupIdentifier" + ], + "createOnlyProperties": [ + "/properties/LogGroupIdentifier" + ], + "handlers": { + "create": { + "permissions": [ + "logs:PutTransformer", + "logs:GetTransformer" + ] + }, + "read": { + "permissions": [ + "logs:GetTransformer" + ] + }, + "update": { + "permissions": [ + "logs:GetTransformer", + "logs:PutTransformer" + ] + }, + "delete": { + "permissions": [ + "logs:DeleteTransformer" + ] + }, + "list": { + "permissions": [ + "logs:DescribeLogGroups", + "logs:GetTransformer" + ] + } + }, + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "attributes": {} +} \ No newline at end of file diff --git a/server/schema/resources/aws-m2-application.json b/server/schema/resources/aws-m2-application.json index 71f492ad..e306020f 100644 --- a/server/schema/resources/aws-m2-application.json +++ b/server/schema/resources/aws-m2-application.json @@ -97,7 +97,6 @@ "cloudFormationSystemTags": false }, "required": [ - "Definition", "EngineType", "Name" ], diff --git a/server/schema/resources/aws-m2-deployment.json b/server/schema/resources/aws-m2-deployment.json new file mode 100644 index 00000000..ca2c5c5c --- /dev/null +++ b/server/schema/resources/aws-m2-deployment.json @@ -0,0 +1,135 @@ +{ + "typeName": "AWS::M2::Deployment", + "description": "Represents a deployment resource of an AWS Mainframe Modernization (M2) application to a specified environment", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-m2.git", + "properties": { + "EnvironmentId": { + "type": "string", + "description": "The environment ID.", + "markdownDescription": "The environment ID.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^\\S{1,80}$ \nUpdate requires: Replacement" + }, + "ApplicationId": { + "type": "string", + "description": "The application ID.", + "markdownDescription": "The application ID.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^\\S{1,80}$ \nUpdate requires: Replacement" + }, + "ApplicationVersion": { + "type": "integer", + "description": "The version number of the application to deploy", + "markdownDescription": "The version number of the application to deploy\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "EnvironmentId", + "ApplicationId", + "ApplicationVersion" + ], + "readOnlyProperties": [ + "/properties/DeploymentId", + "/properties/Status" + ], + "createOnlyProperties": [ + "/properties/EnvironmentId", + "/properties/ApplicationId" + ], + "primaryIdentifier": [ + "/properties/ApplicationId" + ], + "handlers": { + "create": { + "permissions": [ + "m2:CreateDeployment", + "m2:ListDeployments", + "m2:GetDeployment", + "iam:PassRole", + "ec2:DescribeNetworkInterfaces", + "elasticloadbalancing:CreateListener", + "elasticloadbalancing:CreateLoadBalancer", + "elasticloadbalancing:CreateTargetGroup", + "elasticloadbalancing:AddTags", + "elasticloadbalancing:RegisterTargets", + "logs:DescribeResourcePolicies", + "logs:DescribeLogGroups", + "logs:CreateLogDelivery", + "logs:GetLogDelivery", + "logs:UpdateLogDelivery", + "logs:DeleteLogDelivery", + "logs:ListLogDeliveries", + "logs:CreateLogGroup", + "logs:PutResourcePolicy" + ], + "timeoutInMinutes": 60 + }, + "read": { + "permissions": [ + "m2:ListDeployments", + "m2:GetDeployment" + ] + }, + "update": { + "permissions": [ + "m2:CreateDeployment", + "m2:ListDeployments", + "m2:GetDeployment", + "elasticloadbalancing:CreateListener", + "elasticloadbalancing:CreateLoadBalancer", + "elasticloadbalancing:CreateTargetGroup", + "elasticloadbalancing:DeleteListener", + "elasticloadbalancing:DeleteTargetGroup", + "elasticloadbalancing:DeregisterTargets", + "elasticloadbalancing:DeleteLoadBalancer", + "elasticloadbalancing:AddTags", + "elasticloadbalancing:RegisterTargets", + "ec2:DescribeNetworkInterfaces" + ], + "timeoutInMinutes": 60 + }, + "delete": { + "permissions": [ + "elasticloadbalancing:DeleteListener", + "elasticloadbalancing:DeleteTargetGroup", + "elasticloadbalancing:DeregisterTargets", + "elasticloadbalancing:DeleteLoadBalancer", + "logs:DeleteLogDelivery", + "m2:ListDeployments", + "m2:GetDeployment", + "m2:DeleteApplicationFromEnvironment" + ], + "timeoutInMinutes": 60 + }, + "list": { + "handlerSchema": { + "properties": { + "ApplicationId": { + "$ref": "resource-schema.json#/properties/ApplicationId" + } + }, + "required": [ + "ApplicationId" + ] + }, + "permissions": [ + "m2:ListDeployments" + ] + } + }, + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "attributes": { + "DeploymentId": { + "type": "string", + "description": "The deployment ID.", + "markdownDescription": "The deployment ID.\n\n---\n\nRequired: No \nType: String \nPattern: ^\\S{1,80}$ \nUpdate requires: No interruption" + }, + "Status": { + "type": "string", + "description": "The status of the deployment.", + "markdownDescription": "The status of the deployment.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-m2-environment.json b/server/schema/resources/aws-m2-environment.json index 9772b9c7..17173360 100644 --- a/server/schema/resources/aws-m2-environment.json +++ b/server/schema/resources/aws-m2-environment.json @@ -72,6 +72,14 @@ "additionalProperties": false, "markdownDescription": "Defines the details of a high availability configuration.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "NetworkType": { + "type": "string", + "enum": [ + "ipv4", + "dual" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ipv4 | dual \nUpdate requires: No interruption" + }, "StorageConfiguration": { "type": "object", "description": "Defines the storage configuration for an environment.", @@ -153,6 +161,9 @@ "description": "The name of the environment.", "markdownDescription": "The name of the environment.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[A-Za-z0-9][A-Za-z0-9_\\-]{1,59}$ \nUpdate requires: Replacement" }, + "NetworkType": { + "$ref": "#/definitions/NetworkType" + }, "PreferredMaintenanceWindow": { "type": "string", "description": "Configures a desired maintenance window for the environment. If you do not provide a value, a random system-generated value will be assigned.", @@ -218,6 +229,7 @@ "/properties/EngineType", "/properties/KmsKeyId", "/properties/Name", + "/properties/NetworkType", "/properties/PubliclyAccessible", "/properties/SecurityGroupIds", "/properties/StorageConfigurations", @@ -249,7 +261,8 @@ "m2:GetEnvironment", "m2:ListTagsForResource", "m2:TagResource" - ] + ], + "timeoutInMinutes": 120 }, "read": { "permissions": [ @@ -265,14 +278,16 @@ "m2:GetEnvironment", "m2:UpdateEnvironment", "kms:DescribeKey" - ] + ], + "timeoutInMinutes": 120 }, "delete": { "permissions": [ "elasticloadbalancing:DeleteLoadBalancer", "m2:DeleteEnvironment", "m2:GetEnvironment" - ] + ], + "timeoutInMinutes": 120 }, "list": { "permissions": [ diff --git a/server/schema/resources/aws-macie-allowlist.json b/server/schema/resources/aws-macie-allowlist.json index 6197e617..4276bbde 100644 --- a/server/schema/resources/aws-macie-allowlist.json +++ b/server/schema/resources/aws-macie-allowlist.json @@ -7,7 +7,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "macie2:TagResource", + "macie2:UntagResource" + ] }, "definitions": { "Regex": { diff --git a/server/schema/resources/aws-macie-customdataidentifier.json b/server/schema/resources/aws-macie-customdataidentifier.json index 2c27183f..c62ec657 100644 --- a/server/schema/resources/aws-macie-customdataidentifier.json +++ b/server/schema/resources/aws-macie-customdataidentifier.json @@ -80,7 +80,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "macie2:TagResource", + "macie2:UntagResource" + ] }, "required": [ "Name", @@ -133,7 +137,8 @@ "update": { "permissions": [ "macie2:TagResource", - "macie2:UntagResource" + "macie2:UntagResource", + "macie2:GetCustomDataIdentifier" ] } }, diff --git a/server/schema/resources/aws-macie-findingsfilter.json b/server/schema/resources/aws-macie-findingsfilter.json index 1863c5ad..5f04660c 100644 --- a/server/schema/resources/aws-macie-findingsfilter.json +++ b/server/schema/resources/aws-macie-findingsfilter.json @@ -154,7 +154,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "macie2:TagResource", + "macie2:UntagResource" + ] }, "required": [ "Name", diff --git a/server/schema/resources/aws-mediaconnect-bridge.json b/server/schema/resources/aws-mediaconnect-bridge.json index 46c1a159..2926f572 100644 --- a/server/schema/resources/aws-mediaconnect-bridge.json +++ b/server/schema/resources/aws-mediaconnect-bridge.json @@ -202,6 +202,11 @@ "type": "string", "markdownDescription": "The network source multicast IP.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, + "MulticastSourceSettings": { + "description": "The settings related to the multicast source.", + "$ref": "#/definitions/MulticastSourceSettings", + "markdownDescription": "The settings related to the multicast source.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "Port": { "description": "The network source port.", "type": "integer", @@ -223,6 +228,19 @@ "additionalProperties": false, "markdownDescription": "The source of the bridge. A network source originates at your premises.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "MulticastSourceSettings": { + "type": "object", + "description": "The settings related to the multicast source.", + "properties": { + "MulticastSourceIp": { + "description": "The IP address of the source for source-specific multicast (SSM).", + "type": "string", + "markdownDescription": "The IP address of the source for source-specific multicast (SSM).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "The settings related to the multicast source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ProtocolEnum": { "type": "string", "enum": [ diff --git a/server/schema/resources/aws-mediaconnect-bridgesource.json b/server/schema/resources/aws-mediaconnect-bridgesource.json index 5a18f70d..4d621387 100644 --- a/server/schema/resources/aws-mediaconnect-bridgesource.json +++ b/server/schema/resources/aws-mediaconnect-bridgesource.json @@ -51,6 +51,11 @@ "type": "string", "markdownDescription": "The network source multicast IP.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, + "MulticastSourceSettings": { + "description": "The settings related to the multicast source.", + "$ref": "#/definitions/MulticastSourceSettings", + "markdownDescription": "The settings related to the multicast source.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "Port": { "description": "The network source port.", "type": "integer", @@ -71,6 +76,19 @@ "additionalProperties": false, "markdownDescription": "The source of the bridge. A network source originates at your premises.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "MulticastSourceSettings": { + "type": "object", + "description": "The settings related to the multicast source.", + "properties": { + "MulticastSourceIp": { + "description": "The IP address of the source for source-specific multicast (SSM).", + "type": "string", + "markdownDescription": "The IP address of the source for source-specific multicast (SSM).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "The settings related to the multicast source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ProtocolEnum": { "type": "string", "enum": [ diff --git a/server/schema/resources/aws-mediaconvert-queue.json b/server/schema/resources/aws-mediaconvert-queue.json index c9a24d45..1bf543bd 100644 --- a/server/schema/resources/aws-mediaconvert-queue.json +++ b/server/schema/resources/aws-mediaconvert-queue.json @@ -22,6 +22,10 @@ "Name": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "ConcurrentJobs": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "createOnlyProperties": [ diff --git a/server/schema/resources/aws-medialive-channel.json b/server/schema/resources/aws-medialive-channel.json index c261f537..3f9a73ce 100644 --- a/server/schema/resources/aws-medialive-channel.json +++ b/server/schema/resources/aws-medialive-channel.json @@ -47,6 +47,9 @@ "EncoderSettings": { "$ref": "#/definitions/EncoderSettings" }, + "AnywhereSettings": { + "$ref": "#/definitions/AnywhereSettings" + }, "CdiInputSpecification": { "$ref": "#/definitions/CdiInputSpecification" }, @@ -426,6 +429,21 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "BandwidthReductionFilterSettings": { + "type": "object", + "additionalProperties": false, + "properties": { + "PostFilterSharpening": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Strength": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "FeatureActivations": { "type": "object", "additionalProperties": false, @@ -446,6 +464,17 @@ "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "SrtGroupSettings": { + "type": "object", + "additionalProperties": false, + "properties": { + "InputLossAction": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ArchiveGroupSettings": { "type": "object", "additionalProperties": false, @@ -474,6 +503,16 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "MultiplexContainerSettings": { + "type": "object", + "additionalProperties": false, + "properties": { + "MultiplexM2tsSettings": { + "$ref": "#/definitions/MultiplexM2tsSettings" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "NielsenConfiguration": { "type": "object", "additionalProperties": false, @@ -615,6 +654,69 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "MultiplexM2tsSettings": { + "type": "object", + "additionalProperties": false, + "properties": { + "Scte35Control": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "PcrPeriod": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "NielsenId3Behavior": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "EsRateInPes": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CcDescriptor": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AudioFramesPerPes": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "AbsentInputAudioBehavior": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AudioStreamType": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Klv": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Arib": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AudioBufferModel": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Ebif": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Scte35PrerollPullupMilliseconds": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "PcrControl": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "FailoverCondition": { "type": "object", "additionalProperties": false, @@ -801,6 +903,14 @@ "type": "object", "additionalProperties": false, "properties": { + "SrtSettings": { + "type": "array", + "uniqueItems": false, + "items": { + "$ref": "#/definitions/SrtOutputDestinationSettings" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "Id": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" @@ -898,6 +1008,42 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "MulticastInputSettings": { + "type": "object", + "additionalProperties": false, + "properties": { + "SourceIpAddress": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SrtOutputSettings": { + "type": "object", + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Destination": { + "$ref": "#/definitions/OutputLocationRef" + }, + "BufferMsec": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "ContainerSettings": { + "$ref": "#/definitions/UdpContainerSettings" + }, + "Latency": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "HlsMediaStoreSettings": { "type": "object", "additionalProperties": false, @@ -1155,6 +1301,9 @@ "properties": { "TemporalFilterSettings": { "$ref": "#/definitions/TemporalFilterSettings" + }, + "BandwidthReductionFilterSettings": { + "$ref": "#/definitions/BandwidthReductionFilterSettings" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -1261,6 +1410,21 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "AnywhereSettings": { + "type": "object", + "additionalProperties": false, + "properties": { + "ChannelPlacementGroupId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ClusterId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ColorCorrectionSettings": { "type": "object", "additionalProperties": false, @@ -1483,6 +1647,9 @@ }, "H265Settings": { "$ref": "#/definitions/H265Settings" + }, + "Av1Settings": { + "$ref": "#/definitions/Av1Settings" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -1503,6 +1670,9 @@ "properties": { "TemporalFilterSettings": { "$ref": "#/definitions/TemporalFilterSettings" + }, + "BandwidthReductionFilterSettings": { + "$ref": "#/definitions/BandwidthReductionFilterSettings" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -1539,6 +1709,9 @@ "MultiplexGroupSettings": { "$ref": "#/definitions/MultiplexGroupSettings" }, + "SrtGroupSettings": { + "$ref": "#/definitions/SrtGroupSettings" + }, "ArchiveGroupSettings": { "$ref": "#/definitions/ArchiveGroupSettings" }, @@ -1594,6 +1767,9 @@ "type": "object", "additionalProperties": false, "properties": { + "MulticastInputSettings": { + "$ref": "#/definitions/MulticastInputSettings" + }, "ServerValidation": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" @@ -1766,6 +1942,25 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "SrtOutputDestinationSettings": { + "type": "object", + "additionalProperties": false, + "properties": { + "StreamId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "EncryptionPassphraseSecretArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Url": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "AutomaticInputFailoverSettings": { "type": "object", "additionalProperties": false, @@ -2554,6 +2749,15 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "LogicalInterfaceNames": { + "type": "array", + "uniqueItems": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "AutomaticInputFailoverSettings": { "$ref": "#/definitions/AutomaticInputFailoverSettings" }, @@ -2609,6 +2813,25 @@ "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "Av1ColorSpaceSettings": { + "type": "object", + "additionalProperties": false, + "properties": { + "Rec601Settings": { + "$ref": "#/definitions/Rec601Settings" + }, + "Rec709Settings": { + "$ref": "#/definitions/Rec709Settings" + }, + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/ColorSpacePassthroughSettings" + }, + "Hdr10Settings": { + "$ref": "#/definitions/Hdr10Settings" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "HlsWebdavSettings": { "type": "object", "additionalProperties": false, @@ -2698,6 +2921,9 @@ "CmafIngestOutputSettings": { "$ref": "#/definitions/CmafIngestOutputSettings" }, + "SrtOutputSettings": { + "$ref": "#/definitions/SrtOutputSettings" + }, "ArchiveOutputSettings": { "$ref": "#/definitions/ArchiveOutputSettings" } @@ -3487,6 +3713,9 @@ "properties": { "Destination": { "$ref": "#/definitions/OutputLocationRef" + }, + "ContainerSettings": { + "$ref": "#/definitions/MultiplexContainerSettings" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -3573,6 +3802,79 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "Av1Settings": { + "type": "object", + "additionalProperties": false, + "properties": { + "TimecodeBurninSettings": { + "$ref": "#/definitions/TimecodeBurninSettings" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/Av1ColorSpaceSettings" + }, + "QvbrQualityLevel": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "ParDenominator": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "FixedAfd": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "GopSizeUnits": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "FramerateNumerator": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "AfdSignaling": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ParNumerator": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "BufSize": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MinIInterval": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "SceneChangeDetect": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "FramerateDenominator": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "LookAheadRateControl": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Level": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "MaxBitrate": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "GopSize": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TimecodeConfig": { "type": "object", "additionalProperties": false, @@ -3984,7 +4286,8 @@ } }, "createOnlyProperties": [ - "/properties/Vpc" + "/properties/Vpc", + "/properties/AnywhereSettings" ], "primaryIdentifier": [ "/properties/Id" diff --git a/server/schema/resources/aws-medialive-channelplacementgroup.json b/server/schema/resources/aws-medialive-channelplacementgroup.json index 70563fed..be672a76 100644 --- a/server/schema/resources/aws-medialive-channelplacementgroup.json +++ b/server/schema/resources/aws-medialive-channelplacementgroup.json @@ -79,8 +79,8 @@ ], "tagging": { "taggable": true, - "tagOnCreate": false, - "tagUpdatable": false, + "tagOnCreate": true, + "tagUpdatable": true, "cloudFormationSystemTags": false, "tagProperty": "/properties/Tags", "permissions": [ @@ -93,12 +93,14 @@ "permissions": [ "medialive:CreateChannelPlacementGroup", "medialive:DescribeChannelPlacementGroup", - "medialive:CreateTags" + "medialive:CreateTags", + "medialive:ListTagsForResource" ] }, "read": { "permissions": [ - "medialive:DescribeChannelPlacementGroup" + "medialive:DescribeChannelPlacementGroup", + "medialive:ListTagsForResource" ] }, "update": { @@ -106,7 +108,8 @@ "medialive:UpdateChannelPlacementGroup", "medialive:DescribeChannelPlacementGroup", "medialive:CreateTags", - "medialive:DeleteTags" + "medialive:DeleteTags", + "medialive:ListTagsForResource" ] }, "delete": { diff --git a/server/schema/resources/aws-medialive-cluster.json b/server/schema/resources/aws-medialive-cluster.json index 756b9f73..c14d6fe2 100644 --- a/server/schema/resources/aws-medialive-cluster.json +++ b/server/schema/resources/aws-medialive-cluster.json @@ -161,12 +161,14 @@ "ecs:RegisterTaskDefinition", "ecs:TagResource", "ecs:CreateService", - "iam:PassRole" + "iam:PassRole", + "medialive:ListTagsForResource" ] }, "read": { "permissions": [ - "medialive:DescribeCluster" + "medialive:DescribeCluster", + "medialive:ListTagsForResource" ] }, "update": { @@ -174,13 +176,15 @@ "medialive:UpdateCluster", "medialive:DescribeCluster", "medialive:CreateTags", - "medialive:DeleteTags" + "medialive:DeleteTags", + "medialive:ListTagsForResource" ] }, "delete": { "permissions": [ "medialive:DeleteCluster", - "medialive:DescribeCluster" + "medialive:DescribeCluster", + "ecs:DeleteService" ] }, "list": { diff --git a/server/schema/resources/aws-medialive-input.json b/server/schema/resources/aws-medialive-input.json index c3e94cdd..befd0ed5 100644 --- a/server/schema/resources/aws-medialive-input.json +++ b/server/schema/resources/aws-medialive-input.json @@ -6,6 +6,10 @@ "SrtSettings": { "$ref": "#/definitions/SrtSettingsRequest" }, + "InputNetworkLocation": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, "Destinations": { "type": "array", "uniqueItems": false, @@ -54,6 +58,9 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "MulticastSettings": { + "$ref": "#/definitions/MulticastSettingsCreateRequest" + }, "InputDevices": { "type": "array", "uniqueItems": false, @@ -128,6 +135,21 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "MulticastSettingsCreateRequest": { + "type": "object", + "additionalProperties": false, + "properties": { + "Sources": { + "type": "array", + "uniqueItems": false, + "items": { + "$ref": "#/definitions/MulticastSourceCreateRequest" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "InputDeviceSettings": { "type": "object", "additionalProperties": false, @@ -146,6 +168,22 @@ "StreamName": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "NetworkRoutes": { + "type": "array", + "uniqueItems": false, + "items": { + "$ref": "#/definitions/InputRequestDestinationRoute" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "StaticIpAddress": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Network": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -190,6 +228,21 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "InputRequestDestinationRoute": { + "type": "object", + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Gateway": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "MediaConnectFlowRequest": { "type": "object", "additionalProperties": false, @@ -200,11 +253,27 @@ } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MulticastSourceCreateRequest": { + "type": "object", + "additionalProperties": false, + "properties": { + "Url": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SourceIp": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "createOnlyProperties": [ "/properties/Vpc", - "/properties/Type" + "/properties/Type", + "/properties/InputNetworkLocation" ], "primaryIdentifier": [ "/properties/Id" diff --git a/server/schema/resources/aws-medialive-network.json b/server/schema/resources/aws-medialive-network.json index 588eabd2..26205699 100644 --- a/server/schema/resources/aws-medialive-network.json +++ b/server/schema/resources/aws-medialive-network.json @@ -126,12 +126,15 @@ "create": { "permissions": [ "medialive:CreateNetwork", - "medialive:CreateTags" + "medialive:CreateTags", + "medialive:DescribeNetwork", + "medialive:ListTagsForResource" ] }, "read": { "permissions": [ - "medialive:DescribeNetwork" + "medialive:DescribeNetwork", + "medialive:ListTagsForResource" ] }, "update": { @@ -139,7 +142,8 @@ "medialive:UpdateNetwork", "medialive:CreateTags", "medialive:DeleteTags", - "medialive:DescribeNetwork" + "medialive:DescribeNetwork", + "medialive:ListTagsForResource" ] }, "delete": { diff --git a/server/schema/resources/aws-medialive-sdisource.json b/server/schema/resources/aws-medialive-sdisource.json index 14723fa0..591295c8 100644 --- a/server/schema/resources/aws-medialive-sdisource.json +++ b/server/schema/resources/aws-medialive-sdisource.json @@ -97,12 +97,15 @@ "create": { "permissions": [ "medialive:CreateSdiSource", - "medialive:CreateTags" + "medialive:CreateTags", + "medialive:DescribeSdiSource", + "medialive:ListTagsForResource" ] }, "read": { "permissions": [ - "medialive:DescribeSdiSource" + "medialive:DescribeSdiSource", + "medialive:ListTagsForResource" ] }, "update": { @@ -110,7 +113,8 @@ "medialive:UpdateSdiSource", "medialive:DescribeSdiSource", "medialive:CreateTags", - "medialive:DeleteTags" + "medialive:DeleteTags", + "medialive:ListTagsForResource" ] }, "delete": { diff --git a/server/schema/resources/aws-mediapackage-originendpoint.json b/server/schema/resources/aws-mediapackage-originendpoint.json index c276b61a..d8eb1349 100644 --- a/server/schema/resources/aws-mediapackage-originendpoint.json +++ b/server/schema/resources/aws-mediapackage-originendpoint.json @@ -708,9 +708,13 @@ "tagging": { "taggable": true, "tagOnCreate": true, - "tagUpdatable": false, + "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "mediapackage:TagResource", + "mediapackage:UntagResource" + ] }, "additionalProperties": false, "required": [ @@ -753,6 +757,10 @@ "update": { "permissions": [ "mediapackage:UpdateOriginEndpoint", + "mediapackage:TagResource", + "mediapackage:ListTagsForResource", + "mediapackage:UntagResource", + "mediapackage:DescribeOriginEndpoint", "iam:PassRole" ] }, diff --git a/server/schema/resources/aws-mediapackagev2-originendpoint.json b/server/schema/resources/aws-mediapackagev2-originendpoint.json index 3914dfec..4c9b1c42 100644 --- a/server/schema/resources/aws-mediapackagev2-originendpoint.json +++ b/server/schema/resources/aws-mediapackagev2-originendpoint.json @@ -201,6 +201,12 @@ "minimum": 0, "description": "

Optionally specify the time delay for all of your manifest egress requests. Enter a value that is smaller than your endpoint's startover window. When you include time delay, note that you cannot use time delay query parameters for this manifest's endpoint URL.

", "markdownDescription": "

Optionally specify the time delay for all of your manifest egress requests. Enter a value that is smaller than your endpoint's startover window. When you include time delay, note that you cannot use time delay query parameters for this manifest's endpoint URL.

\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "ClipStartTime": { + "type": "string", + "description": "

Optionally specify the clip start time for all of your manifest egress requests. When you include clip start time, note that you cannot use clip start time query parameters for this manifest's endpoint URL.

", + "format": "date-time", + "markdownDescription": "

Optionally specify the clip start time for all of your manifest egress requests. When you include clip start time, note that you cannot use clip start time query parameters for this manifest's endpoint URL.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -323,6 +329,9 @@ }, "FilterConfiguration": { "$ref": "#/definitions/FilterConfiguration" + }, + "StartTag": { + "$ref": "#/definitions/StartTag" } }, "required": [ @@ -369,6 +378,9 @@ }, "FilterConfiguration": { "$ref": "#/definitions/FilterConfiguration" + }, + "StartTag": { + "$ref": "#/definitions/StartTag" } }, "required": [ @@ -551,6 +563,27 @@ "additionalProperties": false, "markdownDescription": "

The parameters for the SPEKE key provider.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "StartTag": { + "type": "object", + "description": "

To insert an EXT-X-START tag in your HLS playlist, specify a StartTag configuration object with a valid TimeOffset. When you do, you can also optionally specify whether to include a PRECISE value in the EXT-X-START tag.

", + "properties": { + "TimeOffset": { + "type": "number", + "description": "

Specify the value for TIME-OFFSET within your EXT-X-START tag. Enter a signed floating point value which, if positive, must be less than the configured manifest duration minus three times the configured segment target duration. If negative, the absolute value must be larger than three times the configured segment target duration, and the absolute value must be smaller than the configured manifest duration.

", + "markdownDescription": "

Specify the value for TIME-OFFSET within your EXT-X-START tag. Enter a signed floating point value which, if positive, must be less than the configured manifest duration minus three times the configured segment target duration. If negative, the absolute value must be larger than three times the configured segment target duration, and the absolute value must be smaller than the configured manifest duration.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "Precise": { + "type": "boolean", + "description": "

Specify the value for PRECISE within your EXT-X-START tag. Leave blank, or choose false, to use the default value NO. Choose yes to use the value YES.

", + "markdownDescription": "

Specify the value for PRECISE within your EXT-X-START tag. Leave blank, or choose false, to use the default value NO. Choose yes to use the value YES.

\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "required": [ + "TimeOffset" + ], + "additionalProperties": false, + "markdownDescription": "

To insert an EXT-X-START tag in your HLS playlist, specify a StartTag configuration object with a valid TimeOffset. When you do, you can also optionally specify whether to include a PRECISE value in the EXT-X-START tag.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TsEncryptionMethod": { "type": "string", "enum": [ diff --git a/server/schema/resources/aws-memorydb-cluster.json b/server/schema/resources/aws-memorydb-cluster.json index de285064..f673f79b 100644 --- a/server/schema/resources/aws-memorydb-cluster.json +++ b/server/schema/resources/aws-memorydb-cluster.json @@ -2,7 +2,6 @@ "typeName": "AWS::MemoryDB::Cluster", "description": "The AWS::MemoryDB::Cluster resource creates an Amazon MemoryDB Cluster.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-memorydb", - "taggable": true, "definitions": { "Endpoint": { "type": "object", @@ -67,6 +66,11 @@ "type": "string", "markdownDescription": "An optional description of the cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "MultiRegionClusterName": { + "description": "The name of the Global Datastore, it is generated by MemoryDB adding a prefix to MultiRegionClusterNameSuffix.", + "type": "string", + "markdownDescription": "The name of the Global Datastore, it is generated by MemoryDB adding a prefix to MultiRegionClusterNameSuffix.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, "NodeType": { "description": "The compute and memory capacity of the nodes in the cluster.", "type": "string", @@ -175,6 +179,11 @@ "type": "string", "markdownDescription": "The user-supplied name of a final cluster snapshot. This is the unique name that identifies the snapshot. MemoryDB creates the snapshot, and then deletes the cluster immediately afterward.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "Engine": { + "description": "The engine type used by the cluster.", + "type": "string", + "markdownDescription": "The engine type used by the cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "EngineVersion": { "description": "The Redis engine version used by the cluster.", "type": "string", @@ -202,6 +211,18 @@ "markdownDescription": "An array of key-value pairs to apply to this cluster.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "memorydb:TagResource", + "memorydb:ListTags", + "memorydb:UntagResource" + ] + }, "additionalProperties": false, "readOnlyProperties": [ "/properties/Status", @@ -223,11 +244,13 @@ "/properties/Port", "/properties/SubnetGroupName", "/properties/SnapshotArns", + "/properties/MultiRegionClusterName", "/properties/SnapshotName" ], "writeOnlyProperties": [ "/properties/SnapshotArns", "/properties/SnapshotName", + "/properties/MultiRegionClusterName", "/properties/FinalSnapshotName" ], "primaryIdentifier": [ @@ -236,8 +259,11 @@ "handlers": { "create": { "permissions": [ + "kms:DescribeKey", + "kms:CreateGrant", "memorydb:CreateCluster", "memorydb:DescribeClusters", + "memorydb:TagResource", "memorydb:ListTags" ] }, @@ -254,7 +280,8 @@ "memorydb:ListTags", "memorydb:TagResource", "memorydb:UntagResource" - ] + ], + "timeoutInMinutes": 2160 }, "delete": { "permissions": [ diff --git a/server/schema/resources/aws-memorydb-multiregioncluster.json b/server/schema/resources/aws-memorydb-multiregioncluster.json new file mode 100644 index 00000000..14984630 --- /dev/null +++ b/server/schema/resources/aws-memorydb-multiregioncluster.json @@ -0,0 +1,184 @@ +{ + "typeName": "AWS::MemoryDB::MultiRegionCluster", + "description": "The AWS::MemoryDB::Multi Region Cluster resource creates an Amazon MemoryDB Multi Region Cluster.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-memorydb", + "definitions": { + "Tag": { + "description": "A key-value pair to associate with a resource.", + "type": "object", + "additionalProperties": false, + "properties": { + "Key": { + "description": "The key for the tag. May not be null.", + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The key for the tag. May not be null.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\\.\\/=+:\\-@]{1,128}$ \nUpdate requires: No interruption" + }, + "Value": { + "description": "The tag's value. May be null.", + "type": "string", + "minLength": 1, + "maxLength": 256, + "markdownDescription": "The tag's value. May be null.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^(?!aws:)(?!memorydb:)[a-zA-Z0-9 _\\.\\/=+:\\-@]{1,256}$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "MultiRegionClusterNameSuffix": { + "description": "The name of the Multi Region cluster. This value must be unique as it also serves as the multi region cluster identifier.", + "type": "string", + "markdownDescription": "The name of the Multi Region cluster. This value must be unique as it also serves as the multi region cluster identifier.\n\n---\n\nRequired: No \nType: String \nPattern: [a-z][a-z0-9\\-]* \nUpdate requires: Replacement" + }, + "Description": { + "description": "Description of the multi region cluster.", + "type": "string", + "markdownDescription": "Description of the multi region cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "NodeType": { + "description": "The compute and memory capacity of the nodes in the multi region cluster.", + "type": "string", + "markdownDescription": "The compute and memory capacity of the nodes in the multi region cluster.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "NumShards": { + "description": "The number of shards the multi region cluster will contain.", + "type": "integer", + "markdownDescription": "The number of shards the multi region cluster will contain.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MultiRegionParameterGroupName": { + "description": "The name of the parameter group associated with the multi region cluster.", + "type": "string", + "markdownDescription": "The name of the parameter group associated with the multi region cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "TLSEnabled": { + "description": "A flag that enables in-transit encryption when set to true.\n\nYou cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when you create a cluster.", + "type": "boolean", + "markdownDescription": "A flag that enables in-transit encryption when set to true.\n\nYou cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when you create a cluster.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + }, + "Engine": { + "description": "The engine type used by the multi region cluster.", + "type": "string", + "markdownDescription": "The engine type used by the multi region cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "EngineVersion": { + "description": "The Redis engine version used by the multi region cluster.", + "type": "string", + "markdownDescription": "The Redis engine version used by the multi region cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "Tags": { + "description": "An array of key-value pairs to apply to this multi region cluster.", + "type": "array", + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this multi region cluster.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "UpdateStrategy": { + "description": "An enum string value that determines the update strategy for scaling. Possible values are 'COORDINATED' and 'UNCOORDINATED'. Default is 'COORDINATED'.", + "type": "string", + "enum": [ + "COORDINATED", + "UNCOORDINATED" + ], + "markdownDescription": "An enum string value that determines the update strategy for scaling. Possible values are 'COORDINATED' and 'UNCOORDINATED'. Default is 'COORDINATED'.\n\n---\n\nRequired: No \nType: String \nAllowed Values: COORDINATED | UNCOORDINATED \nUpdate requires: No interruption" + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "memorydb:TagResource", + "memorydb:ListTags", + "memorydb:UntagResource" + ] + }, + "additionalProperties": false, + "readOnlyProperties": [ + "/properties/MultiRegionClusterName", + "/properties/Status", + "/properties/ARN" + ], + "writeOnlyProperties": [ + "/properties/MultiRegionClusterNameSuffix", + "/properties/UpdateStrategy" + ], + "required": [ + "NodeType" + ], + "createOnlyProperties": [ + "/properties/MultiRegionClusterNameSuffix", + "/properties/EngineVersion", + "/properties/MultiRegionParameterGroupName", + "/properties/TLSEnabled" + ], + "primaryIdentifier": [ + "/properties/MultiRegionClusterName" + ], + "handlers": { + "create": { + "permissions": [ + "memorydb:CreateMultiRegionCluster", + "memorydb:DescribeMultiRegionClusters", + "memorydb:TagResource", + "memorydb:ListTags" + ], + "timeoutInMinutes": 2160 + }, + "read": { + "permissions": [ + "memorydb:DescribeMultiRegionClusters", + "memorydb:ListTags" + ] + }, + "update": { + "permissions": [ + "memorydb:UpdateMultiRegionCluster", + "memorydb:DescribeMultiRegionClusters", + "memorydb:ListTags", + "memorydb:TagResource", + "memorydb:UntagResource" + ], + "timeoutInMinutes": 2160 + }, + "delete": { + "permissions": [ + "memorydb:DeleteMultiRegionCluster", + "memorydb:DescribeMultiRegionClusters" + ] + }, + "list": { + "permissions": [ + "memorydb:DescribeMultiRegionClusters" + ] + } + }, + "attributes": { + "MultiRegionClusterName": { + "description": "The name of the Global Datastore, it is generated by MemoryDB adding a prefix to MultiRegionClusterNameSuffix.", + "type": "string", + "markdownDescription": "The name of the Global Datastore, it is generated by MemoryDB adding a prefix to MultiRegionClusterNameSuffix.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Status": { + "description": "The status of the multi region cluster. For example, Available, Updating, Creating.", + "type": "string", + "markdownDescription": "The status of the multi region cluster. For example, Available, Updating, Creating.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ARN": { + "description": "The Amazon Resource Name (ARN) of the multi region cluster.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the multi region cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-msk-cluster.json b/server/schema/resources/aws-msk-cluster.json index 07db740d..fdcc679f 100644 --- a/server/schema/resources/aws-msk-cluster.json +++ b/server/schema/resources/aws-msk-cluster.json @@ -597,7 +597,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "kafka:TagResource", + "kafka:UntagResource", + "kafka:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-msk-replicator.json b/server/schema/resources/aws-msk-replicator.json index 3984caf5..0824dabd 100644 --- a/server/schema/resources/aws-msk-replicator.json +++ b/server/schema/resources/aws-msk-replicator.json @@ -395,7 +395,12 @@ "/properties/ReplicatorName", "/properties/Description", "/properties/KafkaClusters", - "/properties/ServiceExecutionRoleArn" + "/properties/ServiceExecutionRoleArn", + "/properties/ReplicationInfoList/*/SourceKafkaClusterArn", + "/properties/ReplicationInfoList/*/TargetKafkaClusterArn", + "/properties/ReplicationInfoList/*/TargetCompressionType", + "/properties/ReplicationInfoList/*/TopicReplication/StartingPosition", + "/properties/ReplicationInfoList/*/TopicReplication/TopicNameConfiguration" ], "handlers": { "create": { diff --git a/server/schema/resources/aws-msk-vpcconnection.json b/server/schema/resources/aws-msk-vpcconnection.json index b226a31c..34e402e6 100644 --- a/server/schema/resources/aws-msk-vpcconnection.json +++ b/server/schema/resources/aws-msk-vpcconnection.json @@ -99,7 +99,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "kafka:TagResource", + "kafka:UntagResource", + "kafka:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-mwaa-environment.json b/server/schema/resources/aws-mwaa-environment.json index 3dbe58e9..43e513f8 100644 --- a/server/schema/resources/aws-mwaa-environment.json +++ b/server/schema/resources/aws-mwaa-environment.json @@ -188,13 +188,13 @@ "MaxWebservers": { "type": "integer", "description": "Maximum webserver compute units.", - "minimum": 2, + "minimum": 1, "markdownDescription": "Maximum webserver compute units.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "MinWebservers": { "type": "integer", "description": "Minimum webserver compute units.", - "minimum": 2, + "minimum": 1, "markdownDescription": "Minimum webserver compute units.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Schedulers": { diff --git a/server/schema/resources/aws-networkfirewall-firewallpolicy.json b/server/schema/resources/aws-networkfirewall-firewallpolicy.json index 6ddaf826..c176fd91 100644 --- a/server/schema/resources/aws-networkfirewall-firewallpolicy.json +++ b/server/schema/resources/aws-networkfirewall-firewallpolicy.json @@ -281,6 +281,19 @@ }, "StreamExceptionPolicy": { "$ref": "#/definitions/StreamExceptionPolicy" + }, + "FlowTimeouts": { + "type": "object", + "properties": { + "TcpIdleTimeoutSeconds": { + "type": "integer", + "minimum": 60, + "maximum": 6000, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-networkmanager-directconnectgatewayattachment.json b/server/schema/resources/aws-networkmanager-directconnectgatewayattachment.json new file mode 100644 index 00000000..34117ed2 --- /dev/null +++ b/server/schema/resources/aws-networkmanager-directconnectgatewayattachment.json @@ -0,0 +1,270 @@ +{ + "typeName": "AWS::NetworkManager::DirectConnectGatewayAttachment", + "description": "AWS::NetworkManager::DirectConnectGatewayAttachment Resource Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkmanager/aws-networkmanager-directconnectgatewayattachment", + "properties": { + "CoreNetworkId": { + "description": "The ID of a core network for the Direct Connect Gateway attachment.", + "type": "string", + "markdownDescription": "The ID of a core network for the Direct Connect Gateway attachment.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "EdgeLocations": { + "description": "The Regions where the edges are located.", + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The Regions where the edges are located.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "DirectConnectGatewayArn": { + "description": "The ARN of the Direct Connect Gateway.", + "type": "string", + "markdownDescription": "The ARN of the Direct Connect Gateway.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "ProposedSegmentChange": { + "description": "The attachment to move from one segment to another.", + "$ref": "#/definitions/ProposedSegmentChange", + "markdownDescription": "The attachment to move from one segment to another.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ProposedNetworkFunctionGroupChange": { + "description": "The attachment to move from one network function group to another.", + "$ref": "#/definitions/ProposedNetworkFunctionGroupChange", + "markdownDescription": "The attachment to move from one network function group to another.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Tags": { + "description": "Tags for the attachment.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags for the attachment.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "definitions": { + "Tag": { + "description": "A key-value pair to associate with a resource.", + "type": "object", + "properties": { + "Key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ProposedSegmentChange": { + "description": "The attachment to move from one segment to another.", + "type": "object", + "properties": { + "Tags": { + "description": "The key-value tags that changed for the segment.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The key-value tags that changed for the segment.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AttachmentPolicyRuleNumber": { + "description": "The rule number in the policy document that applies to this change.", + "type": "integer", + "markdownDescription": "The rule number in the policy document that applies to this change.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "SegmentName": { + "description": "The name of the segment to change.", + "type": "string", + "markdownDescription": "The name of the segment to change.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "The attachment to move from one segment to another.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ProposedNetworkFunctionGroupChange": { + "description": "The attachment to move from one network function group to another.", + "type": "object", + "properties": { + "Tags": { + "description": "The key-value tags that changed for the network function group.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The key-value tags that changed for the network function group.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AttachmentPolicyRuleNumber": { + "description": "The rule number in the policy document that applies to this change.", + "type": "integer", + "markdownDescription": "The rule number in the policy document that applies to this change.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "NetworkFunctionGroupName": { + "description": "The name of the network function group to change.", + "type": "string", + "markdownDescription": "The name of the network function group to change.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "The attachment to move from one network function group to another.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "networkmanager:TagResource", + "networkmanager:UntagResource", + "networkmanager:ListTagsForResource" + ] + }, + "additionalProperties": false, + "required": [ + "CoreNetworkId", + "DirectConnectGatewayArn", + "EdgeLocations" + ], + "createOnlyProperties": [ + "/properties/CoreNetworkId", + "/properties/DirectConnectGatewayArn" + ], + "readOnlyProperties": [ + "/properties/CoreNetworkArn", + "/properties/CreatedAt", + "/properties/UpdatedAt", + "/properties/AttachmentType", + "/properties/State", + "/properties/AttachmentId", + "/properties/OwnerAccountId", + "/properties/AttachmentPolicyRuleNumber", + "/properties/SegmentName", + "/properties/NetworkFunctionGroupName", + "/properties/ResourceArn" + ], + "primaryIdentifier": [ + "/properties/AttachmentId" + ], + "additionalIdentifiers": [ + [ + "/properties/CoreNetworkId", + "/properties/DirectConnectGatewayArn" + ] + ], + "handlers": { + "create": { + "permissions": [ + "networkmanager:CreateDirectConnectGatewayAttachment", + "networkmanager:GetDirectConnectGatewayAttachment", + "networkmanager:TagResource", + "ec2:DescribeRegions", + "iam:CreateServiceLinkedRole" + ], + "timeoutInMinutes": 60 + }, + "read": { + "permissions": [ + "networkmanager:GetDirectConnectGatewayAttachment" + ] + }, + "update": { + "permissions": [ + "networkmanager:UpdateDirectConnectGatewayAttachment", + "networkmanager:GetDirectConnectGatewayAttachment", + "networkmanager:ListTagsForResource", + "networkmanager:TagResource", + "networkmanager:UntagResource", + "ec2:DescribeRegions" + ], + "timeoutInMinutes": 60 + }, + "delete": { + "permissions": [ + "networkmanager:DeleteAttachment", + "networkmanager:GetDirectConnectGatewayAttachment", + "networkmanager:UntagResource", + "ec2:DescribeRegions" + ], + "timeoutInMinutes": 60 + }, + "list": { + "permissions": [ + "networkmanager:ListAttachments" + ] + } + }, + "attributes": { + "CoreNetworkArn": { + "description": "The ARN of a core network for the Direct Connect Gateway attachment.", + "type": "string", + "markdownDescription": "The ARN of a core network for the Direct Connect Gateway attachment.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AttachmentId": { + "description": "Id of the attachment.", + "type": "string", + "markdownDescription": "Id of the attachment.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "OwnerAccountId": { + "description": "Owner account of the attachment.", + "type": "string", + "markdownDescription": "Owner account of the attachment.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AttachmentType": { + "description": "Attachment type.", + "type": "string", + "markdownDescription": "Attachment type.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "State": { + "description": "State of the attachment.", + "type": "string", + "markdownDescription": "State of the attachment.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ResourceArn": { + "description": "The ARN of the Resource.", + "type": "string", + "markdownDescription": "The ARN of the Resource.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AttachmentPolicyRuleNumber": { + "description": "The policy rule number associated with the attachment.", + "type": "integer", + "markdownDescription": "The policy rule number associated with the attachment.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "SegmentName": { + "description": "The name of the segment attachment..", + "type": "string", + "markdownDescription": "The name of the segment attachment..\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "NetworkFunctionGroupName": { + "description": "The name of the network function group attachment.", + "type": "string", + "markdownDescription": "The name of the network function group attachment.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CreatedAt": { + "description": "Creation time of the attachment.", + "type": "string", + "markdownDescription": "Creation time of the attachment.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "UpdatedAt": { + "description": "Last update time of the attachment.", + "type": "string", + "markdownDescription": "Last update time of the attachment.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-networkmanager-transitgatewaypeering.json b/server/schema/resources/aws-networkmanager-transitgatewaypeering.json index 55f07e22..a00da4b8 100644 --- a/server/schema/resources/aws-networkmanager-transitgatewaypeering.json +++ b/server/schema/resources/aws-networkmanager-transitgatewaypeering.json @@ -102,8 +102,7 @@ }, "read": { "permissions": [ - "networkmanager:GetTransitGatewayPeering", - "networkmanager:TagResource" + "networkmanager:GetTransitGatewayPeering" ] }, "update": { diff --git a/server/schema/resources/aws-nimblestudio-launchprofile.json b/server/schema/resources/aws-nimblestudio-launchprofile.json index 39defcaf..c9c1b9ae 100644 --- a/server/schema/resources/aws-nimblestudio-launchprofile.json +++ b/server/schema/resources/aws-nimblestudio-launchprofile.json @@ -1,315 +1,200 @@ { "typeName": "AWS::NimbleStudio::LaunchProfile", - "description": "Represents a launch profile which delegates access to a collection of studio components to studio users", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-nimblestudio", - "definitions": { - "AutomaticTerminationMode": { + "description": "Resource Type definition for AWS::NimbleStudio::LaunchProfile", + "additionalProperties": false, + "properties": { + "Description": { "type": "string", - "enum": [ - "DEACTIVATED", - "ACTIVATED" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DEACTIVATED | ACTIVATED \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SessionBackupMode": { - "type": "string", - "enum": [ - "AUTOMATIC", - "DEACTIVATED" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: AUTOMATIC | DEACTIVATED \nUpdate requires: No interruption" + "Ec2SubnetIds": { + "type": "array", + "uniqueItems": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: Replacement" }, - "SessionPersistenceMode": { - "type": "string", - "enum": [ - "DEACTIVATED", - "ACTIVATED" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DEACTIVATED | ACTIVATED \nUpdate requires: No interruption" + "StudioComponentIds": { + "type": "array", + "uniqueItems": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, "StreamConfiguration": { + "$ref": "#/definitions/StreamConfiguration" + }, + "LaunchProfileProtocolVersions": { + "type": "array", + "uniqueItems": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "StudioId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "Tags": { + "type": "object", + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: Replacement" + }, + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "definitions": { + "StreamingSessionStorageRoot": { "type": "object", - "description": "

A configuration for a streaming session.

", + "additionalProperties": false, "properties": { - "ClipboardMode": { - "$ref": "#/definitions/StreamingClipboardMode" + "Linux": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Ec2InstanceTypes": { - "type": "array", - "items": { - "$ref": "#/definitions/StreamingInstanceType" - }, - "maxItems": 30, - "minItems": 1, - "description": "

The EC2 instance types that users can select from when launching a streaming session\n with this launch profile.

", - "markdownDescription": "

The EC2 instance types that users can select from when launching a streaming session\n with this launch profile.

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "Windows": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StreamConfigurationSessionBackup": { + "type": "object", + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "MaxBackupsToRetain": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StreamConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { "MaxSessionLengthInMinutes": { "type": "number", - "default": 690, - "maximum": 43200, - "minimum": 1, - "description": "

The length of time, in minutes, that a streaming session can be active before it is\n stopped or terminated. After this point, Nimble Studio automatically terminates or\n stops the session. The default length of time is 690 minutes, and the maximum length of\n time is 30 days.

", - "markdownDescription": "

The length of time, in minutes, that a streaming session can be active before it is\n stopped or terminated. After this point, Nimble Studio automatically terminates or\n stops the session. The default length of time is 690 minutes, and the maximum length of\n time is 30 days.

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "ClipboardMode": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "StreamingImageIds": { "type": "array", + "uniqueItems": false, "items": { "type": "string", - "maxLength": 22, - "minLength": 0, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 22 \nPattern: ^[a-zA-Z0-9-_]*$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "maxItems": 20, - "minItems": 1, - "description": "

The streaming images that users can select from when launching a streaming session\n with this launch profile.

", - "markdownDescription": "

The streaming images that users can select from when launching a streaming session\n with this launch profile.

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, "MaxStoppedSessionLengthInMinutes": { "type": "number", - "default": 0, - "maximum": 5760, - "minimum": 0, - "description": "

Integer that determines if you can start and stop your sessions and how long a session\n can stay in the STOPPED state. The default value is 0. The maximum value is\n 5760.

\n

This field is allowed only when sessionPersistenceMode is\n ACTIVATED and automaticTerminationMode is\n ACTIVATED.

\n

If the value is set to 0, your sessions can\u2019t be STOPPED. If you then\n call StopStreamingSession, the session fails. If the time that a session\n stays in the READY state exceeds the maxSessionLengthInMinutes\n value, the session will automatically be terminated (instead of\n STOPPED).

\n

If the value is set to a positive number, the session can be stopped. You can call\n StopStreamingSession to stop sessions in the READY state.\n If the time that a session stays in the READY state exceeds the\n maxSessionLengthInMinutes value, the session will automatically be\n stopped (instead of terminated).

", - "markdownDescription": "

Integer that determines if you can start and stop your sessions and how long a session\n can stay in the STOPPED state. The default value is 0. The maximum value is\n 5760.

\n

This field is allowed only when sessionPersistenceMode is\n ACTIVATED and automaticTerminationMode is\n ACTIVATED.

\n

If the value is set to 0, your sessions can\u2019t be STOPPED. If you then\n call StopStreamingSession, the session fails. If the time that a session\n stays in the READY state exceeds the maxSessionLengthInMinutes\n value, the session will automatically be terminated (instead of\n STOPPED).

\n

If the value is set to a positive number, the session can be stopped. You can call\n StopStreamingSession to stop sessions in the READY state.\n If the time that a session stays in the READY state exceeds the\n maxSessionLengthInMinutes value, the session will automatically be\n stopped (instead of terminated).

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, - "SessionStorage": { - "$ref": "#/definitions/StreamConfigurationSessionStorage" + "SessionPersistenceMode": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AutomaticTerminationMode": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "SessionBackup": { "$ref": "#/definitions/StreamConfigurationSessionBackup" }, - "SessionPersistenceMode": { - "$ref": "#/definitions/SessionPersistenceMode" + "Ec2InstanceTypes": { + "type": "array", + "uniqueItems": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "SessionStorage": { + "$ref": "#/definitions/StreamConfigurationSessionStorage" }, "VolumeConfiguration": { "$ref": "#/definitions/VolumeConfiguration" - }, - "AutomaticTerminationMode": { - "$ref": "#/definitions/AutomaticTerminationMode" } }, "required": [ "ClipboardMode", - "Ec2InstanceTypes", - "StreamingImageIds" + "StreamingImageIds", + "Ec2InstanceTypes" ], - "additionalProperties": false, - "markdownDescription": "

A configuration for a streaming session.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "StreamConfigurationSessionBackup": { + "VolumeConfiguration": { "type": "object", - "description": "

Configures how streaming sessions are backed up when launched from this launch\n profile.

", + "additionalProperties": false, "properties": { - "Mode": { - "$ref": "#/definitions/SessionBackupMode" + "Throughput": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, - "MaxBackupsToRetain": { + "Iops": { "type": "number", - "default": 0, - "maximum": 10, - "minimum": 0, - "description": "

The maximum number of backups that each streaming session created from this launch\n profile can have.

", - "markdownDescription": "

The maximum number of backups that each streaming session created from this launch\n profile can have.

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "Size": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "markdownDescription": "

Configures how streaming sessions are backed up when launched from this launch\n profile.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "StreamConfigurationSessionStorage": { "type": "object", - "description": "

The configuration for a streaming session\u2019s upload storage.

", + "additionalProperties": false, "properties": { "Root": { "$ref": "#/definitions/StreamingSessionStorageRoot" }, "Mode": { "type": "array", + "uniqueItems": false, "items": { - "$ref": "#/definitions/StreamingSessionStorageMode" + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "minItems": 1, - "description": "

Allows artists to upload files to their workstations. The only valid option is\n UPLOAD.

", - "markdownDescription": "

Allows artists to upload files to their workstations. The only valid option is\n UPLOAD.

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ "Mode" ], - "additionalProperties": false, - "markdownDescription": "

The configuration for a streaming session\u2019s upload storage.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "StreamingClipboardMode": { - "type": "string", - "enum": [ - "ENABLED", - "DISABLED" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" - }, - "StreamingInstanceType": { - "type": "string", - "enum": [ - "g4dn.xlarge", - "g4dn.2xlarge", - "g4dn.4xlarge", - "g4dn.8xlarge", - "g4dn.12xlarge", - "g4dn.16xlarge", - "g3.4xlarge", - "g3s.xlarge", - "g5.xlarge", - "g5.2xlarge", - "g5.4xlarge", - "g5.8xlarge", - "g5.16xlarge" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: g4dn.xlarge | g4dn.2xlarge | g4dn.4xlarge | g4dn.8xlarge | g4dn.12xlarge | g4dn.16xlarge | g3.4xlarge | g3s.xlarge | g5.xlarge | g5.2xlarge | g5.4xlarge | g5.8xlarge | g5.16xlarge \nUpdate requires: No interruption" - }, - "StreamingSessionStorageMode": { - "type": "string", - "enum": [ - "UPLOAD" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: UPLOAD \nUpdate requires: No interruption" - }, - "StreamingSessionStorageRoot": { - "type": "object", - "description": "

The upload storage root location (folder) on streaming workstations where files are\n uploaded.

", - "properties": { - "Linux": { - "type": "string", - "maxLength": 128, - "minLength": 1, - "description": "

The folder path in Linux workstations where files are uploaded.

", - "markdownDescription": "

The folder path in Linux workstations where files are uploaded.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(\\$HOME|/)[/]?([A-Za-z0-9-_]+/)*([A-Za-z0-9_-]+)$ \nUpdate requires: No interruption" - }, - "Windows": { - "type": "string", - "maxLength": 128, - "minLength": 1, - "description": "

The folder path in Windows workstations where files are uploaded.

", - "markdownDescription": "

The folder path in Windows workstations where files are uploaded.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^((\\%HOMEPATH\\%)|[a-zA-Z]:)[\\\\/](?:[a-zA-Z0-9_-]+[\\\\/])*[a-zA-Z0-9_-]+$ \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "markdownDescription": "

The upload storage root location (folder) on streaming workstations where files are\n uploaded.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Tags": { - "type": "object", - "patternProperties": { - ".+": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "VolumeConfiguration": { - "type": "object", - "description": "

Custom volume configuration for the root volumes that are attached to streaming\n sessions.

\n

This parameter is only allowed when sessionPersistenceMode is\n ACTIVATED.

", - "properties": { - "Size": { - "type": "number", - "default": 500, - "maximum": 16000, - "minimum": 100, - "description": "

The size of the root volume that is attached to the streaming session. The root volume\n size is measured in GiBs.

", - "markdownDescription": "

The size of the root volume that is attached to the streaming session. The root volume\n size is measured in GiBs.

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "Throughput": { - "type": "number", - "default": 125, - "maximum": 1000, - "minimum": 125, - "description": "

The throughput to provision for the root volume that is attached to the streaming\n session. The throughput is measured in MiB/s.

", - "markdownDescription": "

The throughput to provision for the root volume that is attached to the streaming\n session. The throughput is measured in MiB/s.

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "Iops": { - "type": "number", - "default": 3000, - "maximum": 16000, - "minimum": 3000, - "description": "

The number of I/O operations per second for the root volume that is attached to\n streaming session.

", - "markdownDescription": "

The number of I/O operations per second for the root volume that is attached to\n streaming session.

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "markdownDescription": "

Custom volume configuration for the root volumes that are attached to streaming\n sessions.

\n

This parameter is only allowed when sessionPersistenceMode is\n ACTIVATED.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - } - }, - "properties": { - "Description": { - "type": "string", - "maxLength": 256, - "minLength": 0, - "description": "

The description.

", - "markdownDescription": "

The description.

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" - }, - "Ec2SubnetIds": { - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "maxItems": 6, - "minItems": 0, - "description": "

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from.\n These subnets must support the specified instance types.

", - "markdownDescription": "

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from.\n These subnets must support the specified instance types.

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: Replacement" - }, - "LaunchProfileProtocolVersions": { - "type": "array", - "items": { - "type": "string", - "maxLength": 10, - "minLength": 0, - "description": "

The version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".

", - "markdownDescription": "

The version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 10 \nPattern: ^2021\\-03\\-31$ \nUpdate requires: No interruption" - }, - "description": "

The version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".

", - "markdownDescription": "

The version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "Name": { - "type": "string", - "maxLength": 64, - "minLength": 1, - "description": "

The name for the launch profile.

", - "markdownDescription": "

The name for the launch profile.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" - }, - "StreamConfiguration": { - "$ref": "#/definitions/StreamConfiguration" - }, - "StudioComponentIds": { - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "maxItems": 100, - "minItems": 1, - "description": "

Unique identifiers for a collection of studio components that can be used with this\n launch profile.

", - "markdownDescription": "

Unique identifiers for a collection of studio components that can be used with this\n launch profile.

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "StudioId": { - "type": "string", - "description": "

The studio ID.

", - "markdownDescription": "

The studio ID.

\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "Tags": { - "$ref": "#/definitions/Tags" } }, "required": [ - "StudioId", - "Name", - "StudioComponentIds", "Ec2SubnetIds", + "StudioComponentIds", "StreamConfiguration", - "LaunchProfileProtocolVersions" - ], - "readOnlyProperties": [ - "/properties/LaunchProfileId" + "LaunchProfileProtocolVersions", + "StudioId", + "Name" ], "createOnlyProperties": [ "/properties/Ec2SubnetIds", @@ -317,60 +202,11 @@ "/properties/Tags" ], "primaryIdentifier": [ - "/properties/LaunchProfileId", - "/properties/StudioId" + "/properties/LaunchProfileId" + ], + "readOnlyProperties": [ + "/properties/LaunchProfileId" ], - "handlers": { - "create": { - "permissions": [ - "nimble:CreateLaunchProfile", - "nimble:GetLaunchProfile", - "nimble:TagResource", - "ec2:CreateNetworkInterface", - "ec2:CreateNetworkInterfacePermission", - "ec2:RunInstances", - "ec2:DescribeSubnets" - ] - }, - "read": { - "permissions": [ - "nimble:GetLaunchProfile" - ] - }, - "update": { - "permissions": [ - "nimble:UpdateLaunchProfile", - "nimble:GetLaunchProfile", - "ec2:CreateNetworkInterface", - "ec2:CreateNetworkInterfacePermission", - "ec2:DescribeSubnets", - "ec2:RunInstances" - ] - }, - "delete": { - "permissions": [ - "nimble:DeleteLaunchProfile", - "nimble:GetLaunchProfile", - "nimble:UntagResource" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "StudioId": { - "$ref": "resource-schema.json#/properties/StudioId" - } - }, - "required": [ - "StudioId" - ] - }, - "permissions": [ - "nimble:ListLaunchProfiles" - ] - } - }, - "additionalProperties": false, "attributes": { "LaunchProfileId": { "type": "string", diff --git a/server/schema/resources/aws-nimblestudio-streamingimage.json b/server/schema/resources/aws-nimblestudio-streamingimage.json index d3103e12..e0bb2353 100644 --- a/server/schema/resources/aws-nimblestudio-streamingimage.json +++ b/server/schema/resources/aws-nimblestudio-streamingimage.json @@ -1,186 +1,105 @@ { "typeName": "AWS::NimbleStudio::StreamingImage", - "description": "Represents a streaming session machine image that can be used to launch a streaming session", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-nimblestudio", + "description": "Resource Type definition for AWS::NimbleStudio::StreamingImage", + "additionalProperties": false, + "properties": { + "Description": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "EncryptionConfigurationKeyType": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Ec2ImageId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "StudioId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "EncryptionConfigurationKeyArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Tags": { + "type": "object", + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: Replacement" + }, + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, "definitions": { "StreamingImageEncryptionConfiguration": { "type": "object", - "description": "

TODO

", + "additionalProperties": false, "properties": { "KeyType": { - "$ref": "#/definitions/StreamingImageEncryptionConfigurationKeyType" + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "KeyArn": { "type": "string", - "minLength": 4, - "description": "

The ARN for a KMS key that is used to encrypt studio data.

", - "markdownDescription": "

The ARN for a KMS key that is used to encrypt studio data.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 4 \nPattern: ^arn:.* \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ "KeyType" ], - "additionalProperties": false, - "markdownDescription": "

TODO

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "StreamingImageEncryptionConfigurationKeyType": { - "type": "string", - "description": "

", - "enum": [ - "CUSTOMER_MANAGED_KEY" - ], - "markdownDescription": "

\n\n---\n\nRequired: No \nType: String \nAllowed Values: CUSTOMER_MANAGED_KEY \nUpdate requires: No interruption" - }, - "Tags": { - "type": "object", - "description": "", - "patternProperties": { - ".+": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "properties": { - "Description": { - "type": "string", - "maxLength": 256, - "minLength": 0, - "description": "

A human-readable description of the streaming image.

", - "markdownDescription": "

A human-readable description of the streaming image.

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" - }, - "Ec2ImageId": { - "type": "string", - "description": "

The ID of an EC2 machine image with which to create this streaming image.

", - "markdownDescription": "

The ID of an EC2 machine image with which to create this streaming image.

\n\n---\n\nRequired: Yes \nType: String \nPattern: ^ami-[0-9A-z]+$ \nUpdate requires: Replacement" - }, - "Name": { - "type": "string", - "maxLength": 64, - "minLength": 0, - "description": "

A friendly name for a streaming image resource.

", - "markdownDescription": "

A friendly name for a streaming image resource.

\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 64 \nUpdate requires: No interruption" - }, - "StudioId": { - "type": "string", - "description": "

The studioId.

", - "markdownDescription": "

The studioId.

\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "Tags": { - "$ref": "#/definitions/Tags" - } - }, - "readOnlyProperties": [ - "/properties/EncryptionConfiguration", - "/properties/EulaIds", - "/properties/Owner", - "/properties/Platform", - "/properties/StreamingImageId" + "required": [ + "Ec2ImageId", + "StudioId", + "Name" ], "createOnlyProperties": [ - "/properties/Ec2ImageId", "/properties/StudioId", - "/properties/Tags" + "/properties/Tags", + "/properties/Ec2ImageId" ], "primaryIdentifier": [ - "/properties/StudioId", "/properties/StreamingImageId" ], - "required": [ - "StudioId", - "Ec2ImageId", - "Name" + "readOnlyProperties": [ + "/properties/Platform", + "/properties/EulaIds", + "/properties/Owner", + "/properties/EncryptionConfiguration.KeyArn", + "/properties/EncryptionConfiguration", + "/properties/EncryptionConfiguration.KeyType", + "/properties/StreamingImageId" ], - "handlers": { - "create": { - "permissions": [ - "nimble:CreateStreamingImage", - "nimble:GetStreamingImage", - "nimble:TagResource", - "ec2:DescribeImages", - "ec2:DescribeSnapshots", - "ec2:ModifyInstanceAttribute", - "ec2:ModifySnapshotAttribute", - "ec2:ModifyImageAttribute", - "ec2:RegisterImage", - "kms:Encrypt", - "kms:Decrypt", - "kms:CreateGrant", - "kms:ListGrants", - "kms:GenerateDataKey" - ] - }, - "read": { - "permissions": [ - "nimble:GetStreamingImage" - ] - }, - "update": { - "permissions": [ - "nimble:UpdateStreamingImage", - "nimble:GetStreamingImage", - "kms:Encrypt", - "kms:Decrypt", - "kms:CreateGrant", - "kms:ListGrants", - "kms:GenerateDataKey" - ] + "attributes": { + "Owner": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "delete": { - "permissions": [ - "nimble:DeleteStreamingImage", - "nimble:GetStreamingImage", - "nimble:UntagResource", - "ec2:ModifyInstanceAttribute", - "ec2:ModifySnapshotAttribute", - "ec2:DeregisterImage", - "ec2:DeleteSnapshot", - "kms:ListGrants", - "kms:RetireGrant" - ] + "Platform": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "list": { - "handlerSchema": { - "properties": { - "StudioId": { - "$ref": "resource-schema.json#/properties/StudioId" - } - }, - "required": [ - "StudioId" - ] - }, - "permissions": [ - "nimble:ListStreamingImages" - ] - } - }, - "additionalProperties": false, - "attributes": { "EncryptionConfiguration": { "$ref": "#/definitions/StreamingImageEncryptionConfiguration" }, "EulaIds": { "type": "array", + "uniqueItems": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "description": "

The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image.

", - "markdownDescription": "

The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Owner": { - "type": "string", - "description": "

The owner of the streaming image, either the studioId that contains the streaming image, or 'amazon' for images that are provided by Amazon Nimble Studio.

", - "markdownDescription": "

The owner of the streaming image, either the studioId that contains the streaming image, or 'amazon' for images that are provided by Amazon Nimble Studio.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Platform": { - "type": "string", - "description": "

The platform of the streaming image, either WINDOWS or LINUX.

", - "markdownDescription": "

The platform of the streaming image, either WINDOWS or LINUX.

\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-zA-Z]*$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "StreamingImageId": { "type": "string", diff --git a/server/schema/resources/aws-nimblestudio-studio.json b/server/schema/resources/aws-nimblestudio-studio.json index 4117d3e9..caecf6d4 100644 --- a/server/schema/resources/aws-nimblestudio-studio.json +++ b/server/schema/resources/aws-nimblestudio-studio.json @@ -1,87 +1,63 @@ { "typeName": "AWS::NimbleStudio::Studio", - "description": "Represents a studio that contains other Nimble Studio resources", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-nimblestudio", + "description": "Resource Type definition for AWS::NimbleStudio::Studio", + "additionalProperties": false, + "properties": { + "UserRoleArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "DisplayName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "StudioName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "AdminRoleArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "StudioEncryptionConfiguration": { + "$ref": "#/definitions/StudioEncryptionConfiguration" + }, + "Tags": { + "type": "object", + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: Replacement" + } + }, "definitions": { "StudioEncryptionConfiguration": { "type": "object", - "description": "

Configuration of the encryption method that is used for the studio.

", + "additionalProperties": false, "properties": { "KeyType": { - "$ref": "#/definitions/StudioEncryptionConfigurationKeyType" + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "KeyArn": { "type": "string", - "minLength": 4, - "description": "

The ARN for a KMS key that is used to encrypt studio data.

", - "markdownDescription": "

The ARN for a KMS key that is used to encrypt studio data.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 4 \nPattern: ^arn:.* \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ "KeyType" ], - "additionalProperties": false, - "markdownDescription": "

Configuration of the encryption method that is used for the studio.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "StudioEncryptionConfigurationKeyType": { - "type": "string", - "description": "

The type of KMS key that is used to encrypt studio data.

", - "enum": [ - "AWS_OWNED_KEY", - "CUSTOMER_MANAGED_KEY" - ], - "markdownDescription": "

The type of KMS key that is used to encrypt studio data.

\n\n---\n\nRequired: No \nType: String \nAllowed Values: AWS_OWNED_KEY | CUSTOMER_MANAGED_KEY \nUpdate requires: No interruption" - }, - "Tags": { - "type": "object", - "description": "", - "patternProperties": { - ".+": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "properties": { - "AdminRoleArn": { - "type": "string", - "description": "

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

", - "markdownDescription": "

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "DisplayName": { - "type": "string", - "maxLength": 64, - "minLength": 0, - "description": "

A friendly name for the studio.

", - "markdownDescription": "

A friendly name for the studio.

\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 64 \nUpdate requires: No interruption" - }, - "StudioEncryptionConfiguration": { - "$ref": "#/definitions/StudioEncryptionConfiguration" - }, - "StudioName": { - "type": "string", - "maxLength": 64, - "minLength": 3, - "description": "

The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.

", - "markdownDescription": "

The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 3 \nMaximum Length: 64 \nPattern: ^[a-z0-9]*$ \nUpdate requires: Replacement" - }, - "Tags": { - "$ref": "#/definitions/Tags" - }, - "UserRoleArn": { - "type": "string", - "description": "

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

", - "markdownDescription": "

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - } - }, - "readOnlyProperties": [ - "/properties/HomeRegion", - "/properties/SsoClientId", - "/properties/StudioId", - "/properties/StudioUrl" + "required": [ + "UserRoleArn", + "DisplayName", + "StudioName", + "AdminRoleArn" ], "createOnlyProperties": [ "/properties/StudioName", @@ -90,90 +66,28 @@ "primaryIdentifier": [ "/properties/StudioId" ], - "required": [ - "DisplayName", - "UserRoleArn", - "AdminRoleArn", - "StudioName" + "readOnlyProperties": [ + "/properties/StudioId", + "/properties/HomeRegion", + "/properties/SsoClientId", + "/properties/StudioUrl" ], - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "nimble:CreateStudio", - "nimble:GetStudio", - "nimble:TagResource", - "sso:CreateManagedApplicationInstance", - "kms:Encrypt", - "kms:Decrypt", - "kms:CreateGrant", - "kms:ListGrants", - "kms:GenerateDataKey" - ] - }, - "read": { - "permissions": [ - "nimble:GetStudio", - "kms:Encrypt", - "kms:Decrypt", - "kms:ListGrants", - "kms:GenerateDataKey" - ] - }, - "update": { - "permissions": [ - "iam:PassRole", - "nimble:UpdateStudio", - "nimble:GetStudio", - "kms:Encrypt", - "kms:Decrypt", - "kms:CreateGrant", - "kms:ListGrants", - "kms:GenerateDataKey" - ] - }, - "delete": { - "permissions": [ - "nimble:DeleteStudio", - "nimble:GetStudio", - "nimble:UntagResource", - "kms:Encrypt", - "kms:Decrypt", - "kms:ListGrants", - "kms:RetireGrant", - "kms:GenerateDataKey", - "sso:DeleteManagedApplicationInstance", - "sso:GetManagedApplicationInstance" - ] - }, - "list": { - "permissions": [ - "nimble:ListStudios" - ] - } - }, - "additionalProperties": false, "attributes": { "HomeRegion": { "type": "string", - "maxLength": 50, - "minLength": 0, - "description": "

The Amazon Web Services Region where the studio resource is located.

", - "markdownDescription": "

The Amazon Web Services Region where the studio resource is located.

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 50 \nPattern: [a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9] \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SsoClientId": { + "StudioUrl": { "type": "string", - "description": "

The Amazon Web Services SSO application client ID used to integrate with Amazon Web Services SSO to enable Amazon Web Services SSO users to log in to Nimble Studio portal.

", - "markdownDescription": "

The Amazon Web Services SSO application client ID used to integrate with Amazon Web Services SSO to enable Amazon Web Services SSO users to log in to Nimble Studio portal.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "StudioId": { + "SsoClientId": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "StudioUrl": { + "StudioId": { "type": "string", - "description": "

The address of the web page for the studio.

", - "markdownDescription": "

The address of the web page for the studio.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-nimblestudio-studiocomponent.json b/server/schema/resources/aws-nimblestudio-studiocomponent.json index 6f05cb1d..c14b9ba2 100644 --- a/server/schema/resources/aws-nimblestudio-studiocomponent.json +++ b/server/schema/resources/aws-nimblestudio-studiocomponent.json @@ -1,428 +1,233 @@ { "typeName": "AWS::NimbleStudio::StudioComponent", - "description": "Represents a studio component that connects a non-Nimble Studio resource in your account to your studio", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-nimblestudio", - "definitions": { - "ActiveDirectoryComputerAttribute": { - "type": "object", - "description": "

An LDAP attribute of an Active Directory computer account, in the form of a name:value\n pair.

", - "properties": { - "Name": { - "type": "string", - "maxLength": 40, - "minLength": 1, - "description": "

The name for the LDAP attribute.

", - "markdownDescription": "

The name for the LDAP attribute.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 40 \nUpdate requires: No interruption" - }, - "Value": { - "type": "string", - "maxLength": 64, - "minLength": 1, - "description": "

The value for the LDAP attribute.

", - "markdownDescription": "

The value for the LDAP attribute.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" - } + "description": "Resource Type definition for AWS::NimbleStudio::StudioComponent", + "additionalProperties": false, + "properties": { + "InitializationScripts": { + "type": "array", + "uniqueItems": false, + "items": { + "$ref": "#/definitions/StudioComponentInitializationScript" }, - "additionalProperties": false, - "markdownDescription": "

An LDAP attribute of an Active Directory computer account, in the form of a name:value\n pair.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "ActiveDirectoryConfiguration": { + "Type": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Description": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Configuration": { + "$ref": "#/definitions/StudioComponentConfiguration" + }, + "Ec2SecurityGroupIds": { + "type": "array", + "uniqueItems": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ScriptParameters": { + "type": "array", + "uniqueItems": false, + "items": { + "$ref": "#/definitions/ScriptParameterKeyValue" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "StudioId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "Subtype": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "Tags": { "type": "object", - "description": "

The configuration for a Microsoft Active Directory (Microsoft AD) studio\n resource.

", - "properties": { - "ComputerAttributes": { - "type": "array", - "items": { - "$ref": "#/definitions/ActiveDirectoryComputerAttribute" - }, - "maxItems": 50, - "minItems": 0, - "description": "

A collection of custom attributes for an Active Directory computer.

", - "markdownDescription": "

A collection of custom attributes for an Active Directory computer.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "DirectoryId": { - "type": "string", - "description": "

The directory ID of the Directory Service for Microsoft Active Directory to access\n using this studio component.

", - "markdownDescription": "

The directory ID of the Directory Service for Microsoft Active Directory to access\n using this studio component.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "OrganizationalUnitDistinguishedName": { + "patternProperties": { + "[a-zA-Z0-9]+": { "type": "string", - "maxLength": 2000, - "minLength": 1, - "description": "

The distinguished name (DN) and organizational unit (OU) of an Active Directory\n computer.

", - "markdownDescription": "

The distinguished name (DN) and organizational unit (OU) of an Active Directory\n computer.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2000 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "markdownDescription": "

The configuration for a Microsoft Active Directory (Microsoft AD) studio\n resource.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: Replacement" }, - "ComputeFarmConfiguration": { + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "definitions": { + "LicenseServiceConfiguration": { "type": "object", - "description": "

The configuration for a render farm that is associated with a studio resource.

", + "additionalProperties": false, "properties": { - "ActiveDirectoryUser": { - "type": "string", - "description": "

The name of an Active Directory user that is used on ComputeFarm worker\n instances.

", - "markdownDescription": "

The name of an Active Directory user that is used on ComputeFarm worker\n instances.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "Endpoint": { "type": "string", - "description": "

The endpoint of the ComputeFarm that is accessed by the studio component\n resource.

", - "markdownDescription": "

The endpoint of the ComputeFarm that is accessed by the studio component\n resource.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "markdownDescription": "

The configuration for a render farm that is associated with a studio resource.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "LaunchProfilePlatform": { - "type": "string", - "enum": [ - "LINUX", - "WINDOWS" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: LINUX | WINDOWS \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "LicenseServiceConfiguration": { + "StudioComponentInitializationScript": { "type": "object", - "description": "

The configuration for a license service that is associated with a studio\n resource.

", + "additionalProperties": false, "properties": { - "Endpoint": { + "Script": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "RunContext": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "LaunchProfileProtocolVersion": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Platform": { "type": "string", - "description": "

The endpoint of the license service that is accessed by the studio component\n resource.

", - "markdownDescription": "

The endpoint of the license service that is accessed by the studio component\n resource.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "markdownDescription": "

The configuration for a license service that is associated with a studio\n resource.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ScriptParameterKeyValue": { + "ComputeFarmConfiguration": { "type": "object", - "description": "

A parameter for a studio component script, in the form of a key:value pair.

", + "additionalProperties": false, "properties": { - "Key": { + "ActiveDirectoryUser": { "type": "string", - "maxLength": 64, - "minLength": 1, - "description": "

A script parameter key.

", - "markdownDescription": "

A script parameter key.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z_][a-zA-Z0-9_]+$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Value": { + "Endpoint": { "type": "string", - "maxLength": 256, - "minLength": 1, - "description": "

A script parameter value.

", - "markdownDescription": "

A script parameter value.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "markdownDescription": "

A parameter for a studio component script, in the form of a key:value pair.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SharedFileSystemConfiguration": { "type": "object", - "description": "

The configuration for a shared file storage system that is associated with a studio\n resource.

", + "additionalProperties": false, "properties": { - "Endpoint": { - "type": "string", - "description": "

The endpoint of the shared file system that is accessed by the studio component\n resource.

", - "markdownDescription": "

The endpoint of the shared file system that is accessed by the studio component\n resource.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "FileSystemId": { "type": "string", - "description": "

The unique identifier for a file system.

", - "markdownDescription": "

The unique identifier for a file system.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "LinuxMountPoint": { + "ShareName": { "type": "string", - "maxLength": 128, - "minLength": 0, - "description": "

The mount location for a shared file system on a Linux virtual workstation.

", - "markdownDescription": "

The mount location for a shared file system on a Linux virtual workstation.

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 128 \nPattern: ^(/?|(\\$HOME)?(/[^/\\n\\s\\\\]+)*)$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ShareName": { + "Endpoint": { "type": "string", - "description": "

The name of the file share.

", - "markdownDescription": "

The name of the file share.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "WindowsMountDrive": { "type": "string", - "description": "

The mount location for a shared file system on a Windows virtual workstation.

", - "markdownDescription": "

The mount location for a shared file system on a Windows virtual workstation.

\n\n---\n\nRequired: No \nType: String \nPattern: ^[A-Z]$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "LinuxMountPoint": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "markdownDescription": "

The configuration for a shared file storage system that is associated with a studio\n resource.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "StudioComponentConfiguration": { - "description": "

The configuration of the studio component, based on component type.

", - "oneOf": [ - { - "type": "object", - "title": "ActiveDirectoryConfiguration", - "properties": { - "ActiveDirectoryConfiguration": { - "$ref": "#/definitions/ActiveDirectoryConfiguration" - } - }, - "required": [ - "ActiveDirectoryConfiguration" - ], - "additionalProperties": false - }, - { - "type": "object", - "title": "ComputeFarmConfiguration", - "properties": { - "ComputeFarmConfiguration": { - "$ref": "#/definitions/ComputeFarmConfiguration" - } + "ActiveDirectoryConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "ComputerAttributes": { + "type": "array", + "uniqueItems": false, + "items": { + "$ref": "#/definitions/ActiveDirectoryComputerAttribute" }, - "required": [ - "ComputeFarmConfiguration" - ], - "additionalProperties": false + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - { - "type": "object", - "title": "LicenseServiceConfiguration", - "properties": { - "LicenseServiceConfiguration": { - "$ref": "#/definitions/LicenseServiceConfiguration" - } - }, - "required": [ - "LicenseServiceConfiguration" - ], - "additionalProperties": false + "DirectoryId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - { - "type": "object", - "title": "SharedFileSystemConfiguration", - "properties": { - "SharedFileSystemConfiguration": { - "$ref": "#/definitions/SharedFileSystemConfiguration" - } - }, - "required": [ - "SharedFileSystemConfiguration" - ], - "additionalProperties": false + "OrganizationalUnitDistinguishedName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } - ], - "markdownDescription": "

The configuration of the studio component, based on component type.

\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "StudioComponentInitializationScript": { + "ActiveDirectoryComputerAttribute": { "type": "object", - "description": "

Initialization scripts for studio components.

", + "additionalProperties": false, "properties": { - "LaunchProfileProtocolVersion": { + "Value": { "type": "string", - "maxLength": 10, - "minLength": 0, - "description": "

The version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".

", - "markdownDescription": "

The version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 10 \nPattern: ^2021\\-03\\-31$ \nUpdate requires: No interruption" - }, - "Platform": { - "$ref": "#/definitions/LaunchProfilePlatform" - }, - "RunContext": { - "$ref": "#/definitions/StudioComponentInitializationScriptRunContext" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Script": { + "Name": { "type": "string", - "maxLength": 5120, - "minLength": 1, - "description": "

The initialization script.

", - "markdownDescription": "

The initialization script.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 5120 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "markdownDescription": "

Initialization scripts for studio components.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "StudioComponentInitializationScriptRunContext": { - "type": "string", - "enum": [ - "SYSTEM_INITIALIZATION", - "USER_INITIALIZATION" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SYSTEM_INITIALIZATION | USER_INITIALIZATION \nUpdate requires: No interruption" - }, - "StudioComponentSubtype": { - "type": "string", - "enum": [ - "AWS_MANAGED_MICROSOFT_AD", - "AMAZON_FSX_FOR_WINDOWS", - "AMAZON_FSX_FOR_LUSTRE", - "CUSTOM" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: AWS_MANAGED_MICROSOFT_AD | AMAZON_FSX_FOR_WINDOWS | AMAZON_FSX_FOR_LUSTRE | CUSTOM \nUpdate requires: No interruption" - }, - "StudioComponentType": { - "type": "string", - "enum": [ - "ACTIVE_DIRECTORY", - "SHARED_FILE_SYSTEM", - "COMPUTE_FARM", - "LICENSE_SERVICE", - "CUSTOM" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ACTIVE_DIRECTORY | SHARED_FILE_SYSTEM | COMPUTE_FARM | LICENSE_SERVICE | CUSTOM \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Tags": { + "ScriptParameterKeyValue": { "type": "object", - "patternProperties": { - ".+": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Key": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - } - }, - "properties": { - "Configuration": { - "$ref": "#/definitions/StudioComponentConfiguration" - }, - "Description": { - "type": "string", - "maxLength": 256, - "minLength": 0, - "description": "

The description.

", - "markdownDescription": "

The description.

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" - }, - "Ec2SecurityGroupIds": { - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "maxItems": 30, - "minItems": 0, - "description": "

The EC2 security groups that control access to the studio component.

", - "markdownDescription": "

The EC2 security groups that control access to the studio component.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "InitializationScripts": { - "type": "array", - "items": { - "$ref": "#/definitions/StudioComponentInitializationScript" - }, - "description": "

Initialization scripts for studio components.

", - "markdownDescription": "

Initialization scripts for studio components.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Name": { - "type": "string", - "maxLength": 64, - "minLength": 0, - "description": "

The name for the studio component.

", - "markdownDescription": "

The name for the studio component.

\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 64 \nUpdate requires: No interruption" - }, - "RuntimeRoleArn": { - "type": "string", - "maxLength": 2048, - "minLength": 0, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nUpdate requires: No interruption" - }, - "ScriptParameters": { - "type": "array", - "items": { - "$ref": "#/definitions/ScriptParameterKeyValue" + "StudioComponentConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "LicenseServiceConfiguration": { + "$ref": "#/definitions/LicenseServiceConfiguration" + }, + "ComputeFarmConfiguration": { + "$ref": "#/definitions/ComputeFarmConfiguration" + }, + "ActiveDirectoryConfiguration": { + "$ref": "#/definitions/ActiveDirectoryConfiguration" + }, + "SharedFileSystemConfiguration": { + "$ref": "#/definitions/SharedFileSystemConfiguration" + } }, - "maxItems": 30, - "minItems": 0, - "description": "

Parameters for the studio component scripts.

", - "markdownDescription": "

Parameters for the studio component scripts.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "SecureInitializationRoleArn": { - "type": "string", - "maxLength": 2048, - "minLength": 0, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nUpdate requires: No interruption" - }, - "StudioId": { - "type": "string", - "description": "

The studio ID.

", - "markdownDescription": "

The studio ID.

\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "Subtype": { - "$ref": "#/definitions/StudioComponentSubtype" - }, - "Tags": { - "$ref": "#/definitions/Tags" - }, - "Type": { - "$ref": "#/definitions/StudioComponentType" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "required": [ + "Type", "StudioId", - "Name", - "Type" - ], - "readOnlyProperties": [ - "/properties/StudioComponentId" + "Name" ], "createOnlyProperties": [ - "/properties/StudioId", "/properties/Subtype", + "/properties/StudioId", "/properties/Tags" ], "primaryIdentifier": [ - "/properties/StudioComponentId", - "/properties/StudioId" + "/properties/StudioComponentId" + ], + "readOnlyProperties": [ + "/properties/StudioComponentId" ], - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "nimble:CreateStudioComponent", - "nimble:GetStudioComponent", - "nimble:TagResource", - "ds:AuthorizeApplication", - "ec2:DescribeSecurityGroups", - "fsx:DescribeFilesystems", - "ds:DescribeDirectories" - ] - }, - "read": { - "permissions": [ - "nimble:GetStudioComponent" - ] - }, - "update": { - "permissions": [ - "iam:PassRole", - "nimble:UpdateStudioComponent", - "nimble:GetStudioComponent", - "ds:AuthorizeApplication", - "ec2:DescribeSecurityGroups", - "fsx:DescribeFilesystems", - "ds:DescribeDirectories" - ] - }, - "delete": { - "permissions": [ - "nimble:DeleteStudioComponent", - "nimble:GetStudioComponent", - "nimble:UntagResource", - "ds:UnauthorizeApplication" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "StudioId": { - "$ref": "resource-schema.json#/properties/StudioId" - } - }, - "required": [ - "StudioId" - ] - }, - "permissions": [ - "nimble:ListStudioComponents" - ] - } - }, - "additionalProperties": false, "attributes": { "StudioComponentId": { "type": "string", diff --git a/server/schema/resources/aws-oam-link.json b/server/schema/resources/aws-oam-link.json index d00f9de3..cedd1335 100644 --- a/server/schema/resources/aws-oam-link.json +++ b/server/schema/resources/aws-oam-link.json @@ -90,7 +90,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": false + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "oam:ListTagsForResource", + "oam:UntagResource", + "oam:TagResource" + ] }, "required": [ "ResourceTypes", @@ -115,6 +121,8 @@ "permissions": [ "oam:CreateLink", "oam:GetLink", + "oam:TagResource", + "oam:ListTagsForResource", "cloudwatch:Link", "logs:Link", "xray:Link", @@ -124,7 +132,8 @@ }, "read": { "permissions": [ - "oam:GetLink" + "oam:GetLink", + "oam:ListTagsForResource" ] }, "update": { @@ -137,7 +146,8 @@ "applicationinsights:Link", "internetmonitor:Link", "oam:TagResource", - "oam:UntagResource" + "oam:UntagResource", + "oam:ListTagsForResource" ] }, "delete": { diff --git a/server/schema/resources/aws-oam-sink.json b/server/schema/resources/aws-oam-sink.json index f1b0b20b..157ac74e 100644 --- a/server/schema/resources/aws-oam-sink.json +++ b/server/schema/resources/aws-oam-sink.json @@ -34,7 +34,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": false + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "oam:ListTagsForResource", + "oam:UntagResource", + "oam:TagResource" + ] }, "required": [ "Name" @@ -55,7 +61,9 @@ "oam:CreateSink", "oam:PutSinkPolicy", "oam:GetSinkPolicy", - "oam:GetSink" + "oam:GetSink", + "oam:TagResource", + "oam:ListTagsForResource" ] }, "delete": { @@ -73,7 +81,8 @@ "read": { "permissions": [ "oam:GetSinkPolicy", - "oam:GetSink" + "oam:GetSink", + "oam:ListTagsForResource" ] }, "update": { @@ -82,7 +91,8 @@ "oam:GetSinkPolicy", "oam:GetSink", "oam:TagResource", - "oam:UntagResource" + "oam:UntagResource", + "oam:ListTagsForResource" ] } }, diff --git a/server/schema/resources/aws-omics-annotationstore.json b/server/schema/resources/aws-omics-annotationstore.json index 5450979d..eccda555 100644 --- a/server/schema/resources/aws-omics-annotationstore.json +++ b/server/schema/resources/aws-omics-annotationstore.json @@ -235,7 +235,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": true + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "omics:TagResource", + "omics:UntagResource", + "omics:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-omics-referencestore.json b/server/schema/resources/aws-omics-referencestore.json index e4a955b4..8a9ce544 100644 --- a/server/schema/resources/aws-omics-referencestore.json +++ b/server/schema/resources/aws-omics-referencestore.json @@ -90,7 +90,12 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": false, - "cloudFormationSystemTags": true + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "omics:TagResource", + "omics:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-omics-rungroup.json b/server/schema/resources/aws-omics-rungroup.json index a2352690..4da8f831 100644 --- a/server/schema/resources/aws-omics-rungroup.json +++ b/server/schema/resources/aws-omics-rungroup.json @@ -65,7 +65,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": false + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "omics:TagResource", + "omics:UntagResource", + "omics:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-omics-sequencestore.json b/server/schema/resources/aws-omics-sequencestore.json index e02b13b7..aa5ab54d 100644 --- a/server/schema/resources/aws-omics-sequencestore.json +++ b/server/schema/resources/aws-omics-sequencestore.json @@ -97,7 +97,12 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": false, - "cloudFormationSystemTags": true + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "omics:TagResource", + "omics:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-omics-variantstore.json b/server/schema/resources/aws-omics-variantstore.json index 436d4746..7f67eeac 100644 --- a/server/schema/resources/aws-omics-variantstore.json +++ b/server/schema/resources/aws-omics-variantstore.json @@ -116,7 +116,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": false + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "omics:TagResource", + "omics:UntagResource", + "omics:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-omics-workflow.json b/server/schema/resources/aws-omics-workflow.json index 99f2b6b1..421992a8 100644 --- a/server/schema/resources/aws-omics-workflow.json +++ b/server/schema/resources/aws-omics-workflow.json @@ -158,7 +158,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": false + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "omics:TagResource", + "omics:UntagResource", + "omics:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-opensearchserverless-securityconfig.json b/server/schema/resources/aws-opensearchserverless-securityconfig.json index 29afef24..6e4438c3 100644 --- a/server/schema/resources/aws-opensearchserverless-securityconfig.json +++ b/server/schema/resources/aws-opensearchserverless-securityconfig.json @@ -50,9 +50,63 @@ "type": "string", "description": "Config type for security config", "enum": [ - "saml" + "saml", + "iamidentitycenter" ], - "markdownDescription": "Config type for security config\n\n---\n\nRequired: No \nType: String \nAllowed Values: saml \nUpdate requires: No interruption" + "markdownDescription": "Config type for security config\n\n---\n\nRequired: No \nType: String \nAllowed Values: saml | iamidentitycenter \nUpdate requires: No interruption" + }, + "IamIdentityCenterInstanceArn": { + "type": "string", + "description": "The ARN of the IAM Identity Center instance used to integrate with OpenSearch Serverless", + "markdownDescription": "The ARN of the IAM Identity Center instance used to integrate with OpenSearch Serverless\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "IamIdentityCenterApplicationArn": { + "type": "string", + "description": "The ARN of the IAM Identity Center application used to integrate with OpenSearch Serverless", + "markdownDescription": "The ARN of the IAM Identity Center application used to integrate with OpenSearch Serverless\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "IamIdentityCenterUserAttribute": { + "type": "string", + "description": "User attribute for this IAM Identity Center integration", + "markdownDescription": "User attribute for this IAM Identity Center integration\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "IamIdentityCenterGroupAttribute": { + "type": "string", + "description": "Group attribute for this IAM Identity Center integration", + "markdownDescription": "Group attribute for this IAM Identity Center integration\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "IamIdentityCenterConfigOptions": { + "type": "object", + "description": "Describes IAM Identity Center options for an OpenSearch Serverless security configuration in the form of a key-value map", + "properties": { + "InstanceArn": { + "$ref": "#/definitions/IamIdentityCenterInstanceArn" + }, + "ApplicationArn": { + "$ref": "#/definitions/IamIdentityCenterApplicationArn" + }, + "ApplicationName": { + "type": "string", + "description": "The name of the IAM Identity Center application used to integrate with OpenSearch Serverless", + "markdownDescription": "The name of the IAM Identity Center application used to integrate with OpenSearch Serverless\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ApplicationDescription": { + "type": "string", + "description": "The description of the IAM Identity Center application used to integrate with OpenSearch Serverless", + "markdownDescription": "The description of the IAM Identity Center application used to integrate with OpenSearch Serverless\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "UserAttribute": { + "$ref": "#/definitions/IamIdentityCenterUserAttribute" + }, + "GroupAttribute": { + "$ref": "#/definitions/IamIdentityCenterGroupAttribute" + } + }, + "required": [ + "InstanceArn" + ], + "additionalProperties": false, + "markdownDescription": "Describes IAM Identity Center options for an OpenSearch Serverless security configuration in the form of a key-value map\n\n---\n\nRequired: No \nUpdate requires: Replacement" } }, "properties": { @@ -73,19 +127,26 @@ "SamlOptions": { "$ref": "#/definitions/SamlConfigOptions" }, + "IamIdentityCenterOptions": { + "$ref": "#/definitions/IamIdentityCenterConfigOptions" + }, "Type": { "$ref": "#/definitions/SecurityConfigType" } }, "readOnlyProperties": [ - "/properties/Id" + "/properties/Id", + "/properties/IamIdentityCenterOptions/ApplicationArn", + "/properties/IamIdentityCenterOptions/ApplicationName", + "/properties/IamIdentityCenterOptions/ApplicationDescription" ], "writeOnlyProperties": [ "/properties/Name" ], "createOnlyProperties": [ "/properties/Type", - "/properties/Name" + "/properties/Name", + "/properties/IamIdentityCenterOptions/InstanceArn" ], "primaryIdentifier": [ "/properties/Id" @@ -98,7 +159,13 @@ "handlers": { "create": { "permissions": [ - "aoss:CreateSecurityConfig" + "aoss:CreateSecurityConfig", + "sso:CreateApplication", + "sso:ListApplications", + "sso:DeleteApplication", + "sso:PutApplicationAssignmentConfiguration", + "sso:PutApplicationAuthenticationMethod", + "sso:PutApplicationGrant" ] }, "read": { @@ -114,7 +181,10 @@ }, "delete": { "permissions": [ - "aoss:DeleteSecurityConfig" + "aoss:DeleteSecurityConfig", + "sso:ListApplicationAssignments", + "sso:DeleteApplicationAssignment", + "sso:DeleteApplication" ] }, "list": { diff --git a/server/schema/resources/aws-opensearchservice-application.json b/server/schema/resources/aws-opensearchservice-application.json new file mode 100644 index 00000000..1e37eca9 --- /dev/null +++ b/server/schema/resources/aws-opensearchservice-application.json @@ -0,0 +1,232 @@ +{ + "typeName": "AWS::OpenSearchService::Application", + "description": "Amazon OpenSearchService application resource", + "definitions": { + "AppConfigType": { + "type": "string", + "enum": [ + "opensearchDashboards.dashboardAdmin.users", + "opensearchDashboards.dashboardAdmin.groups" + ], + "description": "AppConfig type values.", + "markdownDescription": "AppConfig type values.\n\n---\n\nRequired: No \nType: String \nAllowed Values: opensearchDashboards.dashboardAdmin.users | opensearchDashboards.dashboardAdmin.groups \nUpdate requires: No interruption" + }, + "Tag": { + "type": "object", + "description": "A key-value pair metadata associated with resource", + "properties": { + "Key": { + "type": "string", + "maxLength": 128, + "minLength": 1, + "description": "The key in the key-value pair", + "markdownDescription": "The key in the key-value pair\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "description": "The value in the key-value pair", + "markdownDescription": "The value in the key-value pair\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "A key-value pair metadata associated with resource\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AppConfig": { + "type": "object", + "description": "A key-value pair of AppConfig", + "properties": { + "Key": { + "$ref": "#/definitions/AppConfigType", + "description": "The configuration key", + "markdownDescription": "The configuration key\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "description": "The configuration value.", + "markdownDescription": "The configuration value.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "A key-value pair of AppConfig\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DataSource": { + "type": "object", + "description": "Datasource arn and description", + "properties": { + "DataSourceArn": { + "$ref": "#/properties/Arn", + "description": "The ARN of the data source.", + "markdownDescription": "The ARN of the data source.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, + "DataSourceDescription": { + "type": "string", + "description": "Description of the data source.", + "markdownDescription": "Description of the data source.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "DataSourceArn" + ], + "additionalProperties": false, + "markdownDescription": "Datasource arn and description\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "IamIdentityCenterOptions": { + "type": "object", + "description": "Options for configuring IAM Identity Center", + "properties": { + "Enabled": { + "type": "boolean", + "description": "Whether IAM Identity Center is enabled.", + "markdownDescription": "Whether IAM Identity Center is enabled.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "IamIdentityCenterInstanceArn": { + "$ref": "#/properties/Arn", + "description": "The ARN of the IAM Identity Center instance.", + "markdownDescription": "The ARN of the IAM Identity Center instance.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "IamRoleForIdentityCenterApplicationArn": { + "type": "string", + "description": "The ARN of the IAM role for Identity Center application.", + "markdownDescription": "The ARN of the IAM role for Identity Center application.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "Options for configuring IAM Identity Center\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Name": { + "type": "string", + "minLength": 3, + "maxLength": 40, + "description": "The name of the application.", + "markdownDescription": "The name of the application.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 3 \nMaximum Length: 40 \nPattern: [a-z][a-z0-9\\-]+ \nUpdate requires: Replacement" + }, + "Endpoint": { + "type": "string", + "description": "The endpoint for the application.", + "markdownDescription": "The endpoint for the application.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AppConfigs": { + "type": "array", + "items": { + "$ref": "#/definitions/AppConfig" + }, + "description": "List of application configurations.", + "insertionOrder": false, + "markdownDescription": "List of application configurations.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "DataSources": { + "type": "array", + "items": { + "$ref": "#/definitions/DataSource" + }, + "description": "List of data sources.", + "insertionOrder": false, + "markdownDescription": "List of data sources.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Tags": { + "description": "An arbitrary set of tags (key-value pairs) for this application.", + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true, + "markdownDescription": "An arbitrary set of tags (key-value pairs) for this application.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Name" + ], + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn" + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "primaryIdentifier": [ + "/properties/Name" + ], + "additionalIdentifiers": [ + [ + "/properties/Arn" + ] + ], + "handlers": { + "create": { + "permissions": [ + "es:CreateApplication", + "es:GetApplication", + "es:AddTags", + "es:ListTags", + "iam:CreateServiceLinkedRole" + ] + }, + "read": { + "permissions": [ + "es:GetApplication", + "es:ListTags" + ] + }, + "update": { + "permissions": [ + "es:UpdateApplication", + "es:GetApplication", + "es:AddTags", + "es:RemoveTags", + "es:ListTags" + ] + }, + "delete": { + "permissions": [ + "es:GetApplication", + "es:DeleteApplication" + ] + }, + "list": { + "permissions": [ + "es:ListApplications" + ] + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "es:AddTags", + "es:RemoveTags", + "es:ListTags" + ] + }, + "additionalProperties": false, + "attributes": { + "Arn": { + "type": "string", + "description": "Amazon Resource Name (ARN) format.", + "markdownDescription": "Amazon Resource Name (ARN) format.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Id": { + "type": "string", + "maxLength": 40, + "minLength": 3, + "description": "The identifier of the application.", + "markdownDescription": "The identifier of the application.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 3 \nMaximum Length: 40 \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-opensearchservice-domain.json b/server/schema/resources/aws-opensearchservice-domain.json index b46a1966..84e37eaa 100644 --- a/server/schema/resources/aws-opensearchservice-domain.json +++ b/server/schema/resources/aws-opensearchservice-domain.json @@ -14,6 +14,42 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "NodeConfig": { + "type": "object", + "properties": { + "Enabled": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "Type": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Count": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "NodeOption": { + "type": "object", + "properties": { + "NodeType": { + "type": "string", + "enum": [ + "coordinator" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: coordinator \nUpdate requires: No interruption" + }, + "NodeConfig": { + "$ref": "#/definitions/NodeConfig" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ClusterConfig": { "type": "object", "additionalProperties": false, @@ -63,6 +99,13 @@ }, "ColdStorageOptions": { "$ref": "#/definitions/ColdStorageOptions" + }, + "NodeOptions": { + "type": "array", + "items": { + "$ref": "#/definitions/NodeOption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -482,6 +525,63 @@ } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SubjectKeyIdcType": { + "type": "string", + "enum": [ + "UserName", + "UserId", + "Email" + ], + "description": "Subject Key Idc type values.", + "markdownDescription": "Subject Key Idc type values.\n\n---\n\nRequired: No \nType: String \nAllowed Values: UserName | UserId | Email \nUpdate requires: No interruption" + }, + "RolesKeyIdcType": { + "type": "string", + "enum": [ + "GroupName", + "GroupId" + ], + "description": "Roles Key Idc type values.", + "markdownDescription": "Roles Key Idc type values.\n\n---\n\nRequired: No \nType: String \nAllowed Values: GroupName | GroupId \nUpdate requires: No interruption" + }, + "IdentityCenterOptions": { + "type": "object", + "description": "Options for configuring Identity Center", + "properties": { + "EnabledAPIAccess": { + "type": "boolean", + "description": "Whether Identity Center is enabled.", + "markdownDescription": "Whether Identity Center is enabled.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "IdentityCenterInstanceARN": { + "type": "string", + "description": "The ARN of the Identity Center instance.", + "markdownDescription": "The ARN of the Identity Center instance.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SubjectKey": { + "$ref": "#/definitions/SubjectKeyIdcType", + "description": "The subject key for Identity Center options.", + "markdownDescription": "The subject key for Identity Center options.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "RolesKey": { + "$ref": "#/definitions/RolesKeyIdcType", + "description": "The roles key for Identity Center options.", + "markdownDescription": "The roles key for Identity Center options.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "IdentityCenterApplicationARN": { + "type": "string", + "description": "The ARN of the Identity Center application.", + "markdownDescription": "The ARN of the Identity Center application.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "IdentityStoreId": { + "type": "string", + "description": "The IdentityStoreId for Identity Center options.", + "markdownDescription": "The IdentityStoreId for Identity Center options.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "Options for configuring Identity Center\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -567,6 +667,9 @@ "SkipShardMigrationWait": { "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "IdentityCenterOptions": { + "$ref": "#/definitions/IdentityCenterOptions" } }, "additionalProperties": false, @@ -585,7 +688,9 @@ "/properties/DomainEndpointV2", "/properties/DomainEndpoints", "/properties/ServiceSoftwareOptions", - "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate" + "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate", + "/properties/IdentityCenterOptions/IdentityCenterApplicationARN", + "/properties/IdentityCenterOptions/IdentityStoreId" ], "writeOnlyProperties": [ "/properties/AdvancedSecurityOptions/MasterUserOptions", diff --git a/server/schema/resources/aws-organizations-account.json b/server/schema/resources/aws-organizations-account.json index 4f8a5ebd..f62be02f 100644 --- a/server/schema/resources/aws-organizations-account.json +++ b/server/schema/resources/aws-organizations-account.json @@ -80,7 +80,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "organizations:TagResource", + "organizations:UntagResource", + "organizations:ListTagsForResource" + ] }, "additionalProperties": false, "required": [ diff --git a/server/schema/resources/aws-organizations-organizationalunit.json b/server/schema/resources/aws-organizations-organizationalunit.json index f5491078..66243263 100644 --- a/server/schema/resources/aws-organizations-organizationalunit.json +++ b/server/schema/resources/aws-organizations-organizationalunit.json @@ -108,7 +108,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "organizations:TagResource", + "organizations:UntagResource", + "organizations:ListTagsForResource" + ] }, "required": [ "Name", diff --git a/server/schema/resources/aws-organizations-policy.json b/server/schema/resources/aws-organizations-policy.json index 766e1ca6..849809ef 100644 --- a/server/schema/resources/aws-organizations-policy.json +++ b/server/schema/resources/aws-organizations-policy.json @@ -11,15 +11,18 @@ "markdownDescription": "Name of the Policy\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: [\\s\\S]* \nUpdate requires: No interruption" }, "Type": { - "description": "The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY", + "description": "The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY, RESOURCE_CONTROL_POLICY,DECLARATIVE_POLICY_EC2", "type": "string", "enum": [ "SERVICE_CONTROL_POLICY", "AISERVICES_OPT_OUT_POLICY", "BACKUP_POLICY", - "TAG_POLICY" + "TAG_POLICY", + "CHATBOT_POLICY", + "RESOURCE_CONTROL_POLICY", + "DECLARATIVE_POLICY_EC2" ], - "markdownDescription": "The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: SERVICE_CONTROL_POLICY | AISERVICES_OPT_OUT_POLICY | BACKUP_POLICY | TAG_POLICY \nUpdate requires: Replacement" + "markdownDescription": "The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY, RESOURCE_CONTROL_POLICY,DECLARATIVE_POLICY_EC2\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: SERVICE_CONTROL_POLICY | AISERVICES_OPT_OUT_POLICY | BACKUP_POLICY | TAG_POLICY | CHATBOT_POLICY | RESOURCE_CONTROL_POLICY | DECLARATIVE_POLICY_EC2 \nUpdate requires: Replacement" }, "Content": { "description": "The Policy text content. For AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it.", @@ -92,7 +95,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "organizations:TagResource", + "organizations:UntagResource", + "organizations:ListTagsForResource" + ] }, "required": [ "Name", diff --git a/server/schema/resources/aws-organizations-resourcepolicy.json b/server/schema/resources/aws-organizations-resourcepolicy.json index 35271898..ecdb5f8f 100644 --- a/server/schema/resources/aws-organizations-resourcepolicy.json +++ b/server/schema/resources/aws-organizations-resourcepolicy.json @@ -92,7 +92,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "organizations:TagResource", + "organizations:UntagResource", + "organizations:ListTagsForResource" + ] }, "required": [ "Content" diff --git a/server/schema/resources/aws-pcaconnectorad-connector.json b/server/schema/resources/aws-pcaconnectorad-connector.json index 2339bbc1..1741197c 100644 --- a/server/schema/resources/aws-pcaconnectorad-connector.json +++ b/server/schema/resources/aws-pcaconnectorad-connector.json @@ -65,17 +65,16 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "pca-connector-ad:ListTagsForResource", + "pca-connector-ad:TagResource", + "pca-connector-ad:UntagResource" + ] }, "readOnlyProperties": [ "/properties/ConnectorArn" ], - "writeOnlyProperties": [ - "/properties/CertificateAuthorityArn", - "/properties/DirectoryId", - "/properties/Tags", - "/properties/VpcInformation" - ], "createOnlyProperties": [ "/properties/CertificateAuthorityArn", "/properties/DirectoryId", @@ -96,7 +95,8 @@ "ec2:CreateVpcEndpoint", "ec2:DescribeVpcEndpoints", "pca-connector-ad:CreateConnector", - "pca-connector-ad:GetConnector" + "pca-connector-ad:GetConnector", + "pca-connector-ad:TagResource" ] }, "read": { @@ -107,10 +107,11 @@ }, "delete": { "permissions": [ + "ec2:DeleteVpcEndpoints", + "ec2:DescribeVpcEndpoints", "pca-connector-ad:GetConnector", "pca-connector-ad:DeleteConnector", - "ec2:DeleteVpcEndpoints", - "ec2:DescribeVpcEndpoints" + "pca-connector-ad:UntagResource" ] }, "list": { diff --git a/server/schema/resources/aws-pcaconnectorad-directoryregistration.json b/server/schema/resources/aws-pcaconnectorad-directoryregistration.json index 1112e2fc..f33fd2fb 100644 --- a/server/schema/resources/aws-pcaconnectorad-directoryregistration.json +++ b/server/schema/resources/aws-pcaconnectorad-directoryregistration.json @@ -31,15 +31,16 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "pca-connector-ad:ListTagsForResource", + "pca-connector-ad:TagResource", + "pca-connector-ad:UntagResource" + ] }, "readOnlyProperties": [ "/properties/DirectoryRegistrationArn" ], - "writeOnlyProperties": [ - "/properties/DirectoryId", - "/properties/Tags" - ], "createOnlyProperties": [ "/properties/DirectoryId" ], @@ -49,25 +50,27 @@ "handlers": { "create": { "permissions": [ + "ds:AuthorizeApplication", + "ds:DescribeDirectories", "pca-connector-ad:GetDirectoryRegistration", "pca-connector-ad:CreateDirectoryRegistration", - "ds:AuthorizeApplication", - "ds:DescribeDirectories" + "pca-connector-ad:TagResource" ] }, "read": { "permissions": [ - "pca-connector-ad:ListTagsForResource", - "pca-connector-ad:GetDirectoryRegistration" + "pca-connector-ad:GetDirectoryRegistration", + "pca-connector-ad:ListTagsForResource" ] }, "delete": { "permissions": [ - "pca-connector-ad:GetDirectoryRegistration", - "pca-connector-ad:DeleteDirectoryRegistration", "ds:DescribeDirectories", "ds:UnauthorizeApplication", - "ds:UpdateAuthorizedApplication" + "ds:UpdateAuthorizedApplication", + "pca-connector-ad:GetDirectoryRegistration", + "pca-connector-ad:DeleteDirectoryRegistration", + "pca-connector-ad:UntagResource" ] }, "list": { diff --git a/server/schema/resources/aws-pcaconnectorad-template.json b/server/schema/resources/aws-pcaconnectorad-template.json index 3f2a6c3c..9ab7c279 100644 --- a/server/schema/resources/aws-pcaconnectorad-template.json +++ b/server/schema/resources/aws-pcaconnectorad-template.json @@ -1090,17 +1090,18 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "pca-connector-ad:ListTagsForResource", + "pca-connector-ad:TagResource", + "pca-connector-ad:UntagResource" + ] }, "readOnlyProperties": [ "/properties/TemplateArn" ], "writeOnlyProperties": [ - "/properties/ConnectorArn", - "/properties/Definition", - "/properties/Name", - "/properties/ReenrollAllCertificateHolders", - "/properties/Tags" + "/properties/ReenrollAllCertificateHolders" ], "createOnlyProperties": [ "/properties/ConnectorArn", @@ -1112,7 +1113,8 @@ "handlers": { "create": { "permissions": [ - "pca-connector-ad:CreateTemplate" + "pca-connector-ad:CreateTemplate", + "pca-connector-ad:TagResource" ] }, "read": { @@ -1132,7 +1134,8 @@ "delete": { "permissions": [ "pca-connector-ad:GetTemplate", - "pca-connector-ad:DeleteTemplate" + "pca-connector-ad:DeleteTemplate", + "pca-connector-ad:UntagResource" ] }, "list": { diff --git a/server/schema/resources/aws-pcs-cluster.json b/server/schema/resources/aws-pcs-cluster.json new file mode 100644 index 00000000..9220fb34 --- /dev/null +++ b/server/schema/resources/aws-pcs-cluster.json @@ -0,0 +1,371 @@ +{ + "typeName": "AWS::PCS::Cluster", + "description": "AWS::PCS::Cluster resource creates an AWS PCS cluster.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-pcs.git", + "definitions": { + "AuthKey": { + "type": "object", + "description": "The shared Slurm key for authentication, also known as the cluster secret.", + "properties": { + "SecretArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the the shared Slurm key.", + "markdownDescription": "The Amazon Resource Name (ARN) of the the shared Slurm key.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "SecretVersion": { + "type": "string", + "description": "The version of the shared Slurm key.", + "markdownDescription": "The version of the shared Slurm key.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "SecretArn", + "SecretVersion" + ], + "additionalProperties": false, + "markdownDescription": "The shared Slurm key for authentication, also known as the cluster secret.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Endpoint": { + "type": "object", + "description": "An endpoint available for interaction with the scheduler.", + "properties": { + "Port": { + "type": "string", + "description": "The endpoint's connection port number.", + "markdownDescription": "The endpoint's connection port number.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "PrivateIpAddress": { + "type": "string", + "description": "The endpoint's private IP address.", + "markdownDescription": "The endpoint's private IP address.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Type": { + "type": "string", + "description": "Indicates the type of endpoint running at the specific IP address.", + "enum": [ + "SLURMCTLD", + "SLURMDBD" + ], + "markdownDescription": "Indicates the type of endpoint running at the specific IP address.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: SLURMCTLD | SLURMDBD \nUpdate requires: No interruption" + }, + "PublicIpAddress": { + "type": "string", + "description": "The endpoint's public IP address.", + "markdownDescription": "The endpoint's public IP address.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Port", + "PrivateIpAddress", + "Type" + ], + "additionalProperties": false, + "markdownDescription": "An endpoint available for interaction with the scheduler.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ErrorInfo": { + "type": "object", + "description": "An error that occurred during resource provisioning.", + "properties": { + "Code": { + "type": "string", + "description": "The short-form error code.", + "markdownDescription": "The short-form error code.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Message": { + "type": "string", + "description": "The detailed error information.", + "markdownDescription": "The detailed error information.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "An error that occurred during resource provisioning.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SecurityGroupId": { + "type": "string", + "description": "A VPC security group ID.", + "markdownDescription": "A VPC security group ID.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SlurmCustomSetting": { + "type": "object", + "description": "Additional settings that directly map to Slurm settings.", + "properties": { + "ParameterName": { + "type": "string", + "description": "AWS PCS supports configuration of the following Slurm parameters for clusters: Prolog, Epilog, and SelectTypeParameters.", + "markdownDescription": "AWS PCS supports configuration of the following Slurm parameters for clusters: Prolog, Epilog, and SelectTypeParameters.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "ParameterValue": { + "type": "string", + "description": "The value for the configured Slurm setting.", + "markdownDescription": "The value for the configured Slurm setting.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "ParameterName", + "ParameterValue" + ], + "markdownDescription": "Additional settings that directly map to Slurm settings.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SubnetId": { + "type": "string", + "description": "A VPC subnet ID.", + "markdownDescription": "A VPC subnet ID.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Tag": { + "type": "object", + "description": "A key-value pair to associate with a resource.", + "properties": { + "Key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. \n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. \n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "Key" + ], + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "Name": { + "type": "string", + "description": "The name that identifies the cluster.", + "markdownDescription": "The name that identifies the cluster.\n\n---\n\nRequired: No \nType: String \nPattern: ^(?!pcs_)^(?![A-Za-z0-9]{10}$)[A-Za-z][A-Za-z0-9-]+$ \nUpdate requires: Replacement" + }, + "Networking": { + "type": "object", + "description": "The networking configuration for the cluster's control plane.", + "properties": { + "SecurityGroupIds": { + "type": "array", + "description": "The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets.", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SecurityGroupId" + }, + "markdownDescription": "The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SubnetIds": { + "type": "array", + "description": "The list of subnet IDs where AWS PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and AWS PCS resources. The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone. AWS PCS currently supports only 1 subnet in this list.", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetId" + }, + "markdownDescription": "The list of subnet IDs where AWS PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and AWS PCS resources. The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone. AWS PCS currently supports only 1 subnet in this list.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "The networking configuration for the cluster's control plane.\n\n---\n\nRequired: Yes \nUpdate requires: Replacement" + }, + "Scheduler": { + "type": "object", + "description": "The cluster management and job scheduling software associated with the cluster.", + "properties": { + "Type": { + "type": "string", + "description": "The software AWS PCS uses to manage cluster scaling and job scheduling.", + "enum": [ + "SLURM" + ], + "markdownDescription": "The software AWS PCS uses to manage cluster scaling and job scheduling.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: SLURM \nUpdate requires: No interruption" + }, + "Version": { + "type": "string", + "description": "The version of the specified scheduling software that AWS PCS uses to manage cluster scaling and job scheduling.", + "markdownDescription": "The version of the specified scheduling software that AWS PCS uses to manage cluster scaling and job scheduling.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Type", + "Version" + ], + "additionalProperties": false, + "markdownDescription": "The cluster management and job scheduling software associated with the cluster.\n\n---\n\nRequired: Yes \nUpdate requires: Replacement" + }, + "Size": { + "type": "string", + "description": "The size of the cluster.", + "enum": [ + "SMALL", + "MEDIUM", + "LARGE" + ], + "markdownDescription": "The size of the cluster.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: SMALL | MEDIUM | LARGE \nUpdate requires: Replacement" + }, + "SlurmConfiguration": { + "type": "object", + "description": "Additional options related to the Slurm scheduler.", + "properties": { + "AuthKey": { + "$ref": "#/definitions/AuthKey" + }, + "ScaleDownIdleTimeInSeconds": { + "type": "integer", + "description": "The time before an idle node is scaled down.", + "minimum": 1, + "markdownDescription": "The time before an idle node is scaled down.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "SlurmCustomSettings": { + "type": "array", + "description": "Additional Slurm-specific configuration that directly maps to Slurm settings.", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SlurmCustomSetting" + }, + "markdownDescription": "Additional Slurm-specific configuration that directly maps to Slurm settings.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "Additional options related to the Slurm scheduler.\n\n---\n\nRequired: No \nUpdate requires: Replacement" + }, + "Tags": { + "description": "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.", + "patternProperties": { + "^.+$": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "required": [ + "Networking", + "Scheduler", + "Size" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/Arn" + ], + "createOnlyProperties": [ + "/properties/Name", + "/properties/Networking", + "/properties/Scheduler", + "/properties/Size", + "/properties/SlurmConfiguration" + ], + "readOnlyProperties": [ + "/properties/Arn", + "/properties/Endpoints", + "/properties/ErrorInfo", + "/properties/Id", + "/properties/Status" + ], + "handlers": { + "create": { + "permissions": [ + "ec2:CreateNetworkInterface", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeSecurityGroups", + "ec2:GetSecurityGroupsForVpc", + "iam:CreateServiceLinkedRole", + "secretsmanager:CreateSecret", + "secretsmanager:TagResource", + "pcs:CreateCluster", + "pcs:GetCluster", + "pcs:ListTagsForResource", + "pcs:TagResource" + ], + "timeoutInMinutes": 60 + }, + "read": { + "permissions": [ + "pcs:GetCluster", + "pcs:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "pcs:GetCluster", + "pcs:ListTagsForResource", + "pcs:TagResource", + "pcs:UntagResource" + ], + "timeoutInMinutes": 60 + }, + "delete": { + "permissions": [ + "pcs:DeleteCluster", + "pcs:GetCluster" + ], + "timeoutInMinutes": 60 + }, + "list": { + "permissions": [ + "pcs:ListClusters" + ] + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "pcs:TagResource", + "pcs:ListTagsForResource", + "pcs:UntagResource" + ] + }, + "attributes": { + "Arn": { + "type": "string", + "description": "The unique Amazon Resource Name (ARN) of the cluster.", + "markdownDescription": "The unique Amazon Resource Name (ARN) of the cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Endpoints": { + "type": "array", + "description": "The list of endpoints available for interaction with the scheduler.", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Endpoint" + }, + "markdownDescription": "The list of endpoints available for interaction with the scheduler.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ErrorInfo": { + "type": "array", + "description": "The list of errors that occurred during cluster provisioning.", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ErrorInfo" + }, + "markdownDescription": "The list of errors that occurred during cluster provisioning.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Id": { + "type": "string", + "description": "The generated unique ID of the cluster.", + "markdownDescription": "The generated unique ID of the cluster.\n\n---\n\nRequired: No \nType: String \nPattern: ^(pcs_[a-zA-Z0-9]+|[A-Za-z][A-Za-z0-9-]{1,40})$ \nUpdate requires: No interruption" + }, + "Status": { + "type": "string", + "description": "The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster.", + "enum": [ + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "CREATE_FAILED", + "DELETE_FAILED", + "UPDATE_FAILED" + ], + "markdownDescription": "The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster.\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATING | ACTIVE | UPDATING | DELETING | CREATE_FAILED | DELETE_FAILED | UPDATE_FAILED \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-pcs-computenodegroup.json b/server/schema/resources/aws-pcs-computenodegroup.json new file mode 100644 index 00000000..f7df7650 --- /dev/null +++ b/server/schema/resources/aws-pcs-computenodegroup.json @@ -0,0 +1,368 @@ +{ + "typeName": "AWS::PCS::ComputeNodeGroup", + "description": "AWS::PCS::ComputeNodeGroup resource creates an AWS PCS compute node group.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-pcs.git", + "definitions": { + "ErrorInfo": { + "type": "object", + "description": "An error that occurred during resource provisioning.", + "properties": { + "Code": { + "type": "string", + "description": "The short-form error code.", + "markdownDescription": "The short-form error code.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Message": { + "type": "string", + "description": "The detailed error information.", + "markdownDescription": "The detailed error information.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "An error that occurred during resource provisioning.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "InstanceConfig": { + "type": "object", + "description": "An EC2 instance configuration AWS PCS uses to launch compute nodes.", + "properties": { + "InstanceType": { + "type": "string", + "description": "The EC2 instance type that AWS PCS can provision in the compute node group.", + "markdownDescription": "The EC2 instance type that AWS PCS can provision in the compute node group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "An EC2 instance configuration AWS PCS uses to launch compute nodes.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SlurmCustomSetting": { + "type": "object", + "description": "Additional settings that directly map to Slurm settings.", + "properties": { + "ParameterName": { + "type": "string", + "description": "AWS PCS supports configuration of the following Slurm parameters for compute node groups: Weight and RealMemory.", + "markdownDescription": "AWS PCS supports configuration of the following Slurm parameters for compute node groups: Weight and RealMemory.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "ParameterValue": { + "type": "string", + "description": "The value for the configured Slurm setting.", + "markdownDescription": "The value for the configured Slurm setting.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "ParameterName", + "ParameterValue" + ], + "markdownDescription": "Additional settings that directly map to Slurm settings.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SubnetId": { + "type": "string", + "description": "A VPC subnet ID.", + "markdownDescription": "A VPC subnet ID.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "properties": { + "AmiId": { + "type": "string", + "description": "The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template.", + "markdownDescription": "The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template.\n\n---\n\nRequired: No \nType: String \nPattern: ^ami-[a-z0-9]+$ \nUpdate requires: No interruption" + }, + "ClusterId": { + "type": "string", + "description": "The ID of the cluster of the compute node group.", + "markdownDescription": "The ID of the cluster of the compute node group.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "CustomLaunchTemplate": { + "type": "object", + "description": "An Amazon EC2 launch template AWS PCS uses to launch compute nodes.", + "properties": { + "Id": { + "type": "string", + "description": "The ID of the EC2 launch template to use to provision instances.", + "markdownDescription": "The ID of the EC2 launch template to use to provision instances.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Version": { + "type": "string", + "description": "The version of the EC2 launch template to use to provision instances.", + "markdownDescription": "The version of the EC2 launch template to use to provision instances.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "Id", + "Version" + ], + "markdownDescription": "An Amazon EC2 launch template AWS PCS uses to launch compute nodes.\n\n---\n\nRequired: Yes \nUpdate requires: No interruption" + }, + "IamInstanceProfileArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly.", + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^arn:aws([a-zA-Z-]{0,10})?:iam::[0-9]{12}:instance-profile/.{1,128}$ \nUpdate requires: No interruption" + }, + "InstanceConfigs": { + "type": "array", + "description": "A list of EC2 instance configurations that AWS PCS can provision in the compute node group.", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InstanceConfig" + }, + "markdownDescription": "A list of EC2 instance configurations that AWS PCS can provision in the compute node group.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: Replacement" + }, + "Name": { + "type": "string", + "description": "The name that identifies the compute node group.", + "markdownDescription": "The name that identifies the compute node group.\n\n---\n\nRequired: No \nType: String \nPattern: ^(?!pcs_)^(?![A-Za-z0-9]{10}$)[A-Za-z][A-Za-z0-9-]+$ \nUpdate requires: Replacement" + }, + "PurchaseOption": { + "type": "string", + "description": "Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand.", + "enum": [ + "ONDEMAND", + "SPOT" + ], + "markdownDescription": "Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ONDEMAND | SPOT \nUpdate requires: No interruption" + }, + "ScalingConfiguration": { + "type": "object", + "description": "Specifies the boundaries of the compute node group auto scaling.", + "properties": { + "MaxInstanceCount": { + "type": "integer", + "description": "The upper bound of the number of instances allowed in the compute fleet.", + "minimum": 0, + "markdownDescription": "The upper bound of the number of instances allowed in the compute fleet.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "MinInstanceCount": { + "type": "integer", + "description": "The lower bound of the number of instances allowed in the compute fleet.", + "minimum": 0, + "markdownDescription": "The lower bound of the number of instances allowed in the compute fleet.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "MaxInstanceCount", + "MinInstanceCount" + ], + "markdownDescription": "Specifies the boundaries of the compute node group auto scaling.\n\n---\n\nRequired: Yes \nUpdate requires: No interruption" + }, + "SlurmConfiguration": { + "type": "object", + "description": "Additional options related to the Slurm scheduler.", + "properties": { + "SlurmCustomSettings": { + "type": "array", + "description": "Additional Slurm-specific configuration that directly maps to Slurm settings.", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SlurmCustomSetting" + }, + "markdownDescription": "Additional Slurm-specific configuration that directly maps to Slurm settings.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "Additional options related to the Slurm scheduler.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SpotOptions": { + "type": "object", + "description": "Additional configuration when you specify SPOT as the purchase option.", + "properties": { + "AllocationStrategy": { + "type": "string", + "description": "The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized.", + "enum": [ + "lowest-price", + "capacity-optimized", + "price-capacity-optimized" + ], + "markdownDescription": "The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized.\n\n---\n\nRequired: No \nType: String \nAllowed Values: lowest-price | capacity-optimized | price-capacity-optimized \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "Additional configuration when you specify SPOT as the purchase option.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SubnetIds": { + "type": "array", + "description": "The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster.", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetId" + }, + "markdownDescription": "The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "Tags": { + "description": "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.", + "patternProperties": { + "^.+$": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "required": [ + "ClusterId", + "CustomLaunchTemplate", + "IamInstanceProfileArn", + "InstanceConfigs", + "ScalingConfiguration", + "SubnetIds" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/Arn" + ], + "createOnlyProperties": [ + "/properties/Name", + "/properties/ClusterId", + "/properties/InstanceConfigs" + ], + "readOnlyProperties": [ + "/properties/Arn", + "/properties/ErrorInfo", + "/properties/Id", + "/properties/Status" + ], + "handlers": { + "create": { + "permissions": [ + "ec2:DescribeImages", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeSecurityGroups", + "ec2:DescribeLaunchTemplates", + "ec2:DescribeLaunchTemplateVersions", + "ec2:DescribeInstanceTypes", + "ec2:DescribeInstanceTypeOfferings", + "ec2:RunInstances", + "ec2:CreateFleet", + "ec2:CreateTags", + "iam:PassRole", + "iam:GetInstanceProfile", + "pcs:CreateComputeNodeGroup", + "pcs:GetComputeNodeGroup", + "pcs:ListTagsForResource", + "pcs:TagResource" + ], + "timeoutInMinutes": 60 + }, + "read": { + "permissions": [ + "pcs:GetComputeNodeGroup", + "pcs:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "ec2:DescribeImages", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeSecurityGroups", + "ec2:DescribeLaunchTemplates", + "ec2:DescribeLaunchTemplateVersions", + "ec2:DescribeInstanceTypes", + "ec2:DescribeInstanceTypeOfferings", + "ec2:RunInstances", + "ec2:CreateFleet", + "ec2:CreateTags", + "iam:PassRole", + "iam:GetInstanceProfile", + "pcs:GetComputeNodeGroup", + "pcs:UpdateComputeNodeGroup", + "pcs:ListTagsForResource", + "pcs:TagResource", + "pcs:UntagResource" + ], + "timeoutInMinutes": 60 + }, + "delete": { + "permissions": [ + "ec2:DescribeImages", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeSecurityGroups", + "ec2:DescribeLaunchTemplates", + "ec2:DescribeLaunchTemplateVersions", + "ec2:DescribeInstanceTypes", + "ec2:DescribeInstanceTypeOfferings", + "ec2:TerminateInstances", + "ec2:CreateFleet", + "ec2:CreateTags", + "iam:PassRole", + "iam:GetInstanceProfile", + "pcs:GetComputeNodeGroup", + "pcs:DeleteComputeNodeGroup", + "pcs:ListTagsForResource", + "pcs:TagResource", + "pcs:UntagResource" + ], + "timeoutInMinutes": 60 + }, + "list": { + "handlerSchema": { + "properties": { + "ClusterId": { + "$ref": "resource-schema.json#/properties/ClusterId" + } + }, + "required": [ + "ClusterId" + ] + }, + "permissions": [ + "pcs:ListClusters", + "pcs:ListComputeNodeGroups" + ] + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "pcs:TagResource", + "pcs:ListTagsForResource", + "pcs:UntagResource" + ] + }, + "attributes": { + "Arn": { + "type": "string", + "description": "The unique Amazon Resource Name (ARN) of the compute node group.", + "markdownDescription": "The unique Amazon Resource Name (ARN) of the compute node group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ErrorInfo": { + "type": "array", + "description": "The list of errors that occurred during compute node group provisioning.", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ErrorInfo" + }, + "markdownDescription": "The list of errors that occurred during compute node group provisioning.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Id": { + "type": "string", + "description": "The generated unique ID of the compute node group.", + "markdownDescription": "The generated unique ID of the compute node group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Status": { + "type": "string", + "description": "The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group.", + "enum": [ + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "CREATE_FAILED", + "DELETE_FAILED", + "UPDATE_FAILED" + ], + "markdownDescription": "The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group.\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATING | ACTIVE | UPDATING | DELETING | CREATE_FAILED | DELETE_FAILED | UPDATE_FAILED \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-pcs-queue.json b/server/schema/resources/aws-pcs-queue.json new file mode 100644 index 00000000..e3a77caf --- /dev/null +++ b/server/schema/resources/aws-pcs-queue.json @@ -0,0 +1,193 @@ +{ + "typeName": "AWS::PCS::Queue", + "description": "AWS::PCS::Queue resource creates an AWS PCS queue.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-pcs.git", + "definitions": { + "ComputeNodeGroupConfiguration": { + "type": "object", + "description": "The compute node group configuration for a queue.", + "properties": { + "ComputeNodeGroupId": { + "type": "string", + "description": "The compute node group ID for the compute node group configuration.", + "markdownDescription": "The compute node group ID for the compute node group configuration.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "The compute node group configuration for a queue.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ErrorInfo": { + "type": "object", + "description": "An error that occurred during resource provisioning.", + "properties": { + "Code": { + "type": "string", + "description": "The short-form error code.", + "markdownDescription": "The short-form error code.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Message": { + "type": "string", + "description": "The detailed error information.", + "markdownDescription": "The detailed error information.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "An error that occurred during resource provisioning.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "ClusterId": { + "type": "string", + "description": "The ID of the cluster of the queue.", + "markdownDescription": "The ID of the cluster of the queue.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "ComputeNodeGroupConfigurations": { + "type": "array", + "description": "The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups.", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ComputeNodeGroupConfiguration" + }, + "markdownDescription": "The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Name": { + "type": "string", + "description": "The name that identifies the queue.", + "markdownDescription": "The name that identifies the queue.\n\n---\n\nRequired: No \nType: String \nPattern: ^(?!pcs_)^(?![A-Za-z0-9]{10}$)[A-Za-z][A-Za-z0-9-]+$ \nUpdate requires: Replacement" + }, + "Tags": { + "type": "object", + "description": "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.", + "patternProperties": { + "^.+$": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "required": [ + "ClusterId" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/Arn" + ], + "createOnlyProperties": [ + "/properties/Name", + "/properties/ClusterId" + ], + "readOnlyProperties": [ + "/properties/Arn", + "/properties/ErrorInfo", + "/properties/Id", + "/properties/Status" + ], + "handlers": { + "create": { + "permissions": [ + "ec2:CreateNetworkInterface", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeSecurityGroups", + "ec2:GetSecurityGroupsForVpc", + "iam:CreateServiceLinkedRole", + "secretsmanager:CreateSecret", + "secretsmanager:TagResource", + "pcs:CreateQueue", + "pcs:GetQueue", + "pcs:ListTagsForResource", + "pcs:TagResource" + ], + "timeoutInMinutes": 60 + }, + "read": { + "permissions": [ + "pcs:GetQueue", + "pcs:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "pcs:GetQueue", + "pcs:UpdateQueue", + "pcs:ListTagsForResource", + "pcs:TagResource", + "pcs:UntagResource" + ], + "timeoutInMinutes": 60 + }, + "delete": { + "permissions": [ + "pcs:DeleteQueue", + "pcs:GetQueue" + ], + "timeoutInMinutes": 60 + }, + "list": { + "handlerSchema": { + "properties": { + "ClusterId": { + "$ref": "resource-schema.json#/properties/ClusterId" + } + }, + "required": [ + "ClusterId" + ] + }, + "permissions": [ + "pcs:ListClusters", + "pcs:ListQueues" + ] + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "pcs:TagResource", + "pcs:ListTagsForResource", + "pcs:UntagResource" + ] + }, + "attributes": { + "Arn": { + "type": "string", + "description": "The unique Amazon Resource Name (ARN) of the queue.", + "markdownDescription": "The unique Amazon Resource Name (ARN) of the queue.\n\n---\n\nRequired: No \nType: String \nPattern: ^(.*?) \nUpdate requires: No interruption" + }, + "ErrorInfo": { + "type": "array", + "description": "The list of errors that occurred during queue provisioning.", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/ErrorInfo" + }, + "markdownDescription": "The list of errors that occurred during queue provisioning.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Id": { + "type": "string", + "description": "The generated unique ID of the queue.", + "markdownDescription": "The generated unique ID of the queue.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Status": { + "type": "string", + "description": "The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue.", + "enum": [ + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "CREATE_FAILED", + "DELETE_FAILED", + "UPDATE_FAILED" + ], + "markdownDescription": "The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue.\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATING | ACTIVE | UPDATING | DELETING | CREATE_FAILED | DELETE_FAILED | UPDATE_FAILED \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-pinpoint-inapptemplate.json b/server/schema/resources/aws-pinpoint-inapptemplate.json index d08d7e05..51087f92 100644 --- a/server/schema/resources/aws-pinpoint-inapptemplate.json +++ b/server/schema/resources/aws-pinpoint-inapptemplate.json @@ -179,7 +179,9 @@ "update": { "permissions": [ "mobiletargeting:UpdateInAppTemplate", - "mobiletargeting:GetInAppTemplate" + "mobiletargeting:GetInAppTemplate", + "mobiletargeting:TagResource", + "mobiletargeting:UntagResource" ] } }, @@ -231,7 +233,17 @@ "TemplateName" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "mobiletargeting:TagResource", + "mobiletargeting:UntagResource" + ] + }, "typeName": "AWS::Pinpoint::InAppTemplate", "attributes": { "Arn": { diff --git a/server/schema/resources/aws-pipes-pipe.json b/server/schema/resources/aws-pipes-pipe.json index 4240f145..d88de789 100644 --- a/server/schema/resources/aws-pipes-pipe.json +++ b/server/schema/resources/aws-pipes-pipe.json @@ -220,7 +220,7 @@ "type": "string", "maxLength": 1600, "minLength": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^(^arn:aws([a-z]|\\-)*:logs:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}):(\\d{12}):log-group:.+)$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^(^arn:aws([a-z]|\\-)*:logs:([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}):(\\d{12}):log-group:.+)$ \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -233,7 +233,7 @@ "type": "string", "maxLength": 1600, "minLength": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:(.+)$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1})?:(\\d{12})?:(.+)$ \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -452,7 +452,7 @@ "type": "string", "maxLength": 1600, "minLength": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:(.+)|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1})?:(\\d{12})?:(.+)|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$ \nUpdate requires: No interruption" }, "InferenceAcceleratorOverrides": { "type": "array", @@ -469,7 +469,7 @@ "type": "string", "maxLength": 1600, "minLength": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:(.+)|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1})?:(\\d{12})?:(.+)|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$ \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -521,7 +521,7 @@ "type": "string", "maxLength": 1600, "minLength": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^(^arn:aws([a-z]|\\-)*:firehose:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}):(\\d{12}):deliverystream/.+)$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^(^arn:aws([a-z]|\\-)*:firehose:([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}):(\\d{12}):deliverystream/.+)$ \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -585,7 +585,7 @@ "type": "string", "maxLength": 1600, "minLength": 1, - "pattern": "^(^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}):(\\d{12}):secret:.+)$", + "pattern": "^(^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}):(\\d{12}):secret:.+)$", "description": "Optional SecretManager ARN which stores the database credentials" } }, @@ -606,7 +606,7 @@ "type": "string", "maxLength": 1600, "minLength": 1, - "pattern": "^(^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}):(\\d{12}):secret:.+)$", + "pattern": "^(^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}):(\\d{12}):secret:.+)$", "description": "Optional SecretManager ARN which stores the database credentials" } }, @@ -623,7 +623,7 @@ "type": "string", "maxLength": 1600, "minLength": 1, - "pattern": "^(^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}):(\\d{12}):secret:.+)$", + "pattern": "^(^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}):(\\d{12}):secret:.+)$", "description": "Optional SecretManager ARN which stores the database credentials" } }, @@ -1081,7 +1081,7 @@ "maxLength": 1600, "minLength": 1, "description": "Optional SecretManager ARN which stores the database credentials", - "markdownDescription": "Optional SecretManager ARN which stores the database credentials\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^(^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}):(\\d{12}):secret:.+)$ \nUpdate requires: No interruption" + "markdownDescription": "Optional SecretManager ARN which stores the database credentials\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^(^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}):(\\d{12}):secret:.+)$ \nUpdate requires: No interruption" }, "Vpc": { "$ref": "#/definitions/SelfManagedKafkaAccessConfigurationVpc" @@ -1199,7 +1199,7 @@ "type": "string", "maxLength": 1600, "minLength": 1, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:(.+)|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1})?:(\\d{12})?:(.+)|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$ \nUpdate requires: No interruption" }, "TaskCount": { "type": "integer", @@ -1310,7 +1310,7 @@ "type": "string", "maxLength": 1600, "minLength": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:(.+)|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1})?:(\\d{12})?:(.+)|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$ \nUpdate requires: No interruption" }, "maxItems": 10, "minItems": 0, @@ -1438,7 +1438,7 @@ "maxLength": 1600, "minLength": 1, "description": "Optional SecretManager ARN which stores the database credentials", - "markdownDescription": "Optional SecretManager ARN which stores the database credentials\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^(^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}):(\\d{12}):secret:.+)|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$ \nUpdate requires: No interruption" + "markdownDescription": "Optional SecretManager ARN which stores the database credentials\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^(^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}):(\\d{12}):secret:.+)|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$ \nUpdate requires: No interruption" }, "Database": { "type": "string", @@ -1737,7 +1737,7 @@ "type": "string", "maxLength": 1600, "minLength": 1, - "pattern": "^(^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}):(\\d{12}):secret:.+)$", + "pattern": "^(^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}):(\\d{12}):secret:.+)$", "description": "Optional SecretManager ARN which stores the database credentials" } }, @@ -1754,7 +1754,7 @@ "type": "string", "maxLength": 1600, "minLength": 1, - "pattern": "^(^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}):(\\d{12}):secret:.+)$", + "pattern": "^(^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}):(\\d{12}):secret:.+)$", "description": "Optional SecretManager ARN which stores the database credentials" } }, @@ -1771,7 +1771,7 @@ "type": "string", "maxLength": 1600, "minLength": 1, - "pattern": "^(^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}):(\\d{12}):secret:.+)$", + "pattern": "^(^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}):(\\d{12}):secret:.+)$", "description": "Optional SecretManager ARN which stores the database credentials" } }, @@ -1788,7 +1788,7 @@ "type": "string", "maxLength": 1600, "minLength": 1, - "pattern": "^(^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}):(\\d{12}):secret:.+)$", + "pattern": "^(^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}):(\\d{12}):secret:.+)$", "description": "Optional SecretManager ARN which stores the database credentials" } }, @@ -1928,7 +1928,7 @@ "type": "string", "maxLength": 1600, "minLength": 0, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1600 \nPattern: ^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:(.+)$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1600 \nPattern: ^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1})?:(\\d{12})?:(.+)$ \nUpdate requires: No interruption" }, "EnrichmentParameters": { "$ref": "#/definitions/PipeEnrichmentParameters" @@ -1958,7 +1958,7 @@ "type": "string", "maxLength": 1600, "minLength": 1, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^smk://(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9]):[0-9]{1,5}|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:(.+)$ \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^smk://(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9]):[0-9]{1,5}|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1})?:(\\d{12})?:(.+)$ \nUpdate requires: Replacement" }, "SourceParameters": { "$ref": "#/definitions/PipeSourceParameters" @@ -1970,7 +1970,7 @@ "type": "string", "maxLength": 1600, "minLength": 1, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:(.+)$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1})?:(\\d{12})?:(.+)$ \nUpdate requires: No interruption" }, "TargetParameters": { "$ref": "#/definitions/PipeTargetParameters" diff --git a/server/schema/resources/aws-proton-environmentaccountconnection.json b/server/schema/resources/aws-proton-environmentaccountconnection.json index cac8dacb..7d9152f4 100644 --- a/server/schema/resources/aws-proton-environmentaccountconnection.json +++ b/server/schema/resources/aws-proton-environmentaccountconnection.json @@ -152,7 +152,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "proton:ListTagsForResource", + "proton:UntagResource", + "proton:TagResource" + ] }, "attributes": { "Arn": { diff --git a/server/schema/resources/aws-proton-environmenttemplate.json b/server/schema/resources/aws-proton-environmenttemplate.json index 9b581a98..14f68fa3 100644 --- a/server/schema/resources/aws-proton-environmenttemplate.json +++ b/server/schema/resources/aws-proton-environmenttemplate.json @@ -99,34 +99,179 @@ "create": { "permissions": [ "proton:CreateEnvironmentTemplate", + "proton:DeleteEnvironmentTemplate", + "proton:ListTagsForResource", "proton:TagResource", "proton:GetEnvironmentTemplate", - "kms:*" + "kms:CancelKeyDeletion", + "kms:CreateAlias", + "kms:CreateCustomKeyStore", + "kms:CreateGrant", + "kms:CreateKey", + "kms:DeleteAlias", + "kms:DeleteCustomKeyStore", + "kms:DeleteImportedKeyMaterial", + "kms:DescribeCustomKeyStores", + "kms:DescribeKey", + "kms:DisableKey", + "kms:DisableKeyRotation", + "kms:EnableKey", + "kms:EnableKeyRotation", + "kms:GenerateDataKey", + "kms:GetKeyPolicy", + "kms:GetKeyRotationStatus", + "kms:GetParametersForImport", + "kms:GetPublicKey", + "kms:ListAliases", + "kms:ListGrants", + "kms:ListKeyPolicies", + "kms:ListKeyRotations", + "kms:ListKeys", + "kms:ListResourceTags", + "kms:ListRetirableGrants", + "kms:PutKeyPolicy", + "kms:RevokeGrant", + "kms:ScheduleKeyDeletion", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateAlias", + "kms:UpdateCustomKeyStore", + "kms:UpdateKeyDescription", + "kms:UpdatePrimaryRegion" ] }, "read": { "permissions": [ - "proton:GetEnvironmentTemplate", + "proton:CreateEnvironmentTemplate", + "proton:DeleteEnvironmentTemplate", "proton:ListTagsForResource", - "kms:*" + "proton:GetEnvironmentTemplate", + "kms:CancelKeyDeletion", + "kms:CreateAlias", + "kms:CreateCustomKeyStore", + "kms:CreateGrant", + "kms:CreateKey", + "kms:DeleteAlias", + "kms:DeleteCustomKeyStore", + "kms:DeleteImportedKeyMaterial", + "kms:DescribeCustomKeyStores", + "kms:DescribeKey", + "kms:DisableKey", + "kms:DisableKeyRotation", + "kms:EnableKey", + "kms:EnableKeyRotation", + "kms:GenerateDataKey", + "kms:GetKeyPolicy", + "kms:GetKeyRotationStatus", + "kms:GetParametersForImport", + "kms:GetPublicKey", + "kms:ListAliases", + "kms:ListGrants", + "kms:ListKeyPolicies", + "kms:ListKeyRotations", + "kms:ListKeys", + "kms:ListResourceTags", + "kms:ListRetirableGrants", + "kms:PutKeyPolicy", + "kms:RevokeGrant", + "kms:ScheduleKeyDeletion", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateAlias", + "kms:UpdateCustomKeyStore", + "kms:UpdateKeyDescription", + "kms:UpdatePrimaryRegion" ] }, "update": { "permissions": [ "proton:CreateEnvironmentTemplate", + "proton:DeleteEnvironmentTemplate", + "proton:GetEnvironmentTemplate", "proton:ListTagsForResource", "proton:TagResource", - "proton:UntagResource", "proton:UpdateEnvironmentTemplate", - "proton:GetEnvironmentTemplate", - "kms:*" + "proton:UntagResource", + "kms:CancelKeyDeletion", + "kms:CreateAlias", + "kms:CreateCustomKeyStore", + "kms:CreateGrant", + "kms:CreateKey", + "kms:DeleteAlias", + "kms:DeleteCustomKeyStore", + "kms:DeleteImportedKeyMaterial", + "kms:DescribeCustomKeyStores", + "kms:DescribeKey", + "kms:DisableKey", + "kms:DisableKeyRotation", + "kms:EnableKey", + "kms:EnableKeyRotation", + "kms:GenerateDataKey", + "kms:GetKeyPolicy", + "kms:GetKeyRotationStatus", + "kms:GetParametersForImport", + "kms:GetPublicKey", + "kms:ListAliases", + "kms:ListGrants", + "kms:ListKeyPolicies", + "kms:ListKeyRotations", + "kms:ListKeys", + "kms:ListResourceTags", + "kms:ListRetirableGrants", + "kms:PutKeyPolicy", + "kms:RevokeGrant", + "kms:ScheduleKeyDeletion", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateAlias", + "kms:UpdateCustomKeyStore", + "kms:UpdateKeyDescription", + "kms:UpdatePrimaryRegion" ] }, "delete": { "permissions": [ + "proton:CreateEnvironmentTemplate", "proton:DeleteEnvironmentTemplate", "proton:GetEnvironmentTemplate", - "kms:*" + "proton:ListTagsForResource", + "proton:TagResource", + "proton:UntagResource", + "kms:CancelKeyDeletion", + "kms:CreateAlias", + "kms:CreateCustomKeyStore", + "kms:CreateGrant", + "kms:CreateKey", + "kms:DeleteAlias", + "kms:DeleteCustomKeyStore", + "kms:DeleteImportedKeyMaterial", + "kms:DescribeCustomKeyStores", + "kms:DescribeKey", + "kms:DisableKey", + "kms:DisableKeyRotation", + "kms:EnableKey", + "kms:EnableKeyRotation", + "kms:GenerateDataKey", + "kms:GetKeyPolicy", + "kms:GetKeyRotationStatus", + "kms:GetParametersForImport", + "kms:GetPublicKey", + "kms:ListAliases", + "kms:ListGrants", + "kms:ListKeyPolicies", + "kms:ListKeyRotations", + "kms:ListKeys", + "kms:ListResourceTags", + "kms:ListRetirableGrants", + "kms:PutKeyPolicy", + "kms:RevokeGrant", + "kms:ScheduleKeyDeletion", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateAlias", + "kms:UpdateCustomKeyStore", + "kms:UpdateKeyDescription", + "kms:UpdatePrimaryRegion" ] }, "list": { @@ -141,7 +286,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "proton:ListTagsForResource", + "proton:UntagResource", + "proton:TagResource" + ] }, "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-proton", "attributes": { diff --git a/server/schema/resources/aws-proton-servicetemplate.json b/server/schema/resources/aws-proton-servicetemplate.json index 84c5b015..0e85df4b 100644 --- a/server/schema/resources/aws-proton-servicetemplate.json +++ b/server/schema/resources/aws-proton-servicetemplate.json @@ -100,15 +100,83 @@ "permissions": [ "proton:CreateServiceTemplate", "proton:TagResource", - "kms:*", - "proton:GetServiceTemplate" + "proton:GetServiceTemplate", + "kms:CancelKeyDeletion", + "kms:CreateAlias", + "kms:CreateCustomKeyStore", + "kms:CreateGrant", + "kms:CreateKey", + "kms:DeleteAlias", + "kms:DeleteCustomKeyStore", + "kms:DeleteImportedKeyMaterial", + "kms:DescribeCustomKeyStores", + "kms:DescribeKey", + "kms:DisableKey", + "kms:DisableKeyRotation", + "kms:EnableKey", + "kms:EnableKeyRotation", + "kms:GenerateDataKey", + "kms:GetKeyPolicy", + "kms:GetKeyRotationStatus", + "kms:GetParametersForImport", + "kms:GetPublicKey", + "kms:ListAliases", + "kms:ListGrants", + "kms:ListKeyPolicies", + "kms:ListKeyRotations", + "kms:ListKeys", + "kms:ListResourceTags", + "kms:ListRetirableGrants", + "kms:PutKeyPolicy", + "kms:RevokeGrant", + "kms:ScheduleKeyDeletion", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateAlias", + "kms:UpdateCustomKeyStore", + "kms:UpdateKeyDescription", + "kms:UpdatePrimaryRegion" ] }, "read": { "permissions": [ "proton:GetServiceTemplate", "proton:ListTagsForResource", - "kms:*" + "kms:CancelKeyDeletion", + "kms:CreateAlias", + "kms:CreateCustomKeyStore", + "kms:CreateGrant", + "kms:CreateKey", + "kms:DeleteAlias", + "kms:DeleteCustomKeyStore", + "kms:DeleteImportedKeyMaterial", + "kms:DescribeCustomKeyStores", + "kms:DescribeKey", + "kms:DisableKey", + "kms:DisableKeyRotation", + "kms:EnableKey", + "kms:EnableKeyRotation", + "kms:GenerateDataKey", + "kms:GetKeyPolicy", + "kms:GetKeyRotationStatus", + "kms:GetParametersForImport", + "kms:GetPublicKey", + "kms:ListAliases", + "kms:ListGrants", + "kms:ListKeyPolicies", + "kms:ListKeyRotations", + "kms:ListKeys", + "kms:ListResourceTags", + "kms:ListRetirableGrants", + "kms:PutKeyPolicy", + "kms:RevokeGrant", + "kms:ScheduleKeyDeletion", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateAlias", + "kms:UpdateCustomKeyStore", + "kms:UpdateKeyDescription", + "kms:UpdatePrimaryRegion" ] }, "update": { @@ -119,15 +187,83 @@ "proton:TagResource", "proton:UntagResource", "proton:UpdateServiceTemplate", - "kms:*" + "kms:CancelKeyDeletion", + "kms:CreateAlias", + "kms:CreateCustomKeyStore", + "kms:CreateGrant", + "kms:CreateKey", + "kms:DeleteAlias", + "kms:DeleteCustomKeyStore", + "kms:DeleteImportedKeyMaterial", + "kms:DescribeCustomKeyStores", + "kms:DescribeKey", + "kms:DisableKey", + "kms:DisableKeyRotation", + "kms:EnableKey", + "kms:EnableKeyRotation", + "kms:GenerateDataKey", + "kms:GetKeyPolicy", + "kms:GetKeyRotationStatus", + "kms:GetParametersForImport", + "kms:GetPublicKey", + "kms:ListAliases", + "kms:ListGrants", + "kms:ListKeyPolicies", + "kms:ListKeyRotations", + "kms:ListKeys", + "kms:ListResourceTags", + "kms:ListRetirableGrants", + "kms:PutKeyPolicy", + "kms:RevokeGrant", + "kms:ScheduleKeyDeletion", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateAlias", + "kms:UpdateCustomKeyStore", + "kms:UpdateKeyDescription", + "kms:UpdatePrimaryRegion" ] }, "delete": { "permissions": [ "proton:DeleteServiceTemplate", "proton:UntagResource", - "kms:*", - "proton:GetServiceTemplate" + "proton:GetServiceTemplate", + "kms:CancelKeyDeletion", + "kms:CreateAlias", + "kms:CreateCustomKeyStore", + "kms:CreateGrant", + "kms:CreateKey", + "kms:DeleteAlias", + "kms:DeleteCustomKeyStore", + "kms:DeleteImportedKeyMaterial", + "kms:DescribeCustomKeyStores", + "kms:DescribeKey", + "kms:DisableKey", + "kms:DisableKeyRotation", + "kms:EnableKey", + "kms:EnableKeyRotation", + "kms:GenerateDataKey", + "kms:GetKeyPolicy", + "kms:GetKeyRotationStatus", + "kms:GetParametersForImport", + "kms:GetPublicKey", + "kms:ListAliases", + "kms:ListGrants", + "kms:ListKeyPolicies", + "kms:ListKeyRotations", + "kms:ListKeys", + "kms:ListResourceTags", + "kms:ListRetirableGrants", + "kms:PutKeyPolicy", + "kms:RevokeGrant", + "kms:ScheduleKeyDeletion", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateAlias", + "kms:UpdateCustomKeyStore", + "kms:UpdateKeyDescription", + "kms:UpdatePrimaryRegion" ] }, "list": { @@ -142,7 +278,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "proton:ListTagsForResource", + "proton:UntagResource", + "proton:TagResource" + ] }, "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-proton", "attributes": { diff --git a/server/schema/resources/aws-qbusiness-application.json b/server/schema/resources/aws-qbusiness-application.json index e04cdae6..dde9541b 100644 --- a/server/schema/resources/aws-qbusiness-application.json +++ b/server/schema/resources/aws-qbusiness-application.json @@ -76,9 +76,31 @@ "enum": [ "AWS_IAM_IDP_SAML", "AWS_IAM_IDP_OIDC", - "AWS_IAM_IDC" + "AWS_IAM_IDC", + "AWS_QUICKSIGHT_IDP" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: AWS_IAM_IDP_SAML | AWS_IAM_IDP_OIDC | AWS_IAM_IDC \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: AWS_IAM_IDP_SAML | AWS_IAM_IDP_OIDC | AWS_IAM_IDC | AWS_QUICKSIGHT_IDP \nUpdate requires: No interruption" + }, + "PersonalizationConfiguration": { + "type": "object", + "properties": { + "PersonalizationControlMode": { + "$ref": "#/definitions/PersonalizationControlMode" + } + }, + "required": [ + "PersonalizationControlMode" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PersonalizationControlMode": { + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" }, "QAppsConfiguration": { "type": "object", @@ -101,34 +123,29 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" }, - "SubscriptionType": { - "type": "string", - "enum": [ - "Q_LITE", - "Q_BUSINESS" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: Q_LITE | Q_BUSINESS \nUpdate requires: No interruption" - }, - "PersonalizationConfiguration": { + "QuickSightConfiguration": { "type": "object", "properties": { - "PersonalizationControlMode": { - "$ref": "#/definitions/PersonalizationControlMode" + "ClientNamespace": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9._-]*$ \nUpdate requires: No interruption" } }, "required": [ - "PersonalizationControlMode" + "ClientNamespace" ], "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "PersonalizationControlMode": { + "SubscriptionType": { "type": "string", "enum": [ - "ENABLED", - "DISABLED" + "Q_LITE", + "Q_BUSINESS" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: Q_LITE | Q_BUSINESS \nUpdate requires: No interruption" }, "Tag": { "type": "object", @@ -163,7 +180,6 @@ }, "ClientIdsForOIDC": { "type": "array", - "insertionOrder": false, "items": { "type": "string", "maxLength": 255, @@ -193,12 +209,6 @@ "minLength": 20, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^arn:aws:iam::\\d{12}:(oidc-provider|saml-provider)/[a-zA-Z0-9_\\.\\/@\\-]+$ \nUpdate requires: Replacement" }, - "QAppsConfiguration": { - "$ref": "#/definitions/QAppsConfiguration" - }, - "PersonalizationConfiguration": { - "$ref": "#/definitions/PersonalizationConfiguration" - }, "IdentityCenterInstanceArn": { "type": "string", "maxLength": 1224, @@ -208,6 +218,15 @@ "IdentityType": { "$ref": "#/definitions/IdentityType" }, + "PersonalizationConfiguration": { + "$ref": "#/definitions/PersonalizationConfiguration" + }, + "QAppsConfiguration": { + "$ref": "#/definitions/QAppsConfiguration" + }, + "QuickSightConfiguration": { + "$ref": "#/definitions/QuickSightConfiguration" + }, "RoleArn": { "type": "string", "maxLength": 1284, @@ -216,7 +235,6 @@ }, "Tags": { "type": "array", - "insertionOrder": false, "items": { "$ref": "#/definitions/Tag" }, @@ -243,7 +261,8 @@ "/properties/ClientIdsForOIDC", "/properties/EncryptionConfiguration", "/properties/IamIdentityProviderArn", - "/properties/IdentityType" + "/properties/IdentityType", + "/properties/QuickSightConfiguration" ], "primaryIdentifier": [ "/properties/ApplicationId" @@ -257,9 +276,11 @@ "kms:DescribeKey", "qbusiness:CreateApplication", "qbusiness:GetApplication", - "qbusiness:UpdateApplication", "qbusiness:ListTagsForResource", "qbusiness:TagResource", + "qbusiness:UpdateApplication", + "quicksight:DescribeAccountSubscription", + "quicksight:ListNamespaces", "sso:CreateApplication", "sso:DeleteApplication", "sso:DescribeInstance", @@ -305,7 +326,16 @@ } }, "tagging": { - "taggable": true + "taggable": true, + "tagUpdatable": true, + "tagOnCreate": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "qbusiness:UntagResource", + "qbusiness:TagResource", + "qbusiness:ListTagsForResource" + ] }, "additionalProperties": false, "attributes": { diff --git a/server/schema/resources/aws-qbusiness-dataaccessor.json b/server/schema/resources/aws-qbusiness-dataaccessor.json new file mode 100644 index 00000000..e5e06a6c --- /dev/null +++ b/server/schema/resources/aws-qbusiness-dataaccessor.json @@ -0,0 +1,346 @@ +{ + "typeName": "AWS::QBusiness::DataAccessor", + "description": "Definition of AWS::QBusiness::DataAccessor Resource Type", + "definitions": { + "ActionConfiguration": { + "type": "object", + "properties": { + "Action": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^qbusiness:[a-zA-Z]+$ \nUpdate requires: No interruption" + }, + "FilterConfiguration": { + "$ref": "#/definitions/ActionFilterConfiguration" + } + }, + "required": [ + "Action" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ActionFilterConfiguration": { + "type": "object", + "properties": { + "DocumentAttributeFilter": { + "$ref": "#/definitions/AttributeFilter" + } + }, + "required": [ + "DocumentAttributeFilter" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AttributeFilter": { + "type": "object", + "properties": { + "AndAllFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/AttributeFilter" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "OrAllFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/AttributeFilter" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "NotFilter": { + "$ref": "#/definitions/AttributeFilter" + }, + "EqualsTo": { + "$ref": "#/definitions/DocumentAttribute" + }, + "ContainsAll": { + "$ref": "#/definitions/DocumentAttribute" + }, + "ContainsAny": { + "$ref": "#/definitions/DocumentAttribute" + }, + "GreaterThan": { + "$ref": "#/definitions/DocumentAttribute" + }, + "GreaterThanOrEquals": { + "$ref": "#/definitions/DocumentAttribute" + }, + "LessThan": { + "$ref": "#/definitions/DocumentAttribute" + }, + "LessThanOrEquals": { + "$ref": "#/definitions/DocumentAttribute" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DocumentAttribute": { + "type": "object", + "properties": { + "Name": { + "type": "string", + "maxLength": 200, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nPattern: ^[a-zA-Z0-9_][a-zA-Z0-9_-]*$ \nUpdate requires: No interruption" + }, + "Value": { + "$ref": "#/definitions/DocumentAttributeValue" + } + }, + "required": [ + "Name", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DocumentAttributeValue": { + "oneOf": [ + { + "type": "object", + "title": "StringValue", + "properties": { + "StringValue": { + "type": "string", + "maxLength": 2048 + } + }, + "required": [ + "StringValue" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "StringListValue", + "properties": { + "StringListValue": { + "type": "array", + "items": { + "type": "string", + "maxLength": 2048, + "minLength": 1 + } + } + }, + "required": [ + "StringListValue" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "LongValue", + "properties": { + "LongValue": { + "type": "number" + } + }, + "required": [ + "LongValue" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "DateValue", + "properties": { + "DateValue": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "DateValue" + ], + "additionalProperties": false + } + ] + }, + "Tag": { + "type": "object", + "properties": { + "Key": { + "type": "string", + "maxLength": 128, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Unit": { + "type": "object", + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "ActionConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ActionConfiguration" + }, + "maxItems": 10, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "ApplicationId": { + "type": "string", + "maxLength": 36, + "minLength": 36, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 36 \nMaximum Length: 36 \nPattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{35}$ \nUpdate requires: Replacement" + }, + "DisplayName": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nPattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ \nUpdate requires: No interruption" + }, + "Principal": { + "type": "string", + "maxLength": 1284, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1284 \nPattern: ^arn:aws:iam::[0-9]{12}:role/[a-zA-Z0-9_/+=,.@-]+$ \nUpdate requires: Replacement" + }, + "Tags": { + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "ApplicationId", + "ActionConfigurations", + "DisplayName", + "Principal" + ], + "readOnlyProperties": [ + "/properties/CreatedAt", + "/properties/DataAccessorArn", + "/properties/DataAccessorId", + "/properties/IdcApplicationArn", + "/properties/UpdatedAt" + ], + "createOnlyProperties": [ + "/properties/ApplicationId", + "/properties/Principal" + ], + "primaryIdentifier": [ + "/properties/ApplicationId", + "/properties/DataAccessorId" + ], + "handlers": { + "create": { + "permissions": [ + "qbusiness:CreateDataAccessor", + "qbusiness:GetDataAccessor", + "qbusiness:ListTagsForResource", + "qbusiness:TagResource", + "sso:CreateApplication", + "sso:PutApplicationAuthenticationMethod", + "sso:PutApplicationGrant", + "sso:PutApplicationAccessScope" + ] + }, + "read": { + "permissions": [ + "qbusiness:GetDataAccessor", + "qbusiness:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "qbusiness:GetDataAccessor", + "qbusiness:ListTagsForResource", + "qbusiness:TagResource", + "qbusiness:UntagResource", + "qbusiness:UpdateDataAccessor" + ] + }, + "delete": { + "permissions": [ + "qbusiness:DeleteDataAccessor", + "qbusiness:GetDataAccessor", + "sso:DeleteApplication" + ] + }, + "list": { + "permissions": [ + "qbusiness:ListDataAccessors" + ], + "handlerSchema": { + "properties": { + "ApplicationId": { + "$ref": "resource-schema.json#/properties/ApplicationId" + } + }, + "required": [ + "ApplicationId" + ] + } + } + }, + "tagging": { + "taggable": true, + "tagUpdatable": true, + "tagOnCreate": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "qbusiness:UntagResource", + "qbusiness:TagResource", + "qbusiness:ListTagsForResource" + ] + }, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-qbusiness", + "additionalProperties": false, + "attributes": { + "CreatedAt": { + "type": "string", + "format": "date-time", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "DataAccessorArn": { + "type": "string", + "maxLength": 1284, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1284 \nPattern: ^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}$ \nUpdate requires: No interruption" + }, + "DataAccessorId": { + "type": "string", + "maxLength": 36, + "minLength": 36, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 36 \nMaximum Length: 36 \nPattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{35}$ \nUpdate requires: No interruption" + }, + "IdcApplicationArn": { + "type": "string", + "maxLength": 1224, + "minLength": 10, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 10 \nMaximum Length: 1224 \nPattern: ^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}$ \nUpdate requires: No interruption" + }, + "UpdatedAt": { + "type": "string", + "format": "date-time", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-qbusiness-datasource.json b/server/schema/resources/aws-qbusiness-datasource.json index 84bc0c14..a51d17cf 100644 --- a/server/schema/resources/aws-qbusiness-datasource.json +++ b/server/schema/resources/aws-qbusiness-datasource.json @@ -189,6 +189,37 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: GREATER_THAN | GREATER_THAN_OR_EQUALS | LESS_THAN | LESS_THAN_OR_EQUALS | EQUALS | NOT_EQUALS | CONTAINS | NOT_CONTAINS | EXISTS | NOT_EXISTS | BEGINS_WITH \nUpdate requires: No interruption" }, + "ImageExtractionStatus": { + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + }, + "ImageExtractionConfiguration": { + "type": "object", + "properties": { + "ImageExtractionStatus": { + "$ref": "#/definitions/ImageExtractionStatus" + } + }, + "required": [ + "ImageExtractionStatus" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MediaExtractionConfiguration": { + "type": "object", + "properties": { + "ImageExtractionConfiguration": { + "$ref": "#/definitions/ImageExtractionConfiguration" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "DocumentEnrichmentConfiguration": { "type": "object", "properties": { @@ -303,6 +334,9 @@ "DocumentEnrichmentConfiguration": { "$ref": "#/definitions/DocumentEnrichmentConfiguration" }, + "MediaExtractionConfiguration": { + "$ref": "#/definitions/MediaExtractionConfiguration" + }, "IndexId": { "type": "string", "maxLength": 36, diff --git a/server/schema/resources/aws-qbusiness-permission.json b/server/schema/resources/aws-qbusiness-permission.json new file mode 100644 index 00000000..154952f2 --- /dev/null +++ b/server/schema/resources/aws-qbusiness-permission.json @@ -0,0 +1,93 @@ +{ + "typeName": "AWS::QBusiness::Permission", + "description": "Definition of AWS::QBusiness::Permission Resource Type", + "properties": { + "ApplicationId": { + "type": "string", + "maxLength": 36, + "minLength": 36, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 36 \nMaximum Length: 36 \nPattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{35}$ \nUpdate requires: Replacement" + }, + "StatementId": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nPattern: ^[a-zA-Z0-9_-]+$ \nUpdate requires: Replacement" + }, + "Actions": { + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^qbusiness:[a-zA-Z]+$ \nUpdate requires: No interruption" + }, + "maxItems": 10, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: Replacement" + }, + "Principal": { + "type": "string", + "maxLength": 1284, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1284 \nPattern: ^arn:aws:iam::[0-9]{12}:role/[a-zA-Z0-9_/+=,.@-]+$ \nUpdate requires: Replacement" + } + }, + "required": [ + "ApplicationId", + "StatementId", + "Actions", + "Principal" + ], + "createOnlyProperties": [ + "/properties/ApplicationId", + "/properties/StatementId", + "/properties/Actions", + "/properties/Principal" + ], + "primaryIdentifier": [ + "/properties/ApplicationId", + "/properties/StatementId" + ], + "handlers": { + "create": { + "permissions": [ + "qbusiness:AssociatePermission", + "qbusiness:PutResourcePolicy" + ] + }, + "read": { + "permissions": [ + "qbusiness:GetPolicy" + ] + }, + "delete": { + "permissions": [ + "qbusiness:DisassociatePermission", + "qbusiness:PutResourcePolicy" + ] + }, + "list": { + "permissions": [ + "qbusiness:GetPolicy" + ], + "handlerSchema": { + "properties": { + "ApplicationId": { + "$ref": "resource-schema.json#/properties/ApplicationId" + } + }, + "required": [ + "ApplicationId" + ] + } + } + }, + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-qbusiness", + "additionalProperties": false, + "attributes": {} +} \ No newline at end of file diff --git a/server/schema/resources/aws-qbusiness-plugin.json b/server/schema/resources/aws-qbusiness-plugin.json index 175b0005..24f64f9c 100644 --- a/server/schema/resources/aws-qbusiness-plugin.json +++ b/server/schema/resources/aws-qbusiness-plugin.json @@ -105,6 +105,18 @@ "maxLength": 1284, "minLength": 0, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 1284 \nPattern: ^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}$ \nUpdate requires: No interruption" + }, + "AuthorizationUrl": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(https?|ftp|file)://([^\\s]*)$ \nUpdate requires: No interruption" + }, + "TokenUrl": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(https?|ftp|file)://([^\\s]*)$ \nUpdate requires: No interruption" } }, "required": [ @@ -185,9 +197,21 @@ "SALESFORCE", "JIRA", "ZENDESK", - "CUSTOM" + "CUSTOM", + "QUICKSIGHT", + "SERVICENOW_NOW_PLATFORM", + "JIRA_CLOUD", + "SALESFORCE_CRM", + "ZENDESK_SUITE", + "ATLASSIAN_CONFLUENCE", + "GOOGLE_CALENDAR", + "MICROSOFT_TEAMS", + "MICROSOFT_EXCHANGE", + "PAGERDUTY_ADVANCE", + "SMARTSHEET", + "ASANA" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SERVICE_NOW | SALESFORCE | JIRA | ZENDESK | CUSTOM \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SERVICE_NOW | SALESFORCE | JIRA | ZENDESK | CUSTOM | QUICKSIGHT | SERVICENOW_NOW_PLATFORM | JIRA_CLOUD | SALESFORCE_CRM | ZENDESK_SUITE | ATLASSIAN_CONFLUENCE | GOOGLE_CALENDAR | MICROSOFT_TEAMS | MICROSOFT_EXCHANGE | PAGERDUTY_ADVANCE | SMARTSHEET | ASANA \nUpdate requires: No interruption" }, "S3": { "type": "object", @@ -241,7 +265,7 @@ "type": "string", "maxLength": 36, "minLength": 36, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 36 \nMaximum Length: 36 \nPattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{35}$ \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 36 \nMaximum Length: 36 \nPattern: ^[a-zA-Z0-9][a-zA-Z0-9-]{35}$ \nUpdate requires: Replacement" }, "AuthConfiguration": { "$ref": "#/definitions/PluginAuthConfiguration" @@ -266,7 +290,6 @@ }, "Tags": { "type": "array", - "insertionOrder": false, "items": { "$ref": "#/definitions/Tag" }, @@ -279,7 +302,6 @@ } }, "required": [ - "ApplicationId", "AuthConfiguration", "DisplayName", "Type" @@ -306,8 +328,7 @@ "qbusiness:CreatePlugin", "qbusiness:GetPlugin", "qbusiness:ListTagsForResource", - "qbusiness:TagResource", - "qbusiness:UpdatePlugin" + "qbusiness:TagResource" ] }, "read": { @@ -349,7 +370,16 @@ } }, "tagging": { - "taggable": true + "taggable": true, + "tagUpdatable": true, + "tagOnCreate": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "qbusiness:UntagResource", + "qbusiness:TagResource", + "qbusiness:ListTagsForResource" + ] }, "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-qbusiness", "additionalProperties": false, diff --git a/server/schema/resources/aws-qbusiness-webexperience.json b/server/schema/resources/aws-qbusiness-webexperience.json index 1de20434..e407dc4e 100644 --- a/server/schema/resources/aws-qbusiness-webexperience.json +++ b/server/schema/resources/aws-qbusiness-webexperience.json @@ -112,6 +112,43 @@ "PENDING_AUTH_CONFIG" ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATING | ACTIVE | DELETING | FAILED | PENDING_AUTH_CONFIG \nUpdate requires: No interruption" + }, + "Origin": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^(http:\\/\\/|https:\\/\\/)[a-zA-Z0-9-_.]+(?::[0-9]{1,5})?$ \nUpdate requires: No interruption" + }, + "CustomizationConfiguration": { + "type": "object", + "properties": { + "CustomCSSUrl": { + "type": "string", + "maxLength": 1284, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1284 \nPattern: ^(https?://[a-zA-Z0-9-_.+%/]+\\.css)?$ \nUpdate requires: No interruption" + }, + "LogoUrl": { + "type": "string", + "maxLength": 1284, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1284 \nPattern: ^(https?://[a-zA-Z0-9-_.+%/]+\\.(svg|png))?$ \nUpdate requires: No interruption" + }, + "FontUrl": { + "type": "string", + "maxLength": 1284, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1284 \nPattern: ^(https?://[a-zA-Z0-9-_.+%/]+\\.(ttf|woff|woff2|otf))?$ \nUpdate requires: No interruption" + }, + "FaviconUrl": { + "type": "string", + "maxLength": 1284, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1284 \nPattern: ^(https?://[a-zA-Z0-9-_.+%/]+\\.(svg|ico))?$ \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -160,6 +197,19 @@ "maxLength": 300, "minLength": 0, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 300 \nUpdate requires: No interruption" + }, + "Origins": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Origin" + }, + "maxItems": 10, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "CustomizationConfiguration": { + "$ref": "#/definitions/CustomizationConfiguration" } }, "required": [ diff --git a/server/schema/resources/aws-qldb-stream.json b/server/schema/resources/aws-qldb-stream.json index 307e0e1a..9574eb84 100644 --- a/server/schema/resources/aws-qldb-stream.json +++ b/server/schema/resources/aws-qldb-stream.json @@ -150,7 +150,18 @@ "list": { "permissions": [ "qldb:listJournalKinesisStreamsForLedger" - ] + ], + "handlerSchema": { + "properties": { + "LedgerName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "LedgerName" + ] + } } }, "attributes": { diff --git a/server/schema/resources/aws-quicksight-analysis.json b/server/schema/resources/aws-quicksight-analysis.json index 48c4079a..4c4c7674 100644 --- a/server/schema/resources/aws-quicksight-analysis.json +++ b/server/schema/resources/aws-quicksight-analysis.json @@ -18,7 +18,10 @@ "quicksight:PassDataSet", "quicksight:TagResource", "quicksight:UntagResource", - "quicksight:ListTagsForResource" + "quicksight:ListTagsForResource", + "quicksight:CreateFolderMembership", + "quicksight:DeleteFolderMembership", + "quicksight:ListFoldersForResource" ] }, "update": { @@ -73,7 +76,8 @@ "/properties/Parameters", "/properties/SourceEntity", "/properties/Status", - "/properties/ValidationStrategy" + "/properties/ValidationStrategy", + "/properties/FolderArns" ], "createOnlyProperties": [ "/properties/AnalysisId", @@ -195,6 +199,7 @@ "Tooltip": { "$ref": "#/definitions/TooltipOptions" }, + "Interactions": {}, "WindowOptions": { "$ref": "#/definitions/GeospatialWindowOptions" }, @@ -560,6 +565,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -685,6 +696,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -879,6 +896,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -1055,6 +1078,44 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "LayerMapVisual": { + "additionalProperties": false, + "type": "object", + "properties": { + "Subtitle": { + "$ref": "#/definitions/VisualSubtitleLabelOptions" + }, + "VisualId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + }, + "ChartConfiguration": { + "$ref": "#/definitions/GeospatialLayerMapConfiguration" + }, + "DataSetIdentifier": { + "minLength": 1, + "type": "string", + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "Title": { + "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + } + }, + "required": [ + "DataSetIdentifier", + "VisualId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "RelativeDateType": { "type": "string", "enum": [ @@ -1135,6 +1196,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -1444,6 +1511,42 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PluginVisual": { + "additionalProperties": false, + "type": "object", + "properties": { + "Subtitle": { + "$ref": "#/definitions/VisualSubtitleLabelOptions" + }, + "PluginArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "VisualId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + }, + "ChartConfiguration": { + "$ref": "#/definitions/PluginVisualConfiguration" + }, + "Title": { + "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + } + }, + "required": [ + "PluginArn", + "VisualId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "BoxPlotFillStyle": { "type": "string", "enum": [ @@ -1452,6 +1555,16 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SOLID | TRANSPARENT \nUpdate requires: No interruption" }, + "ImageInteractionOptions": { + "additionalProperties": false, + "type": "object", + "properties": { + "ImageMenuOption": { + "$ref": "#/definitions/ImageMenuOption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "DataLabelType": { "additionalProperties": false, "type": "object", @@ -1617,6 +1730,16 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "SheetImageSource": { + "additionalProperties": false, + "type": "object", + "properties": { + "SheetImageStaticFileSource": { + "$ref": "#/definitions/SheetImageStaticFileSource" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "FilterDateTimePickerControl": { "additionalProperties": false, "type": "object", @@ -1666,6 +1789,43 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: AUTO | RIGHT | BOTTOM | TOP \nUpdate requires: No interruption" }, + "PluginVisualFieldWell": { + "additionalProperties": false, + "type": "object", + "properties": { + "Unaggregated": { + "minItems": 0, + "maxItems": 200, + "type": "array", + "items": { + "$ref": "#/definitions/UnaggregatedField" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AxisName": { + "$ref": "#/definitions/PluginVisualAxisName" + }, + "Measures": { + "minItems": 0, + "maxItems": 200, + "type": "array", + "items": { + "$ref": "#/definitions/MeasureField" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Dimensions": { + "minItems": 0, + "maxItems": 200, + "type": "array", + "items": { + "$ref": "#/definitions/DimensionField" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "KPIVisualLayoutOptions": { "additionalProperties": false, "type": "object", @@ -1890,6 +2050,51 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialLayerItem": { + "additionalProperties": false, + "type": "object", + "properties": { + "LayerId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "JoinDefinition": { + "$ref": "#/definitions/GeospatialLayerJoinDefinition" + }, + "Actions": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/definitions/LayerCustomAction" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "LayerType": { + "$ref": "#/definitions/GeospatialLayerType" + }, + "LayerDefinition": { + "$ref": "#/definitions/GeospatialLayerDefinition" + }, + "Tooltip": { + "$ref": "#/definitions/TooltipOptions" + }, + "Label": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Visibility": { + "$ref": "#/definitions/Visibility" + }, + "DataSource": { + "$ref": "#/definitions/GeospatialDataSourceItem" + } + }, + "required": [ + "LayerId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "DataPathType": { "additionalProperties": false, "type": "object", @@ -1976,6 +2181,15 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialLayerType": { + "type": "string", + "enum": [ + "POINT", + "LINE", + "POLYGON" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: POINT | LINE | POLYGON \nUpdate requires: No interruption" + }, "GaugeChartArcConditionalFormatting": { "additionalProperties": false, "type": "object", @@ -2577,6 +2791,11 @@ "properties": { "Relative": { "$ref": "#/definitions/RelativeFontSize" + }, + "Absolute": { + "description": "String based length that is composed of value and unit in px", + "type": "string", + "markdownDescription": "String based length that is composed of value and unit in px\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -2651,6 +2870,19 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" }, + "SheetImageTooltipConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "Visibility": { + "$ref": "#/definitions/Visibility" + }, + "TooltipText": { + "$ref": "#/definitions/SheetImageTooltipText" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "SheetControlSliderType": { "type": "string", "enum": [ @@ -3207,6 +3439,25 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialCircleSymbolStyle": { + "additionalProperties": false, + "type": "object", + "properties": { + "FillColor": { + "$ref": "#/definitions/GeospatialColor" + }, + "StrokeWidth": { + "$ref": "#/definitions/GeospatialLineWidth" + }, + "StrokeColor": { + "$ref": "#/definitions/GeospatialColor" + }, + "CircleRadius": { + "$ref": "#/definitions/GeospatialCircleRadius" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "CustomContentType": { "type": "string", "enum": [ @@ -3519,6 +3770,25 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialCategoricalDataColor": { + "additionalProperties": false, + "type": "object", + "properties": { + "DataValue": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Color": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Color", + "DataValue" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "HistogramVisual": { "additionalProperties": false, "type": "object", @@ -3546,6 +3816,12 @@ }, "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ @@ -3598,6 +3874,12 @@ }, "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ @@ -3605,6 +3887,18 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PluginVisualItemsLimitConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "ItemsLimit": { + "default": null, + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "GridLayoutElement": { "additionalProperties": false, "type": "object", @@ -4025,6 +4319,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -4086,6 +4386,16 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "SheetImageScalingType": { + "type": "string", + "enum": [ + "SCALE_TO_WIDTH", + "SCALE_TO_HEIGHT", + "SCALE_TO_CONTAINER", + "SCALE_NONE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SCALE_TO_WIDTH | SCALE_TO_HEIGHT | SCALE_TO_CONTAINER | SCALE_NONE \nUpdate requires: No interruption" + }, "BoxPlotFieldWells": { "additionalProperties": false, "type": "object", @@ -4177,6 +4487,19 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "StaticFile": { + "additionalProperties": false, + "type": "object", + "properties": { + "ImageStaticFile": { + "$ref": "#/definitions/ImageStaticFile" + }, + "SpatialStaticFile": { + "$ref": "#/definitions/SpatialStaticFile" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "PanelTitleOptions": { "additionalProperties": false, "type": "object", @@ -4301,13 +4624,23 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "FreeFormLayoutElementBorderStyle": { + "SheetImageScalingConfiguration": { "additionalProperties": false, "type": "object", "properties": { - "Color": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" + "ScalingType": { + "$ref": "#/definitions/SheetImageScalingType" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "FreeFormLayoutElementBorderStyle": { + "additionalProperties": false, + "type": "object", + "properties": { + "Color": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" }, "Visibility": { "$ref": "#/definitions/Visibility" @@ -4392,6 +4725,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -4579,6 +4918,25 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ImageStaticFile": { + "additionalProperties": false, + "type": "object", + "properties": { + "StaticFileId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + }, + "Source": { + "$ref": "#/definitions/StaticFileSource" + } + }, + "required": [ + "StaticFileId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "PivotFieldSortOptions": { "additionalProperties": false, "type": "object", @@ -4599,6 +4957,16 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialLineStyle": { + "additionalProperties": false, + "type": "object", + "properties": { + "LineSymbolStyle": { + "$ref": "#/definitions/GeospatialLineSymbolStyle" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "SimpleAttributeAggregationFunction": { "type": "string", "enum": [ @@ -4677,6 +5045,26 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ICON_ONLY \nUpdate requires: No interruption" }, + "GeospatialPolygonStyle": { + "additionalProperties": false, + "type": "object", + "properties": { + "PolygonSymbolStyle": { + "$ref": "#/definitions/GeospatialPolygonSymbolStyle" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GeospatialDataSourceItem": { + "additionalProperties": false, + "type": "object", + "properties": { + "StaticFileDataSource": { + "$ref": "#/definitions/GeospatialStaticFileSource" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "KPIProgressBarConditionalFormatting": { "additionalProperties": false, "type": "object", @@ -4864,6 +5252,28 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PluginVisualConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "SortConfiguration": { + "$ref": "#/definitions/PluginVisualSortConfiguration" + }, + "VisualOptions": { + "$ref": "#/definitions/PluginVisualOptions" + }, + "FieldWells": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/definitions/PluginVisualFieldWell" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "FilterCrossSheetControl": { "additionalProperties": false, "type": "object", @@ -4945,6 +5355,16 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialPointStyle": { + "additionalProperties": false, + "type": "object", + "properties": { + "CircleSymbolStyle": { + "$ref": "#/definitions/GeospatialCircleSymbolStyle" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "HorizontalTextAlignment": { "type": "string", "enum": [ @@ -4955,6 +5375,49 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: LEFT | CENTER | RIGHT | AUTO \nUpdate requires: No interruption" }, + "LayerCustomActionOperation": { + "additionalProperties": false, + "type": "object", + "properties": { + "NavigationOperation": { + "$ref": "#/definitions/CustomActionNavigationOperation" + }, + "SetParametersOperation": { + "$ref": "#/definitions/CustomActionSetParametersOperation" + }, + "FilterOperation": { + "$ref": "#/definitions/CustomActionFilterOperation" + }, + "URLOperation": { + "$ref": "#/definitions/CustomActionURLOperation" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GeospatialLayerMapConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "Legend": { + "$ref": "#/definitions/LegendOptions" + }, + "MapState": { + "$ref": "#/definitions/GeospatialMapState" + }, + "MapStyle": { + "$ref": "#/definitions/GeospatialMapStyle" + }, + "Interactions": {}, + "MapLayers": { + "type": "array", + "items": { + "$ref": "#/definitions/GeospatialLayerItem" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "DecimalPlacesConfiguration": { "additionalProperties": false, "type": "object", @@ -4987,6 +5450,23 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialLayerJoinDefinition": { + "additionalProperties": false, + "type": "object", + "properties": { + "ColorField": { + "$ref": "#/definitions/GeospatialLayerColorField" + }, + "ShapeKeyField": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "DatasetKeyField": { + "$ref": "#/definitions/UnaggregatedField" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "FilledMapConditionalFormatting": { "additionalProperties": false, "type": "object", @@ -5112,6 +5592,18 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialLineWidth": { + "additionalProperties": false, + "type": "object", + "properties": { + "LineWidth": { + "type": "number", + "minimum": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "PivotTableCellConditionalFormatting": { "additionalProperties": false, "type": "object", @@ -5214,6 +5706,22 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialLayerDefinition": { + "additionalProperties": false, + "type": "object", + "properties": { + "PointLayer": { + "$ref": "#/definitions/GeospatialPointLayer" + }, + "PolygonLayer": { + "$ref": "#/definitions/GeospatialPolygonLayer" + }, + "LineLayer": { + "$ref": "#/definitions/GeospatialLineLayer" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "PieChartAggregatedFieldWells": { "additionalProperties": false, "type": "object", @@ -5248,6 +5756,19 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialLineLayer": { + "additionalProperties": false, + "type": "object", + "properties": { + "Style": { + "$ref": "#/definitions/GeospatialLineStyle" + } + }, + "required": [ + "Style" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "LineChartVisual": { "additionalProperties": false, "type": "object", @@ -5276,6 +5797,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -5850,6 +6377,19 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialPolygonLayer": { + "additionalProperties": false, + "type": "object", + "properties": { + "Style": { + "$ref": "#/definitions/GeospatialPolygonStyle" + } + }, + "required": [ + "Style" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "RelativeFontSize": { "type": "string", "enum": [ @@ -5877,6 +6417,19 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "StaticFileSource": { + "additionalProperties": false, + "type": "object", + "properties": { + "UrlOptions": { + "$ref": "#/definitions/StaticFileUrlSourceOptions" + }, + "S3Options": { + "$ref": "#/definitions/StaticFileS3SourceOptions" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "LineChartLineStyle": { "type": "string", "enum": [ @@ -6027,6 +6580,25 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PluginVisualTableQuerySort": { + "additionalProperties": false, + "type": "object", + "properties": { + "ItemsLimitConfiguration": { + "$ref": "#/definitions/PluginVisualItemsLimitConfiguration" + }, + "RowSort": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/definitions/FieldSortOptions" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ParameterDateTimePickerControl": { "additionalProperties": false, "type": "object", @@ -6060,6 +6632,14 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PluginVisualAxisName": { + "type": "string", + "enum": [ + "GROUP_BY", + "VALUE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: GROUP_BY | VALUE \nUpdate requires: No interruption" + }, "TreeMapSortConfiguration": { "additionalProperties": false, "type": "object", @@ -6130,6 +6710,14 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ImageMenuOption": { + "additionalProperties": false, + "type": "object", + "properties": { + "AvailabilityStatus": {} + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "CategoryDrillDownFilter": { "additionalProperties": false, "type": "object", @@ -6234,6 +6822,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -6307,6 +6901,12 @@ }, "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ @@ -6663,6 +7263,15 @@ "maxLength": 512, "markdownDescription": "

The unique identifier associated with a sheet.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" }, + "Images": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/definitions/SheetImage" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "Name": { "minLength": 1, "description": "

The name of a sheet. This name is displayed on the sheet's tab in the Amazon QuickSight\n console.

", @@ -6755,6 +7364,19 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialNullDataSettings": { + "additionalProperties": false, + "type": "object", + "properties": { + "SymbolStyle": { + "$ref": "#/definitions/GeospatialNullSymbolStyle" + } + }, + "required": [ + "SymbolStyle" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "SingleAxisOptions": { "additionalProperties": false, "type": "object", @@ -6827,6 +7449,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -7139,9 +7767,10 @@ "VISUAL", "FILTER_CONTROL", "PARAMETER_CONTROL", - "TEXT_BOX" + "TEXT_BOX", + "IMAGE" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VISUAL | FILTER_CONTROL | PARAMETER_CONTROL | TEXT_BOX \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VISUAL | FILTER_CONTROL | PARAMETER_CONTROL | TEXT_BOX | IMAGE \nUpdate requires: No interruption" }, "WaterfallVisual": { "additionalProperties": false, @@ -7171,6 +7800,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -7464,6 +8099,22 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISCRETE | GRADIENT \nUpdate requires: No interruption" }, + "SheetImageStaticFileSource": { + "additionalProperties": false, + "type": "object", + "properties": { + "StaticFileId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + } + }, + "required": [ + "StaticFileId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TableFieldCustomIconContent": { "additionalProperties": false, "type": "object", @@ -7755,15 +8406,28 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: AUTO | INDEPENDENT | SHARED \nUpdate requires: No interruption" }, - "ConditionalFormattingCustomIconCondition": { + "GeospatialLineSymbolStyle": { "additionalProperties": false, "type": "object", "properties": { - "Expression": { - "minLength": 1, - "type": "string", - "maxLength": 4096, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 4096 \nUpdate requires: No interruption" + "FillColor": { + "$ref": "#/definitions/GeospatialColor" + }, + "LineWidth": { + "$ref": "#/definitions/GeospatialLineWidth" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ConditionalFormattingCustomIconCondition": { + "additionalProperties": false, + "type": "object", + "properties": { + "Expression": { + "minLength": 1, + "type": "string", + "maxLength": 4096, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 4096 \nUpdate requires: No interruption" }, "Color": { "type": "string", @@ -7864,6 +8528,12 @@ }, "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ @@ -8118,6 +8788,24 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialSolidColor": { + "description": "Describes the properties for a solid color", + "additionalProperties": false, + "type": "object", + "properties": { + "State": { + "$ref": "#/definitions/GeospatialColorState" + }, + "Color": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Color" + ], + "markdownDescription": "Describes the properties for a solid color\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "NumericEqualityDrillDownFilter": { "additionalProperties": false, "type": "object", @@ -8182,6 +8870,12 @@ }, "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ @@ -8262,6 +8956,9 @@ "Position": { "$ref": "#/definitions/LegendPosition" }, + "ValueFontConfiguration": { + "$ref": "#/definitions/FontConfiguration" + }, "Title": { "$ref": "#/definitions/LabelOptions" }, @@ -8328,6 +9025,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -8376,6 +9079,18 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialCircleRadius": { + "additionalProperties": false, + "type": "object", + "properties": { + "Radius": { + "type": "number", + "minimum": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TableFieldCustomTextContent": { "additionalProperties": false, "type": "object", @@ -8691,6 +9406,19 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialMapState": { + "additionalProperties": false, + "type": "object", + "properties": { + "Bounds": { + "$ref": "#/definitions/GeospatialCoordinateBounds" + }, + "MapNavigation": { + "$ref": "#/definitions/GeospatialMapNavigation" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "LoadingAnimation": { "additionalProperties": false, "type": "object", @@ -8878,6 +9606,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -9105,6 +9839,35 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PluginVisualOptions": { + "additionalProperties": false, + "type": "object", + "properties": { + "VisualProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/PluginVisualProperty" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PluginVisualProperty": { + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "HistogramBinOptions": { "additionalProperties": false, "type": "object", @@ -9251,6 +10014,15 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "Images": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/definitions/SheetImage" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "SheetControlLayouts": { "minItems": 0, "maxItems": 1, @@ -9475,6 +10247,16 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PluginVisualSortConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "PluginVisualTableQuerySort": { + "$ref": "#/definitions/PluginVisualTableQuerySort" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "CategoricalMeasureField": { "additionalProperties": false, "type": "object", @@ -9969,6 +10751,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -10065,6 +10853,12 @@ }, "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ @@ -10103,6 +10897,50 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "SheetImage": { + "additionalProperties": false, + "type": "object", + "properties": { + "Actions": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/definitions/ImageCustomAction" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SheetImageId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + }, + "Tooltip": { + "$ref": "#/definitions/SheetImageTooltipConfiguration" + }, + "Scaling": { + "$ref": "#/definitions/SheetImageScalingConfiguration" + }, + "Interactions": { + "$ref": "#/definitions/ImageInteractionOptions" + }, + "Source": { + "$ref": "#/definitions/SheetImageSource" + }, + "ImageContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + } + }, + "required": [ + "SheetImageId", + "Source" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TextAreaControlDisplayOptions": { "additionalProperties": false, "type": "object", @@ -10185,6 +11023,46 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ALL_VISUALS | SELECTED_VISUALS \nUpdate requires: No interruption" }, + "ImageCustomAction": { + "additionalProperties": false, + "type": "object", + "properties": { + "Status": { + "$ref": "#/definitions/WidgetStatus" + }, + "Trigger": { + "$ref": "#/definitions/ImageCustomActionTrigger" + }, + "CustomActionId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + }, + "Name": { + "minLength": 1, + "type": "string", + "maxLength": 256, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "ActionOperations": { + "minItems": 1, + "maxItems": 2, + "type": "array", + "items": { + "$ref": "#/definitions/ImageCustomActionOperation" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "ActionOperations", + "CustomActionId", + "Name", + "Trigger" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TopBottomMoversComputation": { "additionalProperties": false, "type": "object", @@ -10358,6 +11236,25 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "SpatialStaticFile": { + "additionalProperties": false, + "type": "object", + "properties": { + "StaticFileId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + }, + "Source": { + "$ref": "#/definitions/StaticFileSource" + } + }, + "required": [ + "StaticFileId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "AxisLogarithmicScale": { "additionalProperties": false, "type": "object", @@ -10370,6 +11267,31 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialLayerColorField": { + "additionalProperties": false, + "type": "object", + "properties": { + "ColorValuesFields": { + "minItems": 0, + "maxItems": 1, + "type": "array", + "items": { + "$ref": "#/definitions/MeasureField" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ColorDimensionsFields": { + "minItems": 0, + "maxItems": 1, + "type": "array", + "items": { + "$ref": "#/definitions/DimensionField" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "KPISortConfiguration": { "additionalProperties": false, "type": "object", @@ -10504,26 +11426,66 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "SectionBasedLayoutConfiguration": { + "LayerCustomAction": { "additionalProperties": false, "type": "object", "properties": { - "CanvasSizeOptions": { - "$ref": "#/definitions/SectionBasedLayoutCanvasSizeOptions" + "Status": { + "$ref": "#/definitions/WidgetStatus" }, - "FooterSections": { - "minItems": 0, - "maxItems": 1, + "Trigger": { + "$ref": "#/definitions/LayerCustomActionTrigger" + }, + "CustomActionId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + }, + "Name": { + "minLength": 1, + "type": "string", + "maxLength": 256, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "ActionOperations": { + "minItems": 1, + "maxItems": 2, "type": "array", "items": { - "$ref": "#/definitions/HeaderFooterSectionConfiguration" + "$ref": "#/definitions/LayerCustomActionOperation" }, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "BodySections": { - "minItems": 0, - "maxItems": 28, - "type": "array", + } + }, + "required": [ + "ActionOperations", + "CustomActionId", + "Name", + "Trigger" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SectionBasedLayoutConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "CanvasSizeOptions": { + "$ref": "#/definitions/SectionBasedLayoutCanvasSizeOptions" + }, + "FooterSections": { + "minItems": 0, + "maxItems": 1, + "type": "array", + "items": { + "$ref": "#/definitions/HeaderFooterSectionConfiguration" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "BodySections": { + "minItems": 0, + "maxItems": 28, + "type": "array", "items": { "$ref": "#/definitions/BodySectionConfiguration" }, @@ -10570,6 +11532,23 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialMapStyle": { + "additionalProperties": false, + "type": "object", + "properties": { + "BaseMapStyle": { + "$ref": "#/definitions/BaseMapStyleType" + }, + "BaseMapVisibility": { + "$ref": "#/definitions/Visibility" + }, + "BackgroundColor": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "NumericSeparatorSymbol": { "type": "string", "enum": [ @@ -10655,6 +11634,19 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialPointLayer": { + "additionalProperties": false, + "type": "object", + "properties": { + "Style": { + "$ref": "#/definitions/GeospatialPointStyle" + } + }, + "required": [ + "Style" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "NumericalMeasureField": { "additionalProperties": false, "type": "object", @@ -10851,6 +11843,37 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialGradientColor": { + "additionalProperties": false, + "type": "object", + "properties": { + "DefaultOpacity": { + "maximum": 1, + "type": "number", + "minimum": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "StepColors": { + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "$ref": "#/definitions/GeospatialGradientStepColor" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "NullDataVisibility": { + "$ref": "#/definitions/Visibility" + }, + "NullDataSettings": { + "$ref": "#/definitions/GeospatialNullDataSettings" + } + }, + "required": [ + "StepColors" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TableFieldLinkContentConfiguration": { "additionalProperties": false, "type": "object", @@ -10890,6 +11913,14 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ImageCustomActionTrigger": { + "type": "string", + "enum": [ + "CLICK", + "MENU" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CLICK | MENU \nUpdate requires: No interruption" + }, "ColumnTooltipItem": { "additionalProperties": false, "type": "object", @@ -10916,6 +11947,26 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialGradientStepColor": { + "additionalProperties": false, + "type": "object", + "properties": { + "DataValue": { + "default": 0, + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "Color": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Color", + "DataValue" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "PivotTableFieldOptions": { "additionalProperties": false, "type": "object", @@ -11199,6 +12250,33 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "StaticFileUrlSourceOptions": { + "additionalProperties": false, + "type": "object", + "properties": { + "Url": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Url" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SheetImageTooltipText": { + "additionalProperties": false, + "type": "object", + "properties": { + "PlainText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TooltipOptions": { "additionalProperties": false, "type": "object", @@ -11322,6 +12400,14 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: POINT | CLUSTER | HEATMAP \nUpdate requires: No interruption" }, + "LayerCustomActionTrigger": { + "type": "string", + "enum": [ + "DATA_POINT_CLICK", + "DATA_POINT_MENU" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DATA_POINT_CLICK | DATA_POINT_MENU \nUpdate requires: No interruption" + }, "ComboChartVisual": { "additionalProperties": false, "type": "object", @@ -11350,6 +12436,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -11476,6 +12568,22 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ImageCustomActionOperation": { + "additionalProperties": false, + "type": "object", + "properties": { + "NavigationOperation": { + "$ref": "#/definitions/CustomActionNavigationOperation" + }, + "SetParametersOperation": { + "$ref": "#/definitions/CustomActionSetParametersOperation" + }, + "URLOperation": { + "$ref": "#/definitions/CustomActionURLOperation" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "AllSheetsFilterScopeConfiguration": { "additionalProperties": false, "type": "object", @@ -11491,6 +12599,35 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialCategoricalColor": { + "additionalProperties": false, + "type": "object", + "properties": { + "CategoryDataColors": { + "type": "array", + "items": { + "$ref": "#/definitions/GeospatialCategoricalDataColor" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "DefaultOpacity": { + "maximum": 1, + "type": "number", + "minimum": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "NullDataVisibility": { + "$ref": "#/definitions/Visibility" + }, + "NullDataSettings": { + "$ref": "#/definitions/GeospatialNullDataSettings" + } + }, + "required": [ + "CategoryDataColors" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "PieChartConfiguration": { "additionalProperties": false, "type": "object", @@ -11637,6 +12774,31 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialPolygonSymbolStyle": { + "additionalProperties": false, + "type": "object", + "properties": { + "FillColor": { + "$ref": "#/definitions/GeospatialColor" + }, + "StrokeWidth": { + "$ref": "#/definitions/GeospatialLineWidth" + }, + "StrokeColor": { + "$ref": "#/definitions/GeospatialColor" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GeospatialColorState": { + "description": "Defines view state of the color", + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "Defines view state of the color\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + }, "LineSeriesAxisDisplayOptions": { "additionalProperties": false, "type": "object", @@ -11684,6 +12846,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -11940,6 +13108,22 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialColor": { + "additionalProperties": false, + "type": "object", + "properties": { + "Gradient": { + "$ref": "#/definitions/GeospatialGradientColor" + }, + "Categorical": { + "$ref": "#/definitions/GeospatialCategoricalColor" + }, + "Solid": { + "$ref": "#/definitions/GeospatialSolidColor" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TableStyleTarget": { "additionalProperties": false, "type": "object", @@ -12012,6 +13196,22 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CIRCLE | TRIANGLE | SQUARE | DIAMOND | ROUNDED_SQUARE \nUpdate requires: No interruption" }, + "GeospatialStaticFileSource": { + "additionalProperties": false, + "type": "object", + "properties": { + "StaticFileId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + } + }, + "required": [ + "StaticFileId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ArcAxisDisplayRange": { "additionalProperties": false, "type": "object", @@ -12055,12 +13255,36 @@ "FunnelChartVisual": { "$ref": "#/definitions/FunnelChartVisual" }, - "FilledMapVisual": { - "$ref": "#/definitions/FilledMapVisual" - }, "BoxPlotVisual": { "$ref": "#/definitions/BoxPlotVisual" }, + "LayerMapVisual": { + "$ref": "#/definitions/LayerMapVisual" + }, + "GeospatialMapVisual": { + "$ref": "#/definitions/GeospatialMapVisual" + }, + "ScatterPlotVisual": { + "$ref": "#/definitions/ScatterPlotVisual" + }, + "RadarChartVisual": { + "$ref": "#/definitions/RadarChartVisual" + }, + "ComboChartVisual": { + "$ref": "#/definitions/ComboChartVisual" + }, + "WordCloudVisual": { + "$ref": "#/definitions/WordCloudVisual" + }, + "SankeyDiagramVisual": { + "$ref": "#/definitions/SankeyDiagramVisual" + }, + "GaugeChartVisual": { + "$ref": "#/definitions/GaugeChartVisual" + }, + "FilledMapVisual": { + "$ref": "#/definitions/FilledMapVisual" + }, "WaterfallVisual": { "$ref": "#/definitions/WaterfallVisual" }, @@ -12076,45 +13300,27 @@ "HistogramVisual": { "$ref": "#/definitions/HistogramVisual" }, + "PluginVisual": { + "$ref": "#/definitions/PluginVisual" + }, "TableVisual": { "$ref": "#/definitions/TableVisual" }, "PivotTableVisual": { "$ref": "#/definitions/PivotTableVisual" }, - "GeospatialMapVisual": { - "$ref": "#/definitions/GeospatialMapVisual" - }, "BarChartVisual": { "$ref": "#/definitions/BarChartVisual" }, - "ScatterPlotVisual": { - "$ref": "#/definitions/ScatterPlotVisual" - }, - "RadarChartVisual": { - "$ref": "#/definitions/RadarChartVisual" - }, "HeatMapVisual": { "$ref": "#/definitions/HeatMapVisual" }, "TreeMapVisual": { "$ref": "#/definitions/TreeMapVisual" }, - "ComboChartVisual": { - "$ref": "#/definitions/ComboChartVisual" - }, - "WordCloudVisual": { - "$ref": "#/definitions/WordCloudVisual" - }, "InsightVisual": { "$ref": "#/definitions/InsightVisual" }, - "SankeyDiagramVisual": { - "$ref": "#/definitions/SankeyDiagramVisual" - }, - "GaugeChartVisual": { - "$ref": "#/definitions/GaugeChartVisual" - }, "LineChartVisual": { "$ref": "#/definitions/LineChartVisual" }, @@ -12176,6 +13382,12 @@ }, "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ @@ -12184,6 +13396,14 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialMapNavigation": { + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + }, "PanelConfiguration": { "additionalProperties": false, "type": "object", @@ -12224,6 +13444,30 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "StaticFileS3SourceOptions": { + "additionalProperties": false, + "type": "object", + "properties": { + "BucketName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "ObjectKey": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Region": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "BucketName", + "ObjectKey", + "Region" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "SmallMultiplesOptions": { "additionalProperties": false, "type": "object", @@ -12271,6 +13515,15 @@ "QueryExecutionOptions": { "$ref": "#/definitions/QueryExecutionOptions" }, + "StaticFiles": { + "minItems": 0, + "maxItems": 200, + "type": "array", + "items": { + "$ref": "#/definitions/StaticFile" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "CalculatedFields": { "minItems": 0, "maxItems": 500, @@ -12333,6 +13586,26 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: PORTRAIT | LANDSCAPE \nUpdate requires: No interruption" }, + "GeospatialNullSymbolStyle": { + "additionalProperties": false, + "type": "object", + "properties": { + "FillColor": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" + }, + "StrokeWidth": { + "type": "number", + "minimum": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "StrokeColor": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "NumericSeparatorConfiguration": { "additionalProperties": false, "type": "object", @@ -12511,6 +13784,16 @@ "ValidationStrategy": { "$ref": "#/definitions/ValidationStrategy" }, + "FolderArns": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "Name": { "minLength": 1, "description": "

The descriptive name of the analysis.

", diff --git a/server/schema/resources/aws-quicksight-custompermissions.json b/server/schema/resources/aws-quicksight-custompermissions.json new file mode 100644 index 00000000..bb6e954d --- /dev/null +++ b/server/schema/resources/aws-quicksight-custompermissions.json @@ -0,0 +1,189 @@ +{ + "typeName": "AWS::QuickSight::CustomPermissions", + "description": "Definition of the AWS::QuickSight::CustomPermissions Resource Type.", + "definitions": { + "Capabilities": { + "type": "object", + "properties": { + "ExportToCsv": { + "$ref": "#/definitions/CapabilityState" + }, + "ExportToExcel": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateThemes": { + "$ref": "#/definitions/CapabilityState" + }, + "AddOrRunAnomalyDetectionForAnalyses": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareAnalyses": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateDatasets": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareDatasets": { + "$ref": "#/definitions/CapabilityState" + }, + "SubscribeDashboardEmailReports": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateDashboardEmailReports": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareDashboards": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateThresholdAlerts": { + "$ref": "#/definitions/CapabilityState" + }, + "RenameSharedFolders": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateSharedFolders": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateAndUpdateDataSources": { + "$ref": "#/definitions/CapabilityState" + }, + "ShareDataSources": { + "$ref": "#/definitions/CapabilityState" + }, + "ViewAccountSPICECapacity": { + "$ref": "#/definitions/CapabilityState" + }, + "CreateSPICEDataset": { + "$ref": "#/definitions/CapabilityState" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CapabilityState": { + "type": "string", + "enum": [ + "DENY" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DENY \nUpdate requires: No interruption" + }, + "Tag": { + "type": "object", + "description": "

The key or keys of the key-value pairs for the resource tag or tags assigned to the\n resource.

", + "properties": { + "Key": { + "type": "string", + "maxLength": 128, + "minLength": 1, + "description": "

Tag key.

", + "markdownDescription": "

Tag key.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

Tag value.

", + "markdownDescription": "

Tag value.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "

The key or keys of the key-value pairs for the resource tag or tags assigned to the\n resource.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "AwsAccountId": { + "type": "string", + "maxLength": 12, + "minLength": 12, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 12 \nMaximum Length: 12 \nPattern: ^[0-9]{12}$ \nUpdate requires: Replacement" + }, + "Capabilities": { + "$ref": "#/definitions/Capabilities" + }, + "CustomPermissionsName": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9+=,.@_-]+$ \nUpdate requires: Replacement" + }, + "Tags": { + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "readOnlyProperties": [ + "/properties/Arn" + ], + "createOnlyProperties": [ + "/properties/AwsAccountId", + "/properties/CustomPermissionsName" + ], + "primaryIdentifier": [ + "/properties/AwsAccountId", + "/properties/CustomPermissionsName" + ], + "handlers": { + "create": { + "permissions": [ + "quicksight:CreateCustomPermissions", + "quicksight:TagResource" + ] + }, + "read": { + "permissions": [ + "quicksight:DescribeCustomPermissions", + "quicksight:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "quicksight:UpdateCustomPermissions", + "quicksight:TagResource", + "quicksight:UntagResource", + "quicksight:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "quicksight:DeleteCustomPermissions" + ] + }, + "list": { + "permissions": [ + "quicksight:ListCustomPermissions" + ] + } + }, + "additionalProperties": false, + "required": [ + "AwsAccountId", + "CustomPermissionsName" + ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "quicksight:TagResource", + "quicksight:UntagResource", + "quicksight:ListTagsForResource" + ] + }, + "attributes": { + "Arn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-quicksight-dashboard.json b/server/schema/resources/aws-quicksight-dashboard.json index 0e6dd266..afe888ba 100644 --- a/server/schema/resources/aws-quicksight-dashboard.json +++ b/server/schema/resources/aws-quicksight-dashboard.json @@ -18,7 +18,10 @@ "quicksight:PassDataSet", "quicksight:TagResource", "quicksight:UntagResource", - "quicksight:ListTagsForResource" + "quicksight:ListTagsForResource", + "quicksight:CreateFolderMembership", + "quicksight:DeleteFolderMembership", + "quicksight:ListFoldersForResource" ] }, "update": { @@ -79,7 +82,8 @@ "/properties/SourceEntity", "/properties/ThemeArn", "/properties/VersionDescription", - "/properties/ValidationStrategy" + "/properties/ValidationStrategy", + "/properties/FolderArns" ], "createOnlyProperties": [ "/properties/AwsAccountId", @@ -175,6 +179,7 @@ "Tooltip": { "$ref": "#/definitions/TooltipOptions" }, + "Interactions": {}, "WindowOptions": { "$ref": "#/definitions/GeospatialWindowOptions" }, @@ -562,6 +567,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -687,6 +698,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -881,6 +898,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -1057,6 +1080,44 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "LayerMapVisual": { + "additionalProperties": false, + "type": "object", + "properties": { + "Subtitle": { + "$ref": "#/definitions/VisualSubtitleLabelOptions" + }, + "VisualId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + }, + "ChartConfiguration": { + "$ref": "#/definitions/GeospatialLayerMapConfiguration" + }, + "DataSetIdentifier": { + "minLength": 1, + "type": "string", + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "Title": { + "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + } + }, + "required": [ + "DataSetIdentifier", + "VisualId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "RelativeDateType": { "type": "string", "enum": [ @@ -1137,6 +1198,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -1446,6 +1513,42 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PluginVisual": { + "additionalProperties": false, + "type": "object", + "properties": { + "Subtitle": { + "$ref": "#/definitions/VisualSubtitleLabelOptions" + }, + "PluginArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "VisualId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + }, + "ChartConfiguration": { + "$ref": "#/definitions/PluginVisualConfiguration" + }, + "Title": { + "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + } + }, + "required": [ + "PluginArn", + "VisualId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "BoxPlotFillStyle": { "type": "string", "enum": [ @@ -1464,6 +1567,16 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ImageInteractionOptions": { + "additionalProperties": false, + "type": "object", + "properties": { + "ImageMenuOption": { + "$ref": "#/definitions/ImageMenuOption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "DataLabelType": { "additionalProperties": false, "type": "object", @@ -1655,6 +1768,16 @@ }, "markdownDescription": "

Dashboard error.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "SheetImageSource": { + "additionalProperties": false, + "type": "object", + "properties": { + "SheetImageStaticFileSource": { + "$ref": "#/definitions/SheetImageStaticFileSource" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "FilterDateTimePickerControl": { "additionalProperties": false, "type": "object", @@ -1704,6 +1827,43 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: AUTO | RIGHT | BOTTOM | TOP \nUpdate requires: No interruption" }, + "PluginVisualFieldWell": { + "additionalProperties": false, + "type": "object", + "properties": { + "Unaggregated": { + "minItems": 0, + "maxItems": 200, + "type": "array", + "items": { + "$ref": "#/definitions/UnaggregatedField" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AxisName": { + "$ref": "#/definitions/PluginVisualAxisName" + }, + "Measures": { + "minItems": 0, + "maxItems": 200, + "type": "array", + "items": { + "$ref": "#/definitions/MeasureField" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Dimensions": { + "minItems": 0, + "maxItems": 200, + "type": "array", + "items": { + "$ref": "#/definitions/DimensionField" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "KPIVisualLayoutOptions": { "additionalProperties": false, "type": "object", @@ -1939,6 +2099,51 @@ }, "markdownDescription": "

Determines whether or not hidden fields are visible on exported dashbaords.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialLayerItem": { + "additionalProperties": false, + "type": "object", + "properties": { + "LayerId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "JoinDefinition": { + "$ref": "#/definitions/GeospatialLayerJoinDefinition" + }, + "Actions": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/definitions/LayerCustomAction" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "LayerType": { + "$ref": "#/definitions/GeospatialLayerType" + }, + "LayerDefinition": { + "$ref": "#/definitions/GeospatialLayerDefinition" + }, + "Tooltip": { + "$ref": "#/definitions/TooltipOptions" + }, + "Label": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Visibility": { + "$ref": "#/definitions/Visibility" + }, + "DataSource": { + "$ref": "#/definitions/GeospatialDataSourceItem" + } + }, + "required": [ + "LayerId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "DataPathType": { "additionalProperties": false, "type": "object", @@ -2025,6 +2230,15 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialLayerType": { + "type": "string", + "enum": [ + "POINT", + "LINE", + "POLYGON" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: POINT | LINE | POLYGON \nUpdate requires: No interruption" + }, "GaugeChartArcConditionalFormatting": { "additionalProperties": false, "type": "object", @@ -2463,9 +2677,7 @@ "VisualPublishOptions": { "$ref": "#/definitions/DashboardVisualPublishOptions" }, - "VisualMenuOption": { - "$ref": "#/definitions/VisualMenuOption" - }, + "VisualMenuOption": {}, "DataPointTooltipOption": { "$ref": "#/definitions/DataPointTooltipOption" }, @@ -2667,6 +2879,11 @@ "properties": { "Relative": { "$ref": "#/definitions/RelativeFontSize" + }, + "Absolute": { + "description": "String based length that is composed of value and unit in px", + "type": "string", + "markdownDescription": "String based length that is composed of value and unit in px\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -2741,6 +2958,19 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" }, + "SheetImageTooltipConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "Visibility": { + "$ref": "#/definitions/Visibility" + }, + "TooltipText": { + "$ref": "#/definitions/SheetImageTooltipText" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "DataPointTooltipOption": { "description": "

The data point tooltip options.

", "additionalProperties": false, @@ -3308,6 +3538,25 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialCircleSymbolStyle": { + "additionalProperties": false, + "type": "object", + "properties": { + "FillColor": { + "$ref": "#/definitions/GeospatialColor" + }, + "StrokeWidth": { + "$ref": "#/definitions/GeospatialLineWidth" + }, + "StrokeColor": { + "$ref": "#/definitions/GeospatialColor" + }, + "CircleRadius": { + "$ref": "#/definitions/GeospatialCircleRadius" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "CustomContentType": { "type": "string", "enum": [ @@ -3620,6 +3869,25 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialCategoricalDataColor": { + "additionalProperties": false, + "type": "object", + "properties": { + "DataValue": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Color": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Color", + "DataValue" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "HistogramVisual": { "additionalProperties": false, "type": "object", @@ -3647,6 +3915,12 @@ }, "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ @@ -3699,6 +3973,12 @@ }, "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ @@ -3706,6 +3986,18 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PluginVisualItemsLimitConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "ItemsLimit": { + "default": null, + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "GridLayoutElement": { "additionalProperties": false, "type": "object", @@ -4126,6 +4418,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -4187,6 +4485,16 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "SheetImageScalingType": { + "type": "string", + "enum": [ + "SCALE_TO_WIDTH", + "SCALE_TO_HEIGHT", + "SCALE_TO_CONTAINER", + "SCALE_NONE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SCALE_TO_WIDTH | SCALE_TO_HEIGHT | SCALE_TO_CONTAINER | SCALE_NONE \nUpdate requires: No interruption" + }, "BoxPlotFieldWells": { "additionalProperties": false, "type": "object", @@ -4278,6 +4586,19 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "StaticFile": { + "additionalProperties": false, + "type": "object", + "properties": { + "ImageStaticFile": { + "$ref": "#/definitions/ImageStaticFile" + }, + "SpatialStaticFile": { + "$ref": "#/definitions/SpatialStaticFile" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "PanelTitleOptions": { "additionalProperties": false, "type": "object", @@ -4402,12 +4723,22 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "FreeFormLayoutElementBorderStyle": { + "SheetImageScalingConfiguration": { "additionalProperties": false, "type": "object", "properties": { - "Color": { - "type": "string", + "ScalingType": { + "$ref": "#/definitions/SheetImageScalingType" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "FreeFormLayoutElementBorderStyle": { + "additionalProperties": false, + "type": "object", + "properties": { + "Color": { + "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" }, "Visibility": { @@ -4493,6 +4824,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -4680,6 +5017,25 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ImageStaticFile": { + "additionalProperties": false, + "type": "object", + "properties": { + "StaticFileId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + }, + "Source": { + "$ref": "#/definitions/StaticFileSource" + } + }, + "required": [ + "StaticFileId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "PivotFieldSortOptions": { "additionalProperties": false, "type": "object", @@ -4700,6 +5056,16 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialLineStyle": { + "additionalProperties": false, + "type": "object", + "properties": { + "LineSymbolStyle": { + "$ref": "#/definitions/GeospatialLineSymbolStyle" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "SimpleAttributeAggregationFunction": { "type": "string", "enum": [ @@ -4804,6 +5170,26 @@ ], "markdownDescription": "

Dashboard source template.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialPolygonStyle": { + "additionalProperties": false, + "type": "object", + "properties": { + "PolygonSymbolStyle": { + "$ref": "#/definitions/GeospatialPolygonSymbolStyle" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GeospatialDataSourceItem": { + "additionalProperties": false, + "type": "object", + "properties": { + "StaticFileDataSource": { + "$ref": "#/definitions/GeospatialStaticFileSource" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "KPIProgressBarConditionalFormatting": { "additionalProperties": false, "type": "object", @@ -5007,6 +5393,28 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PluginVisualConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "SortConfiguration": { + "$ref": "#/definitions/PluginVisualSortConfiguration" + }, + "VisualOptions": { + "$ref": "#/definitions/PluginVisualOptions" + }, + "FieldWells": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/definitions/PluginVisualFieldWell" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "FilterCrossSheetControl": { "additionalProperties": false, "type": "object", @@ -5088,6 +5496,16 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialPointStyle": { + "additionalProperties": false, + "type": "object", + "properties": { + "CircleSymbolStyle": { + "$ref": "#/definitions/GeospatialCircleSymbolStyle" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "HorizontalTextAlignment": { "type": "string", "enum": [ @@ -5098,6 +5516,49 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: LEFT | CENTER | RIGHT | AUTO \nUpdate requires: No interruption" }, + "LayerCustomActionOperation": { + "additionalProperties": false, + "type": "object", + "properties": { + "NavigationOperation": { + "$ref": "#/definitions/CustomActionNavigationOperation" + }, + "SetParametersOperation": { + "$ref": "#/definitions/CustomActionSetParametersOperation" + }, + "FilterOperation": { + "$ref": "#/definitions/CustomActionFilterOperation" + }, + "URLOperation": { + "$ref": "#/definitions/CustomActionURLOperation" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GeospatialLayerMapConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "Legend": { + "$ref": "#/definitions/LegendOptions" + }, + "MapState": { + "$ref": "#/definitions/GeospatialMapState" + }, + "MapStyle": { + "$ref": "#/definitions/GeospatialMapStyle" + }, + "Interactions": {}, + "MapLayers": { + "type": "array", + "items": { + "$ref": "#/definitions/GeospatialLayerItem" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "DecimalPlacesConfiguration": { "additionalProperties": false, "type": "object", @@ -5130,6 +5591,23 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialLayerJoinDefinition": { + "additionalProperties": false, + "type": "object", + "properties": { + "ColorField": { + "$ref": "#/definitions/GeospatialLayerColorField" + }, + "ShapeKeyField": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "DatasetKeyField": { + "$ref": "#/definitions/UnaggregatedField" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "FilledMapConditionalFormatting": { "additionalProperties": false, "type": "object", @@ -5255,6 +5733,18 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialLineWidth": { + "additionalProperties": false, + "type": "object", + "properties": { + "LineWidth": { + "type": "number", + "minimum": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "PivotTableCellConditionalFormatting": { "additionalProperties": false, "type": "object", @@ -5357,6 +5847,22 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialLayerDefinition": { + "additionalProperties": false, + "type": "object", + "properties": { + "PointLayer": { + "$ref": "#/definitions/GeospatialPointLayer" + }, + "PolygonLayer": { + "$ref": "#/definitions/GeospatialPolygonLayer" + }, + "LineLayer": { + "$ref": "#/definitions/GeospatialLineLayer" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "PieChartAggregatedFieldWells": { "additionalProperties": false, "type": "object", @@ -5391,6 +5897,19 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialLineLayer": { + "additionalProperties": false, + "type": "object", + "properties": { + "Style": { + "$ref": "#/definitions/GeospatialLineStyle" + } + }, + "required": [ + "Style" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "LineChartVisual": { "additionalProperties": false, "type": "object", @@ -5419,6 +5938,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -6068,6 +6593,19 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialPolygonLayer": { + "additionalProperties": false, + "type": "object", + "properties": { + "Style": { + "$ref": "#/definitions/GeospatialPolygonStyle" + } + }, + "required": [ + "Style" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "RelativeFontSize": { "type": "string", "enum": [ @@ -6095,6 +6633,19 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "StaticFileSource": { + "additionalProperties": false, + "type": "object", + "properties": { + "UrlOptions": { + "$ref": "#/definitions/StaticFileUrlSourceOptions" + }, + "S3Options": { + "$ref": "#/definitions/StaticFileS3SourceOptions" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "LineChartLineStyle": { "type": "string", "enum": [ @@ -6266,6 +6817,25 @@ }, "markdownDescription": "

The sheet layout maximization options of a dashbaord.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PluginVisualTableQuerySort": { + "additionalProperties": false, + "type": "object", + "properties": { + "ItemsLimitConfiguration": { + "$ref": "#/definitions/PluginVisualItemsLimitConfiguration" + }, + "RowSort": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/definitions/FieldSortOptions" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ParameterDateTimePickerControl": { "additionalProperties": false, "type": "object", @@ -6299,6 +6869,14 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PluginVisualAxisName": { + "type": "string", + "enum": [ + "GROUP_BY", + "VALUE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: GROUP_BY | VALUE \nUpdate requires: No interruption" + }, "TreeMapSortConfiguration": { "additionalProperties": false, "type": "object", @@ -6369,6 +6947,16 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ImageMenuOption": { + "additionalProperties": false, + "type": "object", + "properties": { + "AvailabilityStatus": { + "$ref": "#/definitions/DashboardBehavior" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "CategoryDrillDownFilter": { "additionalProperties": false, "type": "object", @@ -6481,6 +7069,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -6554,6 +7148,12 @@ }, "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ @@ -6585,6 +7185,15 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "StaticFiles": { + "minItems": 0, + "maxItems": 200, + "type": "array", + "items": { + "$ref": "#/definitions/StaticFile" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "CalculatedFields": { "minItems": 0, "maxItems": 500, @@ -6964,6 +7573,15 @@ "maxLength": 512, "markdownDescription": "

The unique identifier associated with a sheet.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" }, + "Images": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/definitions/SheetImage" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "Name": { "minLength": 1, "description": "

The name of a sheet. This name is displayed on the sheet's tab in the Amazon QuickSight\n console.

", @@ -7056,6 +7674,19 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialNullDataSettings": { + "additionalProperties": false, + "type": "object", + "properties": { + "SymbolStyle": { + "$ref": "#/definitions/GeospatialNullSymbolStyle" + } + }, + "required": [ + "SymbolStyle" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "SingleAxisOptions": { "additionalProperties": false, "type": "object", @@ -7128,6 +7759,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -7414,9 +8051,10 @@ "VISUAL", "FILTER_CONTROL", "PARAMETER_CONTROL", - "TEXT_BOX" + "TEXT_BOX", + "IMAGE" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VISUAL | FILTER_CONTROL | PARAMETER_CONTROL | TEXT_BOX \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VISUAL | FILTER_CONTROL | PARAMETER_CONTROL | TEXT_BOX | IMAGE \nUpdate requires: No interruption" }, "WaterfallVisual": { "additionalProperties": false, @@ -7446,6 +8084,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -7739,17 +8383,33 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISCRETE | GRADIENT \nUpdate requires: No interruption" }, - "TableFieldCustomIconContent": { + "SheetImageStaticFileSource": { "additionalProperties": false, "type": "object", "properties": { - "Icon": { - "$ref": "#/definitions/TableFieldIconSetType" + "StaticFileId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" } }, + "required": [ + "StaticFileId" + ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "AdHocFilteringOption": { + "TableFieldCustomIconContent": { + "additionalProperties": false, + "type": "object", + "properties": { + "Icon": { + "$ref": "#/definitions/TableFieldIconSetType" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AdHocFilteringOption": { "description": "

An ad hoc (one-time) filtering option.

", "additionalProperties": false, "type": "object", @@ -8041,6 +8701,19 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: AUTO | INDEPENDENT | SHARED \nUpdate requires: No interruption" }, + "GeospatialLineSymbolStyle": { + "additionalProperties": false, + "type": "object", + "properties": { + "FillColor": { + "$ref": "#/definitions/GeospatialColor" + }, + "LineWidth": { + "$ref": "#/definitions/GeospatialLineWidth" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ConditionalFormattingCustomIconCondition": { "additionalProperties": false, "type": "object", @@ -8150,6 +8823,12 @@ }, "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ @@ -8415,6 +9094,24 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialSolidColor": { + "description": "Describes the properties for a solid color", + "additionalProperties": false, + "type": "object", + "properties": { + "State": { + "$ref": "#/definitions/GeospatialColorState" + }, + "Color": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Color" + ], + "markdownDescription": "Describes the properties for a solid color\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "NumericEqualityDrillDownFilter": { "additionalProperties": false, "type": "object", @@ -8479,6 +9176,12 @@ }, "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ @@ -8567,6 +9270,9 @@ "Position": { "$ref": "#/definitions/LegendPosition" }, + "ValueFontConfiguration": { + "$ref": "#/definitions/FontConfiguration" + }, "Title": { "$ref": "#/definitions/LabelOptions" }, @@ -8633,6 +9339,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -8681,6 +9393,18 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialCircleRadius": { + "additionalProperties": false, + "type": "object", + "properties": { + "Radius": { + "type": "number", + "minimum": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TableFieldCustomTextContent": { "additionalProperties": false, "type": "object", @@ -8996,6 +9720,19 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialMapState": { + "additionalProperties": false, + "type": "object", + "properties": { + "Bounds": { + "$ref": "#/definitions/GeospatialCoordinateBounds" + }, + "MapNavigation": { + "$ref": "#/definitions/GeospatialMapNavigation" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "LoadingAnimation": { "additionalProperties": false, "type": "object", @@ -9183,6 +9920,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -9421,6 +10164,35 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PluginVisualOptions": { + "additionalProperties": false, + "type": "object", + "properties": { + "VisualProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/PluginVisualProperty" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PluginVisualProperty": { + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "HistogramBinOptions": { "additionalProperties": false, "type": "object", @@ -9567,6 +10339,15 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "Images": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/definitions/SheetImage" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "SheetControlLayouts": { "minItems": 0, "maxItems": 1, @@ -9791,6 +10572,16 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PluginVisualSortConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "PluginVisualTableQuerySort": { + "$ref": "#/definitions/PluginVisualTableQuerySort" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "CategoricalMeasureField": { "additionalProperties": false, "type": "object", @@ -10301,6 +11092,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -10397,6 +11194,12 @@ }, "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ @@ -10435,6 +11238,50 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "SheetImage": { + "additionalProperties": false, + "type": "object", + "properties": { + "Actions": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/definitions/ImageCustomAction" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SheetImageId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + }, + "Tooltip": { + "$ref": "#/definitions/SheetImageTooltipConfiguration" + }, + "Scaling": { + "$ref": "#/definitions/SheetImageScalingConfiguration" + }, + "Interactions": { + "$ref": "#/definitions/ImageInteractionOptions" + }, + "Source": { + "$ref": "#/definitions/SheetImageSource" + }, + "ImageContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + } + }, + "required": [ + "SheetImageId", + "Source" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TextAreaControlDisplayOptions": { "additionalProperties": false, "type": "object", @@ -10517,6 +11364,46 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ALL_VISUALS | SELECTED_VISUALS \nUpdate requires: No interruption" }, + "ImageCustomAction": { + "additionalProperties": false, + "type": "object", + "properties": { + "Status": { + "$ref": "#/definitions/WidgetStatus" + }, + "Trigger": { + "$ref": "#/definitions/ImageCustomActionTrigger" + }, + "CustomActionId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + }, + "Name": { + "minLength": 1, + "type": "string", + "maxLength": 256, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "ActionOperations": { + "minItems": 1, + "maxItems": 2, + "type": "array", + "items": { + "$ref": "#/definitions/ImageCustomActionOperation" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "ActionOperations", + "CustomActionId", + "Name", + "Trigger" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TopBottomMoversComputation": { "additionalProperties": false, "type": "object", @@ -10690,6 +11577,25 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "SpatialStaticFile": { + "additionalProperties": false, + "type": "object", + "properties": { + "StaticFileId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + }, + "Source": { + "$ref": "#/definitions/StaticFileSource" + } + }, + "required": [ + "StaticFileId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "AxisLogarithmicScale": { "additionalProperties": false, "type": "object", @@ -10702,6 +11608,31 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialLayerColorField": { + "additionalProperties": false, + "type": "object", + "properties": { + "ColorValuesFields": { + "minItems": 0, + "maxItems": 1, + "type": "array", + "items": { + "$ref": "#/definitions/MeasureField" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ColorDimensionsFields": { + "minItems": 0, + "maxItems": 1, + "type": "array", + "items": { + "$ref": "#/definitions/DimensionField" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "KPISortConfiguration": { "additionalProperties": false, "type": "object", @@ -10836,19 +11767,59 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "SectionBasedLayoutConfiguration": { + "LayerCustomAction": { "additionalProperties": false, "type": "object", "properties": { - "CanvasSizeOptions": { - "$ref": "#/definitions/SectionBasedLayoutCanvasSizeOptions" + "Status": { + "$ref": "#/definitions/WidgetStatus" }, - "FooterSections": { - "minItems": 0, - "maxItems": 1, + "Trigger": { + "$ref": "#/definitions/LayerCustomActionTrigger" + }, + "CustomActionId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + }, + "Name": { + "minLength": 1, + "type": "string", + "maxLength": 256, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "ActionOperations": { + "minItems": 1, + "maxItems": 2, "type": "array", "items": { - "$ref": "#/definitions/HeaderFooterSectionConfiguration" + "$ref": "#/definitions/LayerCustomActionOperation" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "ActionOperations", + "CustomActionId", + "Name", + "Trigger" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SectionBasedLayoutConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "CanvasSizeOptions": { + "$ref": "#/definitions/SectionBasedLayoutCanvasSizeOptions" + }, + "FooterSections": { + "minItems": 0, + "maxItems": 1, + "type": "array", + "items": { + "$ref": "#/definitions/HeaderFooterSectionConfiguration" }, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, @@ -10902,6 +11873,23 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialMapStyle": { + "additionalProperties": false, + "type": "object", + "properties": { + "BaseMapStyle": { + "$ref": "#/definitions/BaseMapStyleType" + }, + "BaseMapVisibility": { + "$ref": "#/definitions/Visibility" + }, + "BackgroundColor": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "NumericSeparatorSymbol": { "type": "string", "enum": [ @@ -10969,6 +11957,19 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialPointLayer": { + "additionalProperties": false, + "type": "object", + "properties": { + "Style": { + "$ref": "#/definitions/GeospatialPointStyle" + } + }, + "required": [ + "Style" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "NumericalMeasureField": { "additionalProperties": false, "type": "object", @@ -11165,6 +12166,37 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialGradientColor": { + "additionalProperties": false, + "type": "object", + "properties": { + "DefaultOpacity": { + "maximum": 1, + "type": "number", + "minimum": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "StepColors": { + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "$ref": "#/definitions/GeospatialGradientStepColor" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "NullDataVisibility": { + "$ref": "#/definitions/Visibility" + }, + "NullDataSettings": { + "$ref": "#/definitions/GeospatialNullDataSettings" + } + }, + "required": [ + "StepColors" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TableFieldLinkContentConfiguration": { "additionalProperties": false, "type": "object", @@ -11204,6 +12236,14 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ImageCustomActionTrigger": { + "type": "string", + "enum": [ + "CLICK", + "MENU" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CLICK | MENU \nUpdate requires: No interruption" + }, "ColumnTooltipItem": { "additionalProperties": false, "type": "object", @@ -11230,6 +12270,26 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialGradientStepColor": { + "additionalProperties": false, + "type": "object", + "properties": { + "DataValue": { + "default": 0, + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "Color": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Color", + "DataValue" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "PivotTableFieldOptions": { "additionalProperties": false, "type": "object", @@ -11513,6 +12573,33 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "StaticFileUrlSourceOptions": { + "additionalProperties": false, + "type": "object", + "properties": { + "Url": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Url" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SheetImageTooltipText": { + "additionalProperties": false, + "type": "object", + "properties": { + "PlainText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TooltipOptions": { "additionalProperties": false, "type": "object", @@ -11636,6 +12723,14 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: POINT | CLUSTER | HEATMAP \nUpdate requires: No interruption" }, + "LayerCustomActionTrigger": { + "type": "string", + "enum": [ + "DATA_POINT_CLICK", + "DATA_POINT_MENU" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DATA_POINT_CLICK | DATA_POINT_MENU \nUpdate requires: No interruption" + }, "ComboChartVisual": { "additionalProperties": false, "type": "object", @@ -11664,6 +12759,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -11790,6 +12891,22 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ImageCustomActionOperation": { + "additionalProperties": false, + "type": "object", + "properties": { + "NavigationOperation": { + "$ref": "#/definitions/CustomActionNavigationOperation" + }, + "SetParametersOperation": { + "$ref": "#/definitions/CustomActionSetParametersOperation" + }, + "URLOperation": { + "$ref": "#/definitions/CustomActionURLOperation" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "SheetControlsOption": { "description": "

Sheet controls option.

", "additionalProperties": false, @@ -11816,6 +12933,35 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialCategoricalColor": { + "additionalProperties": false, + "type": "object", + "properties": { + "CategoryDataColors": { + "type": "array", + "items": { + "$ref": "#/definitions/GeospatialCategoricalDataColor" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "DefaultOpacity": { + "maximum": 1, + "type": "number", + "minimum": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "NullDataVisibility": { + "$ref": "#/definitions/Visibility" + }, + "NullDataSettings": { + "$ref": "#/definitions/GeospatialNullDataSettings" + } + }, + "required": [ + "CategoryDataColors" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "PieChartConfiguration": { "additionalProperties": false, "type": "object", @@ -11973,6 +13119,31 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialPolygonSymbolStyle": { + "additionalProperties": false, + "type": "object", + "properties": { + "FillColor": { + "$ref": "#/definitions/GeospatialColor" + }, + "StrokeWidth": { + "$ref": "#/definitions/GeospatialLineWidth" + }, + "StrokeColor": { + "$ref": "#/definitions/GeospatialColor" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GeospatialColorState": { + "description": "Defines view state of the color", + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "Defines view state of the color\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + }, "LineSeriesAxisDisplayOptions": { "additionalProperties": false, "type": "object", @@ -12020,6 +13191,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -12265,6 +13442,22 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialColor": { + "additionalProperties": false, + "type": "object", + "properties": { + "Gradient": { + "$ref": "#/definitions/GeospatialGradientColor" + }, + "Categorical": { + "$ref": "#/definitions/GeospatialCategoricalColor" + }, + "Solid": { + "$ref": "#/definitions/GeospatialSolidColor" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TableStyleTarget": { "additionalProperties": false, "type": "object", @@ -12337,6 +13530,22 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CIRCLE | TRIANGLE | SQUARE | DIAMOND | ROUNDED_SQUARE \nUpdate requires: No interruption" }, + "GeospatialStaticFileSource": { + "additionalProperties": false, + "type": "object", + "properties": { + "StaticFileId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + } + }, + "required": [ + "StaticFileId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ArcAxisDisplayRange": { "additionalProperties": false, "type": "object", @@ -12380,12 +13589,36 @@ "FunnelChartVisual": { "$ref": "#/definitions/FunnelChartVisual" }, - "FilledMapVisual": { - "$ref": "#/definitions/FilledMapVisual" - }, "BoxPlotVisual": { "$ref": "#/definitions/BoxPlotVisual" }, + "LayerMapVisual": { + "$ref": "#/definitions/LayerMapVisual" + }, + "GeospatialMapVisual": { + "$ref": "#/definitions/GeospatialMapVisual" + }, + "ScatterPlotVisual": { + "$ref": "#/definitions/ScatterPlotVisual" + }, + "RadarChartVisual": { + "$ref": "#/definitions/RadarChartVisual" + }, + "ComboChartVisual": { + "$ref": "#/definitions/ComboChartVisual" + }, + "WordCloudVisual": { + "$ref": "#/definitions/WordCloudVisual" + }, + "SankeyDiagramVisual": { + "$ref": "#/definitions/SankeyDiagramVisual" + }, + "GaugeChartVisual": { + "$ref": "#/definitions/GaugeChartVisual" + }, + "FilledMapVisual": { + "$ref": "#/definitions/FilledMapVisual" + }, "WaterfallVisual": { "$ref": "#/definitions/WaterfallVisual" }, @@ -12401,45 +13634,27 @@ "HistogramVisual": { "$ref": "#/definitions/HistogramVisual" }, + "PluginVisual": { + "$ref": "#/definitions/PluginVisual" + }, "TableVisual": { "$ref": "#/definitions/TableVisual" }, "PivotTableVisual": { "$ref": "#/definitions/PivotTableVisual" }, - "GeospatialMapVisual": { - "$ref": "#/definitions/GeospatialMapVisual" - }, "BarChartVisual": { "$ref": "#/definitions/BarChartVisual" }, - "ScatterPlotVisual": { - "$ref": "#/definitions/ScatterPlotVisual" - }, - "RadarChartVisual": { - "$ref": "#/definitions/RadarChartVisual" - }, "HeatMapVisual": { "$ref": "#/definitions/HeatMapVisual" }, "TreeMapVisual": { "$ref": "#/definitions/TreeMapVisual" }, - "ComboChartVisual": { - "$ref": "#/definitions/ComboChartVisual" - }, - "WordCloudVisual": { - "$ref": "#/definitions/WordCloudVisual" - }, "InsightVisual": { "$ref": "#/definitions/InsightVisual" }, - "SankeyDiagramVisual": { - "$ref": "#/definitions/SankeyDiagramVisual" - }, - "GaugeChartVisual": { - "$ref": "#/definitions/GaugeChartVisual" - }, "LineChartVisual": { "$ref": "#/definitions/LineChartVisual" }, @@ -12501,6 +13716,12 @@ }, "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ @@ -12509,6 +13730,14 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialMapNavigation": { + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + }, "PanelConfiguration": { "additionalProperties": false, "type": "object", @@ -12549,6 +13778,30 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "StaticFileS3SourceOptions": { + "additionalProperties": false, + "type": "object", + "properties": { + "BucketName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "ObjectKey": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Region": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "BucketName", + "ObjectKey", + "Region" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "SmallMultiplesOptions": { "additionalProperties": false, "type": "object", @@ -12596,6 +13849,26 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: PORTRAIT | LANDSCAPE \nUpdate requires: No interruption" }, + "GeospatialNullSymbolStyle": { + "additionalProperties": false, + "type": "object", + "properties": { + "FillColor": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" + }, + "StrokeWidth": { + "type": "number", + "minimum": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "StrokeColor": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "NumericSeparatorConfiguration": { "additionalProperties": false, "type": "object", @@ -12776,6 +14049,16 @@ "ValidationStrategy": { "$ref": "#/definitions/ValidationStrategy" }, + "FolderArns": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "DashboardId": { "minLength": 1, "type": "string", diff --git a/server/schema/resources/aws-quicksight-dataset.json b/server/schema/resources/aws-quicksight-dataset.json index c26db73b..ac43c304 100644 --- a/server/schema/resources/aws-quicksight-dataset.json +++ b/server/schema/resources/aws-quicksight-dataset.json @@ -27,7 +27,10 @@ "quicksight:TagResource", "quicksight:ListTagsForResource", "quicksight:DescribeDataSetRefreshProperties", - "quicksight:PutDataSetRefreshProperties" + "quicksight:PutDataSetRefreshProperties", + "quicksight:CreateFolderMembership", + "quicksight:DeleteFolderMembership", + "quicksight:ListFoldersForResource" ] }, "update": { @@ -617,7 +620,7 @@ "items": { "$ref": "#/definitions/InputColumn" }, - "markdownDescription": "

The column schema of the table.

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "

The column schema of the table.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Schema": { "minLength": 0, @@ -643,7 +646,6 @@ }, "required": [ "DataSourceArn", - "InputColumns", "Name" ], "markdownDescription": "

A physical table type for relational data sources.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -656,6 +658,22 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: MULTI_VALUED | SINGLE_VALUED \nUpdate requires: No interruption" }, + "PerformanceConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "UniqueKeys": { + "minItems": 1, + "maxItems": 1, + "type": "array", + "items": { + "$ref": "#/definitions/UniqueKey" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "CalculatedColumn": { "description": "

A calculated column for a dataset.

", "additionalProperties": false, @@ -721,9 +739,7 @@ }, "markdownDescription": "

A physical table type for an S3 data source.

\n \n

For files that aren't JSON, only STRING data types are supported in input columns.

\n
\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, - "UploadSettings": { - "$ref": "#/definitions/UploadSettings" - } + "UploadSettings": {} }, "required": [ "DataSourceArn", @@ -1325,6 +1341,28 @@ ], "markdownDescription": "

A transform operation that overrides the dataset parameter values that are defined in another dataset.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "UniqueKey": { + "additionalProperties": false, + "type": "object", + "properties": { + "ColumnNames": { + "minItems": 1, + "maxItems": 1, + "type": "array", + "items": { + "minLength": 1, + "type": "string", + "maxLength": 127, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "ColumnNames" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "GeoSpatialDataRole": { "type": "string", "enum": [ @@ -1556,7 +1594,7 @@ "items": { "$ref": "#/definitions/InputColumn" }, - "markdownDescription": "

The column schema from the SQL query result set.

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "

The column schema from the SQL query result set.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Name": { "minLength": 1, @@ -1567,7 +1605,6 @@ } }, "required": [ - "Columns", "DataSourceArn", "Name", "SqlQuery" @@ -1619,6 +1656,9 @@ }, "markdownDescription": "

When you create the dataset, Amazon QuickSight adds the dataset to these folders.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "PerformanceConfiguration": { + "$ref": "#/definitions/PerformanceConfiguration" + }, "RowLevelPermissionDataSet": { "$ref": "#/definitions/RowLevelPermissionDataSet" }, diff --git a/server/schema/resources/aws-quicksight-datasource.json b/server/schema/resources/aws-quicksight-datasource.json index 46556402..0b7b3bda 100644 --- a/server/schema/resources/aws-quicksight-datasource.json +++ b/server/schema/resources/aws-quicksight-datasource.json @@ -1,99 +1,90 @@ { - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-quicksight", - "handlers": { - "read": { - "permissions": [ - "quicksight:DescribeDataSource", - "quicksight:DescribeDataSourcePermissions", - "quicksight:ListTagsForResource" - ] - }, - "create": { - "permissions": [ - "quicksight:CreateDataSource", - "quicksight:DescribeDataSource", - "quicksight:DescribeDataSourcePermissions", - "quicksight:TagResource", - "quicksight:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "quicksight:DescribeDataSource", - "quicksight:DescribeDataSourcePermissions", - "quicksight:UpdateDataSource", - "quicksight:UpdateDataSourcePermissions", - "quicksight:CreateFolderMembership", - "quicksight:DeleteFolderMembership", - "quicksight:ListFoldersForResource", - "quicksight:TagResource", - "quicksight:UntagResource", - "quicksight:ListTagsForResource" - ] - }, - "list": { - "permissions": [ - "quicksight:DescribeDataSource", - "quicksight:ListDataSources" - ] - }, - "delete": { - "permissions": [ - "quicksight:DescribeDataSource", - "quicksight:DescribeDataSourcePermissions", - "quicksight:DeleteDataSource", - "quicksight:ListTagsForResource" - ] - } - }, "typeName": "AWS::QuickSight::DataSource", - "readOnlyProperties": [ - "/properties/Arn", - "/properties/CreatedTime", - "/properties/LastUpdatedTime", - "/properties/Status" - ], "description": "Definition of the AWS::QuickSight::DataSource Resource Type.", - "writeOnlyProperties": [ - "/properties/Credentials" - ], - "createOnlyProperties": [ - "/properties/AwsAccountId", - "/properties/DataSourceId", - "/properties/Type" - ], - "additionalProperties": false, - "primaryIdentifier": [ - "/properties/AwsAccountId", - "/properties/DataSourceId" - ], "definitions": { - "AuroraPostgreSqlParameters": { - "description": "

Parameters for Amazon Aurora PostgreSQL-Compatible Edition.

", + "AmazonElasticsearchParameters": { + "type": "object", + "description": "

The parameters for OpenSearch.

", + "properties": { + "Domain": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "description": "

The OpenSearch domain.

", + "markdownDescription": "

The OpenSearch domain.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + } + }, + "required": [ + "Domain" + ], + "additionalProperties": false, + "markdownDescription": "

The parameters for OpenSearch.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AmazonOpenSearchParameters": { + "type": "object", + "description": "

The parameters for OpenSearch.

", + "properties": { + "Domain": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "description": "

The OpenSearch domain.

", + "markdownDescription": "

The OpenSearch domain.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + } + }, + "required": [ + "Domain" + ], + "additionalProperties": false, + "markdownDescription": "

The parameters for OpenSearch.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AthenaParameters": { + "type": "object", + "description": "

Parameters for Amazon Athena.

", + "properties": { + "WorkGroup": { + "type": "string", + "maxLength": 128, + "minLength": 1, + "description": "

The workgroup that Amazon Athena uses.

", + "markdownDescription": "

The workgroup that Amazon Athena uses.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "RoleArn": { + "type": "string", + "maxLength": 2048, + "minLength": 20, + "description": "

Use the RoleArn structure to override an account-wide role for a specific Athena data source. For example, say an account administrator has turned off all Athena access with an account-wide role. The administrator can then use RoleArn to bypass the account-wide role and allow Athena access for the single Athena data source that is specified in the structure, even if the account-wide role forbidding Athena access is still active.

", + "markdownDescription": "

Use the RoleArn structure to override an account-wide role for a specific Athena data source. For example, say an account administrator has turned off all Athena access with an account-wide role. The administrator can then use RoleArn to bypass the account-wide role and allow Athena access for the single Athena data source that is specified in the structure, even if the account-wide role forbidding Athena access is still active.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nUpdate requires: No interruption" + } + }, "additionalProperties": false, + "markdownDescription": "

Parameters for Amazon Athena.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AuroraParameters": { "type": "object", + "description": "

Parameters for Amazon Aurora.

", "properties": { + "Host": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

Host.

", + "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, "Port": { + "type": "number", "default": 0, "maximum": 65535, - "description": "

The port that Amazon Aurora PostgreSQL is listening on.

", - "type": "number", "minimum": 1, - "markdownDescription": "

The port that Amazon Aurora PostgreSQL is listening on.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "description": "

Port.

", + "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, "Database": { - "minLength": 1, - "description": "

The Amazon Aurora PostgreSQL database to connect to.

", "type": "string", "maxLength": 128, - "markdownDescription": "

The Amazon Aurora PostgreSQL database to connect to.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" - }, - "Host": { "minLength": 1, - "description": "

The Amazon Aurora PostgreSQL-Compatible host to connect to.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

The Amazon Aurora PostgreSQL-Compatible host to connect to.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "description": "

Database.

", + "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ @@ -101,190 +92,227 @@ "Host", "Port" ], - "markdownDescription": "

Parameters for Amazon Aurora PostgreSQL-Compatible Edition.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "DataSourceCredentials": { - "description": "

Data source credentials. This is a variant type structure. For this structure to be\n valid, only one of the attributes can be non-null.

", "additionalProperties": false, + "markdownDescription": "

Parameters for Amazon Aurora.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AuroraPostgreSqlParameters": { "type": "object", + "description": "

Parameters for Amazon Aurora PostgreSQL-Compatible Edition.

", "properties": { - "SecretArn": { - "minLength": 1, - "description": "

The Amazon Resource Name (ARN) of the secret associated with the data source in Amazon Secrets Manager.

", + "Host": { "type": "string", - "maxLength": 2048, - "markdownDescription": "

The Amazon Resource Name (ARN) of the secret associated with the data source in Amazon Secrets Manager.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:[-a-z0-9]*:secretsmanager:[-a-z0-9]*:[0-9]{12}:secret:.+$ \nUpdate requires: No interruption" + "maxLength": 256, + "minLength": 1, + "description": "

The Amazon Aurora PostgreSQL-Compatible host to connect to.

", + "markdownDescription": "

The Amazon Aurora PostgreSQL-Compatible host to connect to.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" }, - "CopySourceArn": { - "description": "

The Amazon Resource Name (ARN) of a data source that has the credential pair that you\n want to use. When CopySourceArn is not null, the credential pair from the\n data source in the ARN is used as the credentials for the\n DataSourceCredentials structure.

", - "type": "string", - "markdownDescription": "

The Amazon Resource Name (ARN) of a data source that has the credential pair that you\n want to use. When CopySourceArn is not null, the credential pair from the\n data source in the ARN is used as the credentials for the\n DataSourceCredentials structure.

\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[-a-z0-9]*:quicksight:[-a-z0-9]*:[0-9]{12}:datasource/.+$ \nUpdate requires: No interruption" + "Port": { + "type": "number", + "default": 0, + "maximum": 65535, + "minimum": 1, + "description": "

The port that Amazon Aurora PostgreSQL is listening on.

", + "markdownDescription": "

The port that Amazon Aurora PostgreSQL is listening on.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, - "CredentialPair": { - "$ref": "#/definitions/CredentialPair" + "Database": { + "type": "string", + "maxLength": 128, + "minLength": 1, + "description": "

The Amazon Aurora PostgreSQL database to connect to.

", + "markdownDescription": "

The Amazon Aurora PostgreSQL database to connect to.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, - "markdownDescription": "

Data source credentials. This is a variant type structure. For this structure to be\n valid, only one of the attributes can be non-null.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ManifestFileLocation": { - "description": "

Amazon S3 manifest file location.

", + "required": [ + "Database", + "Host", + "Port" + ], "additionalProperties": false, + "markdownDescription": "

Parameters for Amazon Aurora PostgreSQL-Compatible Edition.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AuthenticationType": { + "type": "string", + "enum": [ + "PASSWORD", + "TOKEN", + "X509" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: PASSWORD | TOKEN | X509 \nUpdate requires: No interruption" + }, + "AwsIotAnalyticsParameters": { "type": "object", + "description": "

The parameters for IoT Analytics.

", "properties": { - "Bucket": { - "minLength": 1, - "description": "

Amazon S3 bucket.

", + "DataSetName": { "type": "string", - "maxLength": 1024, - "markdownDescription": "

Amazon S3 bucket.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" - }, - "Key": { + "maxLength": 128, "minLength": 1, - "description": "

Amazon S3 key that identifies an object.

", - "type": "string", - "maxLength": 1024, - "markdownDescription": "

Amazon S3 key that identifies an object.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + "description": "

Dataset name.

", + "markdownDescription": "

Dataset name.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ - "Bucket", - "Key" + "DataSetName" ], - "markdownDescription": "

Amazon S3 manifest file location.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "StarburstParameters": { - "description": "

The parameters that are required to connect to a Starburst data source.

", "additionalProperties": false, + "markdownDescription": "

The parameters for IoT Analytics.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CredentialPair": { "type": "object", + "description": "

The combination of user name and password that are used as credentials.

", "properties": { - "Port": { - "default": 0, - "maximum": 65535, - "description": "

The port for the Starburst data source.

", - "type": "number", - "minimum": 1, - "markdownDescription": "

The port for the Starburst data source.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" - }, - "ProductType": { - "$ref": "#/definitions/StarburstProductType" - }, - "Host": { - "minLength": 1, - "description": "

The host name of the Starburst data source.

", + "Username": { "type": "string", - "maxLength": 256, - "markdownDescription": "

The host name of the Starburst data source.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "maxLength": 64, + "minLength": 1, + "description": "

User name.

", + "markdownDescription": "

User name.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" }, - "Catalog": { - "minLength": 0, - "description": "

The catalog name for the Starburst data source.

", + "Password": { "type": "string", - "maxLength": 128, - "markdownDescription": "

The catalog name for the Starburst data source.

\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" + "maxLength": 1024, + "minLength": 1, + "description": "

Password.

", + "markdownDescription": "

Password.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, + "AlternateDataSourceParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/DataSourceParameters" + }, + "maxItems": 50, + "minItems": 1, + "description": "

A set of alternate data source parameters that you want to share for these\n credentials. The credentials are applied in tandem with the data source parameters when\n you copy a data source by using a create or update request. The API operation compares\n the DataSourceParameters structure that's in the request with the\n structures in the AlternateDataSourceParameters allow list. If the\n structures are an exact match, the request is allowed to use the new data source with\n the existing credentials. If the AlternateDataSourceParameters list is\n null, the DataSourceParameters originally used with these\n Credentials is automatically allowed.

", + "markdownDescription": "

A set of alternate data source parameters that you want to share for these\n credentials. The credentials are applied in tandem with the data source parameters when\n you copy a data source by using a create or update request. The API operation compares\n the DataSourceParameters structure that's in the request with the\n structures in the AlternateDataSourceParameters allow list. If the\n structures are an exact match, the request is allowed to use the new data source with\n the existing credentials. If the AlternateDataSourceParameters list is\n null, the DataSourceParameters originally used with these\n Credentials is automatically allowed.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ - "Catalog", - "Host", - "Port" + "Password", + "Username" ], - "markdownDescription": "

The parameters that are required to connect to a Starburst data source.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "RedshiftParameters": { - "description": "

The parameters for Amazon Redshift. The ClusterId field can be blank if\n Host and Port are both set. The Host and Port fields can be blank if the ClusterId field is set.

", "additionalProperties": false, + "markdownDescription": "

The combination of user name and password that are used as credentials.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DataSourceCredentials": { "type": "object", + "description": "

Data source credentials. This is a variant type structure. For this structure to be\n valid, only one of the attributes can be non-null.

", "properties": { - "IAMParameters": { - "$ref": "#/definitions/RedshiftIAMParameters" + "CredentialPair": { + "$ref": "#/definitions/CredentialPair" }, - "ClusterId": { - "minLength": 1, - "description": "

Cluster ID. This field can be blank if the Host and Port are\n provided.

", + "CopySourceArn": { "type": "string", - "maxLength": 64, - "markdownDescription": "

Cluster ID. This field can be blank if the Host and Port are\n provided.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" - }, - "Port": { - "default": 0, - "maximum": 65535, - "description": "

Port. This field can be blank if the ClusterId is provided.

", - "type": "number", - "minimum": 0, - "markdownDescription": "

Port. This field can be blank if the ClusterId is provided.

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "description": "

The Amazon Resource Name (ARN) of a data source that has the credential pair that you\n want to use. When CopySourceArn is not null, the credential pair from the\n data source in the ARN is used as the credentials for the\n DataSourceCredentials structure.

", + "markdownDescription": "

The Amazon Resource Name (ARN) of a data source that has the credential pair that you\n want to use. When CopySourceArn is not null, the credential pair from the\n data source in the ARN is used as the credentials for the\n DataSourceCredentials structure.

\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[-a-z0-9]*:quicksight:[-a-z0-9]*:[0-9]{12}:datasource/.+$ \nUpdate requires: No interruption" }, - "Database": { - "minLength": 1, - "description": "

Database.

", + "SecretArn": { "type": "string", - "maxLength": 128, - "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" - }, - "Host": { + "maxLength": 2048, "minLength": 1, - "description": "

Host. This field can be blank if ClusterId is provided.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

Host. This field can be blank if ClusterId is provided.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" - }, - "IdentityCenterConfiguration": { - "$ref": "#/definitions/IdentityCenterConfiguration" + "description": "

The Amazon Resource Name (ARN) of the secret associated with the data source in Amazon Secrets Manager.

", + "markdownDescription": "

The Amazon Resource Name (ARN) of the secret associated with the data source in Amazon Secrets Manager.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:[-a-z0-9]*:secretsmanager:[-a-z0-9]*:[0-9]{12}:secret:.+$ \nUpdate requires: No interruption" } }, - "required": [ - "Database" - ], - "markdownDescription": "

The parameters for Amazon Redshift. The ClusterId field can be blank if\n Host and Port are both set. The Host and Port fields can be blank if the ClusterId field is set.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "VpcConnectionProperties": { - "description": "

VPC connection properties.

", "additionalProperties": false, + "markdownDescription": "

Data source credentials. This is a variant type structure. For this structure to be\n valid, only one of the attributes can be non-null.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DataSourceErrorInfo": { "type": "object", + "description": "

Error information for the data source creation or update.

", "properties": { - "VpcConnectionArn": { - "description": "

The Amazon Resource Name (ARN) for the VPC connection.

", + "Type": { + "$ref": "#/definitions/DataSourceErrorInfoType" + }, + "Message": { "type": "string", - "markdownDescription": "

The Amazon Resource Name (ARN) for the VPC connection.

\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "

Error message.

", + "markdownDescription": "

Error message.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "required": [ - "VpcConnectionArn" + "additionalProperties": false, + "markdownDescription": "

Error information for the data source creation or update.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DataSourceErrorInfoType": { + "type": "string", + "enum": [ + "ACCESS_DENIED", + "COPY_SOURCE_NOT_FOUND", + "TIMEOUT", + "ENGINE_VERSION_NOT_SUPPORTED", + "UNKNOWN_HOST", + "GENERIC_SQL_FAILURE", + "CONFLICT", + "UNKNOWN" ], - "markdownDescription": "

VPC connection properties.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ACCESS_DENIED | COPY_SOURCE_NOT_FOUND | TIMEOUT | ENGINE_VERSION_NOT_SUPPORTED | UNKNOWN_HOST | GENERIC_SQL_FAILURE | CONFLICT | UNKNOWN \nUpdate requires: No interruption" }, - "SnowflakeParameters": { - "description": "

The parameters for Snowflake.

", - "additionalProperties": false, + "DataSourceParameters": { "type": "object", + "description": "

The parameters that Amazon QuickSight uses to connect to your underlying data source.\n This is a variant type structure. For this structure to be valid, only one of the\n attributes can be non-null.

", "properties": { - "Warehouse": { - "minLength": 0, - "description": "

Warehouse.

", - "type": "string", - "maxLength": 128, - "markdownDescription": "

Warehouse.

\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" + "AmazonElasticsearchParameters": { + "$ref": "#/definitions/AmazonElasticsearchParameters" }, - "Database": { - "minLength": 1, - "description": "

Database.

", - "type": "string", - "maxLength": 128, - "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "AthenaParameters": { + "$ref": "#/definitions/AthenaParameters" }, - "Host": { - "minLength": 1, - "description": "

Host.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "AuroraParameters": { + "$ref": "#/definitions/AuroraParameters" + }, + "AuroraPostgreSqlParameters": { + "$ref": "#/definitions/AuroraPostgreSqlParameters" + }, + "MariaDbParameters": { + "$ref": "#/definitions/MariaDbParameters" + }, + "MySqlParameters": { + "$ref": "#/definitions/MySqlParameters" + }, + "OracleParameters": { + "$ref": "#/definitions/OracleParameters" + }, + "PostgreSqlParameters": { + "$ref": "#/definitions/PostgreSqlParameters" + }, + "PrestoParameters": { + "$ref": "#/definitions/PrestoParameters" + }, + "RdsParameters": { + "$ref": "#/definitions/RdsParameters" + }, + "RedshiftParameters": { + "$ref": "#/definitions/RedshiftParameters" + }, + "S3Parameters": { + "$ref": "#/definitions/S3Parameters" + }, + "SnowflakeParameters": { + "$ref": "#/definitions/SnowflakeParameters" + }, + "SparkParameters": { + "$ref": "#/definitions/SparkParameters" + }, + "SqlServerParameters": { + "$ref": "#/definitions/SqlServerParameters" + }, + "TeradataParameters": { + "$ref": "#/definitions/TeradataParameters" + }, + "AmazonOpenSearchParameters": { + "$ref": "#/definitions/AmazonOpenSearchParameters" + }, + "DatabricksParameters": { + "$ref": "#/definitions/DatabricksParameters" + }, + "StarburstParameters": { + "$ref": "#/definitions/StarburstParameters" + }, + "TrinoParameters": { + "$ref": "#/definitions/TrinoParameters" } }, - "required": [ - "Database", - "Host", - "Warehouse" - ], - "markdownDescription": "

The parameters for Snowflake.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "

The parameters that Amazon QuickSight uses to connect to your underlying data source.\n This is a variant type structure. For this structure to be valid, only one of the\n attributes can be non-null.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "DataSourceType": { "type": "string", @@ -313,6 +341,7 @@ "PRESTO", "REDSHIFT", "S3", + "S3_TABLES", "SALESFORCE", "SERVICENOW", "SNOWFLAKE", @@ -332,231 +361,108 @@ "IMPALA", "GLUE" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ADOBE_ANALYTICS | AMAZON_ELASTICSEARCH | AMAZON_OPENSEARCH | ATHENA | AURORA | AURORA_POSTGRESQL | AWS_IOT_ANALYTICS | DATABRICKS | DENODO | DREMIO | DYNAMODB | SAPHANA | DB2_AS400 | EXASOL | FILE | GITHUB | JIRA | MARIADB | MYSQL | ORACLE | POSTGRESQL | PRESTO | REDSHIFT | S3 | SALESFORCE | SERVICENOW | SNOWFLAKE | SPARK | SQLSERVER | TERADATA | TIMESTREAM | TWITTER | BIGQUERY | GOOGLE_ANALYTICS | TRINO | STARBURST | MONGO | MONGO_ATLAS | DOCUMENTDB | APPFLOW | IMPALA | GLUE \nUpdate requires: No interruption" - }, - "AmazonElasticsearchParameters": { - "description": "

The parameters for OpenSearch.

", - "additionalProperties": false, - "type": "object", - "properties": { - "Domain": { - "minLength": 1, - "description": "

The OpenSearch domain.

", - "type": "string", - "maxLength": 64, - "markdownDescription": "

The OpenSearch domain.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" - } - }, - "required": [ - "Domain" - ], - "markdownDescription": "

The parameters for OpenSearch.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "AmazonOpenSearchParameters": { - "description": "

The parameters for OpenSearch.

", - "additionalProperties": false, - "type": "object", - "properties": { - "Domain": { - "minLength": 1, - "description": "

The OpenSearch domain.

", - "type": "string", - "maxLength": 64, - "markdownDescription": "

The OpenSearch domain.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" - } - }, - "required": [ - "Domain" - ], - "markdownDescription": "

The parameters for OpenSearch.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ResourceStatus": { - "type": "string", - "enum": [ - "CREATION_IN_PROGRESS", - "CREATION_SUCCESSFUL", - "CREATION_FAILED", - "UPDATE_IN_PROGRESS", - "UPDATE_SUCCESSFUL", - "UPDATE_FAILED", - "DELETED" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATION_IN_PROGRESS | CREATION_SUCCESSFUL | CREATION_FAILED | UPDATE_IN_PROGRESS | UPDATE_SUCCESSFUL | UPDATE_FAILED | DELETED \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ADOBE_ANALYTICS | AMAZON_ELASTICSEARCH | AMAZON_OPENSEARCH | ATHENA | AURORA | AURORA_POSTGRESQL | AWS_IOT_ANALYTICS | DATABRICKS | DENODO | DREMIO | DYNAMODB | SAPHANA | DB2_AS400 | EXASOL | FILE | GITHUB | JIRA | MARIADB | MYSQL | ORACLE | POSTGRESQL | PRESTO | REDSHIFT | S3 | S3_TABLES | SALESFORCE | SERVICENOW | SNOWFLAKE | SPARK | SQLSERVER | TERADATA | TIMESTREAM | TWITTER | BIGQUERY | GOOGLE_ANALYTICS | TRINO | STARBURST | MONGO | MONGO_ATLAS | DOCUMENTDB | APPFLOW | IMPALA | GLUE \nUpdate requires: No interruption" }, - "AuroraParameters": { - "description": "

Parameters for Amazon Aurora.

", - "additionalProperties": false, + "DatabricksParameters": { "type": "object", + "description": "

The parameters that are required to connect to a Databricks data source.

", "properties": { - "Port": { - "default": 0, - "maximum": 65535, - "description": "

Port.

", - "type": "number", - "minimum": 1, - "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" - }, - "Database": { - "minLength": 1, - "description": "

Database.

", - "type": "string", - "maxLength": 128, - "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" - }, "Host": { - "minLength": 1, - "description": "

Host.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "markdownDescription": "

Parameters for Amazon Aurora.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "S3Parameters": { - "description": "

The parameters for S3.

", - "additionalProperties": false, - "type": "object", - "properties": { - "ManifestFileLocation": { - "$ref": "#/definitions/ManifestFileLocation" + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

The host name of the Databricks data source.

", + "markdownDescription": "

The host name of the Databricks data source.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" }, - "RoleArn": { - "minLength": 20, - "description": "

Use the RoleArn structure to override an account-wide role for a specific S3 data source. For example, say an account administrator has turned off all S3 access with an account-wide role. The administrator can then use RoleArn to bypass the account-wide role and allow S3 access for the single S3 data source that is specified in the structure, even if the account-wide role forbidding S3 access is still active.

", + "Port": { + "type": "number", + "default": 0, + "maximum": 65535, + "minimum": 1, + "description": "

The port for the Databricks data source.

", + "markdownDescription": "

The port for the Databricks data source.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "SqlEndpointPath": { "type": "string", - "maxLength": 2048, - "markdownDescription": "

Use the RoleArn structure to override an account-wide role for a specific S3 data source. For example, say an account administrator has turned off all S3 access with an account-wide role. The administrator can then use RoleArn to bypass the account-wide role and allow S3 access for the single S3 data source that is specified in the structure, even if the account-wide role forbidding S3 access is still active.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nUpdate requires: No interruption" + "maxLength": 4096, + "minLength": 1, + "description": "

The HTTP path of the Databricks data source.

", + "markdownDescription": "

The HTTP path of the Databricks data source.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 4096 \nUpdate requires: No interruption" } }, "required": [ - "ManifestFileLocation" + "Host", + "Port", + "SqlEndpointPath" ], - "markdownDescription": "

The parameters for S3.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "

The parameters that are required to connect to a Databricks data source.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "IdentityCenterConfiguration": { - "description": "

The parameters for an IAM Identity Center configuration.

", - "additionalProperties": false, "type": "object", + "description": "

The parameters for an IAM Identity Center configuration.

", "properties": { "EnableIdentityPropagation": { + "type": "boolean", "default": null, "description": "

A Boolean option that controls whether Trusted Identity Propagation should be used.

", - "type": "boolean", "markdownDescription": "

A Boolean option that controls whether Trusted Identity Propagation should be used.

\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, - "markdownDescription": "

The parameters for an IAM Identity Center configuration.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "SslProperties": { - "description": "

Secure Socket Layer (SSL) properties that apply when Amazon QuickSight connects to your\n underlying data source.

", "additionalProperties": false, - "type": "object", - "properties": { - "DisableSsl": { - "default": false, - "description": "

A Boolean option to control whether SSL should be disabled.

", - "type": "boolean", - "markdownDescription": "

A Boolean option to control whether SSL should be disabled.

\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - } - }, - "markdownDescription": "

Secure Socket Layer (SSL) properties that apply when Amazon QuickSight connects to your\n underlying data source.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "DataSourceErrorInfoType": { - "type": "string", - "enum": [ - "ACCESS_DENIED", - "COPY_SOURCE_NOT_FOUND", - "TIMEOUT", - "ENGINE_VERSION_NOT_SUPPORTED", - "UNKNOWN_HOST", - "GENERIC_SQL_FAILURE", - "CONFLICT", - "UNKNOWN" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ACCESS_DENIED | COPY_SOURCE_NOT_FOUND | TIMEOUT | ENGINE_VERSION_NOT_SUPPORTED | UNKNOWN_HOST | GENERIC_SQL_FAILURE | CONFLICT | UNKNOWN \nUpdate requires: No interruption" + "markdownDescription": "

The parameters for an IAM Identity Center configuration.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ResourcePermission": { - "description": "

Permission for the resource.

", - "additionalProperties": false, + "ManifestFileLocation": { "type": "object", + "description": "

Amazon S3 manifest file location.

", "properties": { - "Actions": { - "minItems": 1, - "maxItems": 20, - "description": "

The IAM action to grant or revoke permissions on.

", - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "

The IAM action to grant or revoke permissions on.

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "Resource": { + "Bucket": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Principal": { + "maxLength": 1024, "minLength": 1, - "description": "

The Amazon Resource Name (ARN) of the principal. This can be one of the\n following:

\n
    \n
  • \n

    The ARN of an Amazon QuickSight user or group associated with a data source or dataset. (This is common.)

    \n
  • \n
  • \n

    The ARN of an Amazon QuickSight user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)

    \n
  • \n
  • \n

    The ARN of an Amazon Web Services account root: This is an IAM ARN rather than a QuickSight\n ARN. Use this option only to share resources (templates) across Amazon Web Services accounts.\n (This is less common.)

    \n
  • \n
", + "description": "

Amazon S3 bucket.

", + "markdownDescription": "

Amazon S3 bucket.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, + "Key": { "type": "string", - "maxLength": 256, - "markdownDescription": "

The Amazon Resource Name (ARN) of the principal. This can be one of the\n following:

\n
    \n
  • \n

    The ARN of an Amazon QuickSight user or group associated with a data source or dataset. (This is common.)

    \n
  • \n
  • \n

    The ARN of an Amazon QuickSight user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)

    \n
  • \n
  • \n

    The ARN of an Amazon Web Services account root: This is an IAM ARN rather than a QuickSight\n ARN. Use this option only to share resources (templates) across Amazon Web Services accounts.\n (This is less common.)

    \n
  • \n
\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "maxLength": 1024, + "minLength": 1, + "description": "

Amazon S3 key that identifies an object.

", + "markdownDescription": "

Amazon S3 key that identifies an object.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ - "Actions", - "Principal" + "Bucket", + "Key" ], - "markdownDescription": "

Permission for the resource.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "DataSourceErrorInfo": { - "description": "

Error information for the data source creation or update.

", "additionalProperties": false, - "type": "object", - "properties": { - "Type": { - "$ref": "#/definitions/DataSourceErrorInfoType" - }, - "Message": { - "description": "

Error message.

", - "type": "string", - "markdownDescription": "

Error message.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "markdownDescription": "

Error information for the data source creation or update.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "

Amazon S3 manifest file location.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TeradataParameters": { - "description": "

The parameters for Teradata.

", - "additionalProperties": false, + "MariaDbParameters": { "type": "object", + "description": "

The parameters for MariaDB.

", "properties": { + "Host": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

Host.

", + "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, "Port": { + "type": "number", "default": 0, "maximum": 65535, - "description": "

Port.

", - "type": "number", "minimum": 1, + "description": "

Port.

", "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, "Database": { - "minLength": 1, - "description": "

Database.

", "type": "string", "maxLength": 128, - "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" - }, - "Host": { "minLength": 1, - "description": "

Host.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "description": "

Database.

", + "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ @@ -564,109 +470,100 @@ "Host", "Port" ], - "markdownDescription": "

The parameters for Teradata.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "RdsParameters": { - "description": "

The parameters for Amazon RDS.

", "additionalProperties": false, + "markdownDescription": "

The parameters for MariaDB.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MySqlParameters": { "type": "object", + "description": "

The parameters for MySQL.

", "properties": { - "InstanceId": { - "minLength": 1, - "description": "

Instance ID.

", + "Host": { "type": "string", - "maxLength": 64, - "markdownDescription": "

Instance ID.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + "maxLength": 256, + "minLength": 1, + "description": "

Host.

", + "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "Port": { + "type": "number", + "default": 0, + "maximum": 65535, + "minimum": 1, + "description": "

Port.

", + "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, "Database": { - "minLength": 1, - "description": "

Database.

", "type": "string", "maxLength": 128, + "minLength": 1, + "description": "

Database.

", "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ "Database", - "InstanceId" + "Host", + "Port" ], - "markdownDescription": "

The parameters for Amazon RDS.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "AthenaParameters": { - "description": "

Parameters for Amazon Athena.

", "additionalProperties": false, + "markdownDescription": "

The parameters for MySQL.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "OAuthParameters": { "type": "object", "properties": { - "WorkGroup": { + "TokenProviderUrl": { + "type": "string", + "maxLength": 2048, "minLength": 1, - "description": "

The workgroup that Amazon Athena uses.

", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "OAuthScope": { "type": "string", "maxLength": 128, - "markdownDescription": "

The workgroup that Amazon Athena uses.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, - "RoleArn": { - "minLength": 20, - "description": "

Use the RoleArn structure to override an account-wide role for a specific Athena data source. For example, say an account administrator has turned off all Athena access with an account-wide role. The administrator can then use RoleArn to bypass the account-wide role and allow Athena access for the single Athena data source that is specified in the structure, even if the account-wide role forbidding Athena access is still active.

", + "IdentityProviderVpcConnectionProperties": { + "$ref": "#/definitions/VpcConnectionProperties" + }, + "IdentityProviderResourceUri": { "type": "string", "maxLength": 2048, - "markdownDescription": "

Use the RoleArn structure to override an account-wide role for a specific Athena data source. For example, say an account administrator has turned off all Athena access with an account-wide role. The administrator can then use RoleArn to bypass the account-wide role and allow Athena access for the single Athena data source that is specified in the structure, even if the account-wide role forbidding Athena access is still active.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nUpdate requires: No interruption" - } - }, - "markdownDescription": "

Parameters for Amazon Athena.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "SparkParameters": { - "description": "

The parameters for Spark.

", - "additionalProperties": false, - "type": "object", - "properties": { - "Port": { - "default": 0, - "maximum": 65535, - "description": "

Port.

", - "type": "number", - "minimum": 1, - "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" - }, - "Host": { "minLength": 1, - "description": "

Host.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" } }, "required": [ - "Host", - "Port" + "TokenProviderUrl" ], - "markdownDescription": "

The parameters for Spark.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "MariaDbParameters": { - "description": "

The parameters for MariaDB.

", "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "OracleParameters": { "type": "object", + "description": "

The parameters for Oracle.

", "properties": { + "Host": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

An Oracle host.

", + "markdownDescription": "

An Oracle host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, "Port": { + "type": "number", "default": 0, "maximum": 65535, - "description": "

Port.

", - "type": "number", "minimum": 1, - "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "description": "

The port.

", + "markdownDescription": "

The port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, "Database": { - "minLength": 1, - "description": "

Database.

", "type": "string", "maxLength": 128, - "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" - }, - "Host": { "minLength": 1, - "description": "

Host.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "description": "

The database.

", + "markdownDescription": "

The database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ @@ -674,34 +571,34 @@ "Host", "Port" ], - "markdownDescription": "

The parameters for MariaDB.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "OracleParameters": { - "description": "

The parameters for Oracle.

", "additionalProperties": false, + "markdownDescription": "

The parameters for Oracle.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PostgreSqlParameters": { "type": "object", + "description": "

The parameters for PostgreSQL.

", "properties": { + "Host": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

Host.

", + "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, "Port": { + "type": "number", "default": 0, "maximum": 65535, - "description": "

The port.

", - "type": "number", "minimum": 1, - "markdownDescription": "

The port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "description": "

Port.

", + "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, "Database": { - "minLength": 1, - "description": "

The database.

", "type": "string", "maxLength": 128, - "markdownDescription": "

The database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" - }, - "Host": { "minLength": 1, - "description": "

An Oracle host.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

An Oracle host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "description": "

Database.

", + "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ @@ -709,33 +606,33 @@ "Host", "Port" ], - "markdownDescription": "

The parameters for Oracle.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "

The parameters for PostgreSQL.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "PrestoParameters": { - "description": "

The parameters for Presto.

", - "additionalProperties": false, "type": "object", + "description": "

The parameters for Presto.

", "properties": { + "Host": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

Host.

", + "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, "Port": { + "type": "number", "default": 0, "maximum": 65535, - "description": "

Port.

", - "type": "number", "minimum": 1, + "description": "

Port.

", "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, - "Host": { - "minLength": 1, - "description": "

Host.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" - }, "Catalog": { - "minLength": 0, - "description": "

Catalog.

", "type": "string", "maxLength": 128, + "minLength": 0, + "description": "

Catalog.

", "markdownDescription": "

Catalog.

\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" } }, @@ -744,207 +641,291 @@ "Host", "Port" ], + "additionalProperties": false, "markdownDescription": "

The parameters for Presto.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "AwsIotAnalyticsParameters": { - "description": "

The parameters for IoT Analytics.

", - "additionalProperties": false, + "RdsParameters": { "type": "object", + "description": "

The parameters for Amazon RDS.

", "properties": { - "DataSetName": { + "InstanceId": { + "type": "string", + "maxLength": 64, "minLength": 1, - "description": "

Dataset name.

", + "description": "

Instance ID.

", + "markdownDescription": "

Instance ID.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + }, + "Database": { "type": "string", "maxLength": 128, - "markdownDescription": "

Dataset name.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "minLength": 1, + "description": "

Database.

", + "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ - "DataSetName" - ], - "markdownDescription": "

The parameters for IoT Analytics.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "StarburstProductType": { - "type": "string", - "enum": [ - "GALAXY", - "ENTERPRISE" + "Database", + "InstanceId" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: GALAXY | ENTERPRISE \nUpdate requires: No interruption" - }, - "DataSourceParameters": { - "description": "

The parameters that Amazon QuickSight uses to connect to your underlying data source.\n This is a variant type structure. For this structure to be valid, only one of the\n attributes can be non-null.

", "additionalProperties": false, + "markdownDescription": "

The parameters for Amazon RDS.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RedshiftIAMParameters": { "type": "object", + "description": "

A structure that grants Amazon QuickSight access to your cluster and make a call to the redshift:GetClusterCredentials API. For more information on the redshift:GetClusterCredentials API, see \n GetClusterCredentials\n .

", "properties": { - "AuroraPostgreSqlParameters": { - "$ref": "#/definitions/AuroraPostgreSqlParameters" - }, - "TeradataParameters": { - "$ref": "#/definitions/TeradataParameters" - }, - "RdsParameters": { - "$ref": "#/definitions/RdsParameters" - }, - "AthenaParameters": { - "$ref": "#/definitions/AthenaParameters" - }, - "SparkParameters": { - "$ref": "#/definitions/SparkParameters" - }, - "MariaDbParameters": { - "$ref": "#/definitions/MariaDbParameters" - }, - "OracleParameters": { - "$ref": "#/definitions/OracleParameters" - }, - "PrestoParameters": { - "$ref": "#/definitions/PrestoParameters" - }, - "StarburstParameters": { - "$ref": "#/definitions/StarburstParameters" + "RoleArn": { + "type": "string", + "maxLength": 2048, + "minLength": 20, + "description": "

Use the RoleArn structure to allow Amazon QuickSight to call redshift:GetClusterCredentials on your cluster. The calling principal must have iam:PassRole access to pass the role to Amazon QuickSight. The role's trust policy must allow the Amazon QuickSight service principal to assume the role.

", + "markdownDescription": "

Use the RoleArn structure to allow Amazon QuickSight to call redshift:GetClusterCredentials on your cluster. The calling principal must have iam:PassRole access to pass the role to Amazon QuickSight. The role's trust policy must allow the Amazon QuickSight service principal to assume the role.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nUpdate requires: No interruption" }, - "RedshiftParameters": { - "$ref": "#/definitions/RedshiftParameters" + "DatabaseUser": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "description": "

The user whose permissions and group memberships will be used by Amazon QuickSight to access the cluster. If this user already exists in your database, Amazon QuickSight is granted the same permissions that the user has. If the user doesn't exist, set the value of AutoCreateDatabaseUser to True to create a new user with PUBLIC permissions.

", + "markdownDescription": "

The user whose permissions and group memberships will be used by Amazon QuickSight to access the cluster. If this user already exists in your database, Amazon QuickSight is granted the same permissions that the user has. If the user doesn't exist, set the value of AutoCreateDatabaseUser to True to create a new user with PUBLIC permissions.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" }, - "MySqlParameters": { - "$ref": "#/definitions/MySqlParameters" + "DatabaseGroups": { + "type": "array", + "items": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + }, + "maxItems": 50, + "minItems": 1, + "description": "

A list of groups whose permissions will be granted to Amazon QuickSight to access the cluster. These permissions are combined with the permissions granted to Amazon QuickSight by the DatabaseUser. If you choose to include this parameter, the RoleArn must grant access to redshift:JoinGroup.

", + "markdownDescription": "

A list of groups whose permissions will be granted to Amazon QuickSight to access the cluster. These permissions are combined with the permissions granted to Amazon QuickSight by the DatabaseUser. If you choose to include this parameter, the RoleArn must grant access to redshift:JoinGroup.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "SqlServerParameters": { - "$ref": "#/definitions/SqlServerParameters" + "AutoCreateDatabaseUser": { + "type": "boolean", + "default": false, + "description": "

Automatically creates a database user. If your database doesn't have a DatabaseUser, set this parameter to True. If there is no DatabaseUser, Amazon QuickSight can't connect to your cluster. The RoleArn that you use for this operation must grant access to redshift:CreateClusterUser to successfully create the user.

", + "markdownDescription": "

Automatically creates a database user. If your database doesn't have a DatabaseUser, set this parameter to True. If there is no DatabaseUser, Amazon QuickSight can't connect to your cluster. The RoleArn that you use for this operation must grant access to redshift:CreateClusterUser to successfully create the user.

\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "required": [ + "RoleArn" + ], + "additionalProperties": false, + "markdownDescription": "

A structure that grants Amazon QuickSight access to your cluster and make a call to the redshift:GetClusterCredentials API. For more information on the redshift:GetClusterCredentials API, see \n GetClusterCredentials\n .

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RedshiftParameters": { + "type": "object", + "description": "

The parameters for Amazon Redshift. The ClusterId field can be blank if\n Host and Port are both set. The Host and Port fields can be blank if the ClusterId field is set.

", + "properties": { + "Host": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

Host. This field can be blank if ClusterId is provided.

", + "markdownDescription": "

Host. This field can be blank if ClusterId is provided.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" }, - "SnowflakeParameters": { - "$ref": "#/definitions/SnowflakeParameters" + "Port": { + "type": "number", + "default": 0, + "maximum": 65535, + "minimum": 0, + "description": "

Port. This field can be blank if the ClusterId is provided.

", + "markdownDescription": "

Port. This field can be blank if the ClusterId is provided.

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, - "AmazonElasticsearchParameters": { - "$ref": "#/definitions/AmazonElasticsearchParameters" + "Database": { + "type": "string", + "maxLength": 128, + "minLength": 1, + "description": "

Database.

", + "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, - "AmazonOpenSearchParameters": { - "$ref": "#/definitions/AmazonOpenSearchParameters" + "ClusterId": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "description": "

Cluster ID. This field can be blank if the Host and Port are\n provided.

", + "markdownDescription": "

Cluster ID. This field can be blank if the Host and Port are\n provided.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" }, - "PostgreSqlParameters": { - "$ref": "#/definitions/PostgreSqlParameters" + "IAMParameters": { + "$ref": "#/definitions/RedshiftIAMParameters" }, - "AuroraParameters": { - "$ref": "#/definitions/AuroraParameters" + "IdentityCenterConfiguration": { + "$ref": "#/definitions/IdentityCenterConfiguration" + } + }, + "required": [ + "Database" + ], + "additionalProperties": false, + "markdownDescription": "

The parameters for Amazon Redshift. The ClusterId field can be blank if\n Host and Port are both set. The Host and Port fields can be blank if the ClusterId field is set.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ResourcePermission": { + "type": "object", + "description": "

Permission for the resource.

", + "properties": { + "Principal": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

The Amazon Resource Name (ARN) of the principal. This can be one of the\n following:

\n
    \n
  • \n

    The ARN of an Amazon QuickSight user or group associated with a data source or dataset. (This is common.)

    \n
  • \n
  • \n

    The ARN of an Amazon QuickSight user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)

    \n
  • \n
  • \n

    The ARN of an Amazon Web Services account root: This is an IAM ARN rather than a QuickSight\n ARN. Use this option only to share resources (templates) across Amazon Web Services accounts.\n (This is less common.)

    \n
  • \n
", + "markdownDescription": "

The Amazon Resource Name (ARN) of the principal. This can be one of the\n following:

\n
    \n
  • \n

    The ARN of an Amazon QuickSight user or group associated with a data source or dataset. (This is common.)

    \n
  • \n
  • \n

    The ARN of an Amazon QuickSight user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)

    \n
  • \n
  • \n

    The ARN of an Amazon Web Services account root: This is an IAM ARN rather than a QuickSight\n ARN. Use this option only to share resources (templates) across Amazon Web Services accounts.\n (This is less common.)

    \n
  • \n
\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" }, - "S3Parameters": { - "$ref": "#/definitions/S3Parameters" + "Resource": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "TrinoParameters": { - "$ref": "#/definitions/TrinoParameters" + "Actions": { + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "maxItems": 20, + "minItems": 1, + "description": "

The IAM action to grant or revoke permissions on.

", + "markdownDescription": "

The IAM action to grant or revoke permissions on.

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Actions", + "Principal" + ], + "additionalProperties": false, + "markdownDescription": "

Permission for the resource.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ResourceStatus": { + "type": "string", + "enum": [ + "CREATION_IN_PROGRESS", + "CREATION_SUCCESSFUL", + "CREATION_FAILED", + "UPDATE_IN_PROGRESS", + "UPDATE_SUCCESSFUL", + "UPDATE_FAILED", + "DELETED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATION_IN_PROGRESS | CREATION_SUCCESSFUL | CREATION_FAILED | UPDATE_IN_PROGRESS | UPDATE_SUCCESSFUL | UPDATE_FAILED | DELETED \nUpdate requires: No interruption" + }, + "S3Parameters": { + "type": "object", + "description": "

The parameters for S3.

", + "properties": { + "ManifestFileLocation": { + "$ref": "#/definitions/ManifestFileLocation" }, - "DatabricksParameters": { - "$ref": "#/definitions/DatabricksParameters" + "RoleArn": { + "type": "string", + "maxLength": 2048, + "minLength": 20, + "description": "

Use the RoleArn structure to override an account-wide role for a specific S3 data source. For example, say an account administrator has turned off all S3 access with an account-wide role. The administrator can then use RoleArn to bypass the account-wide role and allow S3 access for the single S3 data source that is specified in the structure, even if the account-wide role forbidding S3 access is still active.

", + "markdownDescription": "

Use the RoleArn structure to override an account-wide role for a specific S3 data source. For example, say an account administrator has turned off all S3 access with an account-wide role. The administrator can then use RoleArn to bypass the account-wide role and allow S3 access for the single S3 data source that is specified in the structure, even if the account-wide role forbidding S3 access is still active.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nUpdate requires: No interruption" } }, - "markdownDescription": "

The parameters that Amazon QuickSight uses to connect to your underlying data source.\n This is a variant type structure. For this structure to be valid, only one of the\n attributes can be non-null.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "MySqlParameters": { - "description": "

The parameters for MySQL.

", + "required": [ + "ManifestFileLocation" + ], "additionalProperties": false, + "markdownDescription": "

The parameters for S3.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SnowflakeParameters": { "type": "object", + "description": "

The parameters for Snowflake.

", "properties": { - "Port": { - "default": 0, - "maximum": 65535, - "description": "

Port.

", - "type": "number", - "minimum": 1, - "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "Host": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

Host.

", + "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" }, "Database": { + "type": "string", + "maxLength": 128, "minLength": 1, "description": "

Database.

", + "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Warehouse": { "type": "string", "maxLength": 128, - "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "minLength": 0, + "description": "

Warehouse.

", + "markdownDescription": "

Warehouse.

\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" }, - "Host": { - "minLength": 1, - "description": "

Host.

", + "AuthenticationType": { + "$ref": "#/definitions/AuthenticationType" + }, + "DatabaseAccessControlRole": { "type": "string", - "maxLength": 256, - "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "maxLength": 128, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "OAuthParameters": { + "$ref": "#/definitions/OAuthParameters" } }, "required": [ "Database", "Host", - "Port" + "Warehouse" ], - "markdownDescription": "

The parameters for MySQL.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "RedshiftIAMParameters": { - "description": "

A structure that grants Amazon QuickSight access to your cluster and make a call to the redshift:GetClusterCredentials API. For more information on the redshift:GetClusterCredentials API, see \n GetClusterCredentials\n .

", "additionalProperties": false, + "markdownDescription": "

The parameters for Snowflake.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SparkParameters": { "type": "object", + "description": "

The parameters for Spark.

", "properties": { - "AutoCreateDatabaseUser": { - "default": false, - "description": "

Automatically creates a database user. If your database doesn't have a DatabaseUser, set this parameter to True. If there is no DatabaseUser, Amazon QuickSight can't connect to your cluster. The RoleArn that you use for this operation must grant access to redshift:CreateClusterUser to successfully create the user.

", - "type": "boolean", - "markdownDescription": "

Automatically creates a database user. If your database doesn't have a DatabaseUser, set this parameter to True. If there is no DatabaseUser, Amazon QuickSight can't connect to your cluster. The RoleArn that you use for this operation must grant access to redshift:CreateClusterUser to successfully create the user.

\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "DatabaseUser": { - "minLength": 1, - "description": "

The user whose permissions and group memberships will be used by Amazon QuickSight to access the cluster. If this user already exists in your database, Amazon QuickSight is granted the same permissions that the user has. If the user doesn't exist, set the value of AutoCreateDatabaseUser to True to create a new user with PUBLIC permissions.

", - "type": "string", - "maxLength": 64, - "markdownDescription": "

The user whose permissions and group memberships will be used by Amazon QuickSight to access the cluster. If this user already exists in your database, Amazon QuickSight is granted the same permissions that the user has. If the user doesn't exist, set the value of AutoCreateDatabaseUser to True to create a new user with PUBLIC permissions.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" - }, - "RoleArn": { - "minLength": 20, - "description": "

Use the RoleArn structure to allow Amazon QuickSight to call redshift:GetClusterCredentials on your cluster. The calling principal must have iam:PassRole access to pass the role to Amazon QuickSight. The role's trust policy must allow the Amazon QuickSight service principal to assume the role.

", + "Host": { "type": "string", - "maxLength": 2048, - "markdownDescription": "

Use the RoleArn structure to allow Amazon QuickSight to call redshift:GetClusterCredentials on your cluster. The calling principal must have iam:PassRole access to pass the role to Amazon QuickSight. The role's trust policy must allow the Amazon QuickSight service principal to assume the role.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nUpdate requires: No interruption" + "maxLength": 256, + "minLength": 1, + "description": "

Host.

", + "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" }, - "DatabaseGroups": { - "minItems": 1, - "maxItems": 50, - "description": "

A list of groups whose permissions will be granted to Amazon QuickSight to access the cluster. These permissions are combined with the permissions granted to Amazon QuickSight by the DatabaseUser. If you choose to include this parameter, the RoleArn must grant access to redshift:JoinGroup.

", - "type": "array", - "items": { - "minLength": 1, - "type": "string", - "maxLength": 64, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" - }, - "markdownDescription": "

A list of groups whose permissions will be granted to Amazon QuickSight to access the cluster. These permissions are combined with the permissions granted to Amazon QuickSight by the DatabaseUser. If you choose to include this parameter, the RoleArn must grant access to redshift:JoinGroup.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "Port": { + "type": "number", + "default": 0, + "maximum": 65535, + "minimum": 1, + "description": "

Port.

", + "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" } }, "required": [ - "RoleArn" + "Host", + "Port" ], - "markdownDescription": "

A structure that grants Amazon QuickSight access to your cluster and make a call to the redshift:GetClusterCredentials API. For more information on the redshift:GetClusterCredentials API, see \n GetClusterCredentials\n .

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "

The parameters for Spark.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SqlServerParameters": { - "description": "

The parameters for SQL Server.

", - "additionalProperties": false, "type": "object", + "description": "

The parameters for SQL Server.

", "properties": { + "Host": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

Host.

", + "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, "Port": { + "type": "number", "default": 0, "maximum": 65535, - "description": "

Port.

", - "type": "number", "minimum": 1, + "description": "

Port.

", "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, "Database": { - "minLength": 1, - "description": "

Database.

", "type": "string", "maxLength": 128, - "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" - }, - "Host": { "minLength": 1, - "description": "

Host.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "description": "

Database.

", + "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ @@ -952,130 +933,166 @@ "Host", "Port" ], + "additionalProperties": false, "markdownDescription": "

The parameters for SQL Server.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "CredentialPair": { - "description": "

The combination of user name and password that are used as credentials.

", - "additionalProperties": false, + "SslProperties": { "type": "object", + "description": "

Secure Socket Layer (SSL) properties that apply when Amazon QuickSight connects to your\n underlying data source.

", "properties": { - "AlternateDataSourceParameters": { - "minItems": 1, - "maxItems": 50, - "description": "

A set of alternate data source parameters that you want to share for these\n credentials. The credentials are applied in tandem with the data source parameters when\n you copy a data source by using a create or update request. The API operation compares\n the DataSourceParameters structure that's in the request with the\n structures in the AlternateDataSourceParameters allow list. If the\n structures are an exact match, the request is allowed to use the new data source with\n the existing credentials. If the AlternateDataSourceParameters list is\n null, the DataSourceParameters originally used with these\n Credentials is automatically allowed.

", - "type": "array", - "items": { - "$ref": "#/definitions/DataSourceParameters" - }, - "markdownDescription": "

A set of alternate data source parameters that you want to share for these\n credentials. The credentials are applied in tandem with the data source parameters when\n you copy a data source by using a create or update request. The API operation compares\n the DataSourceParameters structure that's in the request with the\n structures in the AlternateDataSourceParameters allow list. If the\n structures are an exact match, the request is allowed to use the new data source with\n the existing credentials. If the AlternateDataSourceParameters list is\n null, the DataSourceParameters originally used with these\n Credentials is automatically allowed.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Username": { - "minLength": 1, - "description": "

User name.

", - "type": "string", - "maxLength": 64, - "markdownDescription": "

User name.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" - }, - "Password": { - "minLength": 1, - "description": "

Password.

", - "type": "string", - "maxLength": 1024, - "markdownDescription": "

Password.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + "DisableSsl": { + "type": "boolean", + "default": false, + "description": "

A Boolean option to control whether SSL should be disabled.

", + "markdownDescription": "

A Boolean option to control whether SSL should be disabled.

\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, - "required": [ - "Password", - "Username" - ], - "markdownDescription": "

The combination of user name and password that are used as credentials.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "PostgreSqlParameters": { - "description": "

The parameters for PostgreSQL.

", "additionalProperties": false, + "markdownDescription": "

Secure Socket Layer (SSL) properties that apply when Amazon QuickSight connects to your\n underlying data source.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StarburstParameters": { "type": "object", + "description": "

The parameters that are required to connect to a Starburst data source.

", "properties": { + "Host": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

The host name of the Starburst data source.

", + "markdownDescription": "

The host name of the Starburst data source.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, "Port": { + "type": "number", "default": 0, "maximum": 65535, - "description": "

Port.

", - "type": "number", "minimum": 1, - "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "description": "

The port for the Starburst data source.

", + "markdownDescription": "

The port for the Starburst data source.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, - "Database": { - "minLength": 1, - "description": "

Database.

", + "Catalog": { "type": "string", "maxLength": 128, - "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "minLength": 0, + "description": "

The catalog name for the Starburst data source.

", + "markdownDescription": "

The catalog name for the Starburst data source.

\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" }, - "Host": { - "minLength": 1, - "description": "

Host.

", + "ProductType": { + "$ref": "#/definitions/StarburstProductType" + }, + "DatabaseAccessControlRole": { "type": "string", - "maxLength": 256, - "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "maxLength": 128, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "AuthenticationType": { + "$ref": "#/definitions/AuthenticationType" + }, + "OAuthParameters": { + "$ref": "#/definitions/OAuthParameters" } }, "required": [ - "Database", + "Catalog", "Host", "Port" ], - "markdownDescription": "

The parameters for PostgreSQL.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "

The parameters that are required to connect to a Starburst data source.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StarburstProductType": { + "type": "string", + "enum": [ + "GALAXY", + "ENTERPRISE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: GALAXY | ENTERPRISE \nUpdate requires: No interruption" }, "Tag": { - "description": "

The key or keys of the key-value pairs for the resource tag or tags assigned to the\n resource.

", - "additionalProperties": false, "type": "object", + "description": "

The key or keys of the key-value pairs for the resource tag or tags assigned to the\n resource.

", "properties": { - "Value": { - "minLength": 1, - "description": "

Tag value.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

Tag value.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" - }, "Key": { - "minLength": 1, - "description": "

Tag key.

", "type": "string", "maxLength": 128, + "minLength": 1, + "description": "

Tag key.

", "markdownDescription": "

Tag key.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

Tag value.

", + "markdownDescription": "

Tag value.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" } }, "required": [ "Key", "Value" ], + "additionalProperties": false, "markdownDescription": "

The key or keys of the key-value pairs for the resource tag or tags assigned to the\n resource.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TrinoParameters": { - "description": "

The parameters that are required to connect to a Trino data source.

", - "additionalProperties": false, + "TeradataParameters": { "type": "object", + "description": "

The parameters for Teradata.

", "properties": { + "Host": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

Host.

", + "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, "Port": { + "type": "number", "default": 0, "maximum": 65535, - "description": "

The port for the Trino data source.

", - "type": "number", "minimum": 1, - "markdownDescription": "

The port for the Trino data source.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "description": "

Port.

", + "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, - "Host": { + "Database": { + "type": "string", + "maxLength": 128, "minLength": 1, - "description": "

The host name of the Trino data source.

", + "description": "

Database.

", + "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "additionalProperties": false, + "markdownDescription": "

The parameters for Teradata.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TrinoParameters": { + "type": "object", + "description": "

The parameters that are required to connect to a Trino data source.

", + "properties": { + "Host": { "type": "string", "maxLength": 256, + "minLength": 1, + "description": "

The host name of the Trino data source.

", "markdownDescription": "

The host name of the Trino data source.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" }, + "Port": { + "type": "number", + "default": 0, + "maximum": 65535, + "minimum": 1, + "description": "

The port for the Trino data source.

", + "markdownDescription": "

The port for the Trino data source.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, "Catalog": { - "minLength": 0, - "description": "

The catalog name for the Trino data source.

", "type": "string", "maxLength": 128, + "minLength": 0, + "description": "

The catalog name for the Trino data source.

", "markdownDescription": "

The catalog name for the Trino data source.

\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" } }, @@ -1084,132 +1101,194 @@ "Host", "Port" ], + "additionalProperties": false, "markdownDescription": "

The parameters that are required to connect to a Trino data source.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "DatabricksParameters": { - "description": "

The parameters that are required to connect to a Databricks data source.

", - "additionalProperties": false, + "VpcConnectionProperties": { "type": "object", + "description": "

VPC connection properties.

", "properties": { - "Port": { - "default": 0, - "maximum": 65535, - "description": "

The port for the Databricks data source.

", - "type": "number", - "minimum": 1, - "markdownDescription": "

The port for the Databricks data source.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" - }, - "Host": { - "minLength": 1, - "description": "

The host name of the Databricks data source.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

The host name of the Databricks data source.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" - }, - "SqlEndpointPath": { - "minLength": 1, - "description": "

The HTTP path of the Databricks data source.

", + "VpcConnectionArn": { "type": "string", - "maxLength": 4096, - "markdownDescription": "

The HTTP path of the Databricks data source.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 4096 \nUpdate requires: No interruption" + "description": "

The Amazon Resource Name (ARN) for the VPC connection.

", + "markdownDescription": "

The Amazon Resource Name (ARN) for the VPC connection.

\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "Host", - "Port", - "SqlEndpointPath" + "VpcConnectionArn" ], - "markdownDescription": "

The parameters that are required to connect to a Databricks data source.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "

VPC connection properties.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "required": [ - "Name", - "Type" - ], "properties": { - "ErrorInfo": { - "$ref": "#/definitions/DataSourceErrorInfo" + "AlternateDataSourceParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/DataSourceParameters" + }, + "maxItems": 50, + "minItems": 1, + "description": "

A set of alternate data source parameters that you want to share for the credentials\n stored with this data source. The credentials are applied in tandem with the data source\n parameters when you copy a data source by using a create or update request. The API\n operation compares the DataSourceParameters structure that's in the request\n with the structures in the AlternateDataSourceParameters allow list. If the\n structures are an exact match, the request is allowed to use the credentials from this\n existing data source. If the AlternateDataSourceParameters list is null,\n the Credentials originally used with this DataSourceParameters\n are automatically allowed.

", + "markdownDescription": "

A set of alternate data source parameters that you want to share for the credentials\n stored with this data source. The credentials are applied in tandem with the data source\n parameters when you copy a data source by using a create or update request. The API\n operation compares the DataSourceParameters structure that's in the request\n with the structures in the AlternateDataSourceParameters allow list. If the\n structures are an exact match, the request is allowed to use the credentials from this\n existing data source. If the AlternateDataSourceParameters list is null,\n the Credentials originally used with this DataSourceParameters\n are automatically allowed.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Name": { - "minLength": 1, + "AwsAccountId": { "type": "string", - "maxLength": 128, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "maxLength": 12, + "minLength": 12, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 12 \nMaximum Length: 12 \nPattern: ^[0-9]{12}$ \nUpdate requires: Replacement" + }, + "Credentials": { + "$ref": "#/definitions/DataSourceCredentials" + }, + "DataSourceId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "DataSourceParameters": { "$ref": "#/definitions/DataSourceParameters" }, - "Type": { - "$ref": "#/definitions/DataSourceType" - }, - "VpcConnectionProperties": { - "$ref": "#/definitions/VpcConnectionProperties" + "ErrorInfo": { + "$ref": "#/definitions/DataSourceErrorInfo" }, - "AlternateDataSourceParameters": { - "minItems": 1, - "maxItems": 50, - "description": "

A set of alternate data source parameters that you want to share for the credentials\n stored with this data source. The credentials are applied in tandem with the data source\n parameters when you copy a data source by using a create or update request. The API\n operation compares the DataSourceParameters structure that's in the request\n with the structures in the AlternateDataSourceParameters allow list. If the\n structures are an exact match, the request is allowed to use the credentials from this\n existing data source. If the AlternateDataSourceParameters list is null,\n the Credentials originally used with this DataSourceParameters\n are automatically allowed.

", + "FolderArns": { "type": "array", "items": { - "$ref": "#/definitions/DataSourceParameters" + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "

A set of alternate data source parameters that you want to share for the credentials\n stored with this data source. The credentials are applied in tandem with the data source\n parameters when you copy a data source by using a create or update request. The API\n operation compares the DataSourceParameters structure that's in the request\n with the structures in the AlternateDataSourceParameters allow list. If the\n structures are an exact match, the request is allowed to use the credentials from this\n existing data source. If the AlternateDataSourceParameters list is null,\n the Credentials originally used with this DataSourceParameters\n are automatically allowed.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "maxItems": 10, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "AwsAccountId": { - "minLength": 12, + "Name": { "type": "string", - "maxLength": 12, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 12 \nMaximum Length: 12 \nPattern: ^[0-9]{12}$ \nUpdate requires: Replacement" + "maxLength": 128, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, "Permissions": { - "minItems": 1, - "maxItems": 64, "type": "array", "items": { "$ref": "#/definitions/ResourcePermission" }, + "maxItems": 64, + "minItems": 1, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "SslProperties": { "$ref": "#/definitions/SslProperties" }, - "Credentials": { - "$ref": "#/definitions/DataSourceCredentials" - }, - "DataSourceId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, "Tags": { - "minItems": 1, - "maxItems": 200, "type": "array", "items": { "$ref": "#/definitions/Tag" }, + "maxItems": 200, + "minItems": 1, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Type": { + "$ref": "#/definitions/DataSourceType" + }, + "VpcConnectionProperties": { + "$ref": "#/definitions/VpcConnectionProperties" + } + }, + "required": [ + "Name", + "Type" + ], + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreatedTime", + "/properties/LastUpdatedTime", + "/properties/Status" + ], + "writeOnlyProperties": [ + "/properties/Credentials", + "/properties/FolderArns" + ], + "createOnlyProperties": [ + "/properties/AwsAccountId", + "/properties/DataSourceId", + "/properties/Type" + ], + "primaryIdentifier": [ + "/properties/AwsAccountId", + "/properties/DataSourceId" + ], + "handlers": { + "read": { + "permissions": [ + "quicksight:DescribeDataSource", + "quicksight:DescribeDataSourcePermissions", + "quicksight:ListTagsForResource" + ] + }, + "create": { + "permissions": [ + "quicksight:CreateDataSource", + "quicksight:DescribeDataSource", + "quicksight:DescribeDataSourcePermissions", + "quicksight:TagResource", + "quicksight:ListTagsForResource", + "quicksight:CreateFolderMembership", + "quicksight:DeleteFolderMembership", + "quicksight:ListFoldersForResource" + ] + }, + "update": { + "permissions": [ + "quicksight:DescribeDataSource", + "quicksight:DescribeDataSourcePermissions", + "quicksight:UpdateDataSource", + "quicksight:UpdateDataSourcePermissions", + "quicksight:CreateFolderMembership", + "quicksight:DeleteFolderMembership", + "quicksight:ListFoldersForResource", + "quicksight:TagResource", + "quicksight:UntagResource", + "quicksight:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "quicksight:DescribeDataSource", + "quicksight:DescribeDataSourcePermissions", + "quicksight:DeleteDataSource", + "quicksight:ListTagsForResource" + ] + }, + "list": { + "permissions": [ + "quicksight:DescribeDataSource", + "quicksight:ListDataSources" + ] } }, + "additionalProperties": false, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-quicksight", "attributes": { - "Status": { - "$ref": "#/definitions/ResourceStatus" + "Arn": { + "type": "string", + "description": "

The Amazon Resource Name (ARN) of the data source.

", + "markdownDescription": "

The Amazon Resource Name (ARN) of the data source.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "CreatedTime": { - "format": "date-time", - "description": "

The time that this data source was created.

", "type": "string", + "description": "

The time that this data source was created.

", + "format": "date-time", "markdownDescription": "

The time that this data source was created.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "LastUpdatedTime": { - "format": "date-time", - "description": "

The last time that this data source was updated.

", "type": "string", + "description": "

The last time that this data source was updated.

", + "format": "date-time", "markdownDescription": "

The last time that this data source was updated.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Arn": { - "description": "

The Amazon Resource Name (ARN) of the data source.

", - "type": "string", - "markdownDescription": "

The Amazon Resource Name (ARN) of the data source.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "Status": { + "$ref": "#/definitions/ResourceStatus" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-quicksight-template.json b/server/schema/resources/aws-quicksight-template.json index e13f8083..57d45fa3 100644 --- a/server/schema/resources/aws-quicksight-template.json +++ b/server/schema/resources/aws-quicksight-template.json @@ -106,9 +106,7 @@ "TotalCellStyle": { "$ref": "#/definitions/TableCellStyle" }, - "TotalsVisibility": { - "$ref": "#/definitions/Visibility" - }, + "TotalsVisibility": {}, "MetricHeaderCellStyle": { "$ref": "#/definitions/TableCellStyle" } @@ -180,9 +178,7 @@ "Symbol": { "$ref": "#/definitions/NumericSeparatorSymbol" }, - "Visibility": { - "$ref": "#/definitions/Visibility" - } + "Visibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -372,9 +368,7 @@ "LineStyle": { "$ref": "#/definitions/LineChartLineStyle" }, - "LineVisibility": { - "$ref": "#/definitions/Visibility" - }, + "LineVisibility": {}, "LineWidth": { "description": "String based length that is composed of value and unit in px", "type": "string", @@ -478,6 +472,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -540,9 +540,7 @@ "additionalProperties": false, "type": "object", "properties": { - "MissingDateVisibility": { - "$ref": "#/definitions/Visibility" - } + "MissingDateVisibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -603,6 +601,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -633,12 +637,8 @@ "type": "string", "markdownDescription": "String based length that is composed of value and unit in px\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "AxisLineVisibility": { - "$ref": "#/definitions/Visibility" - }, - "GridLineVisibility": { - "$ref": "#/definitions/Visibility" - }, + "AxisLineVisibility": {}, + "GridLineVisibility": {}, "ScrollbarOptions": { "$ref": "#/definitions/ScrollBarOptions" } @@ -655,9 +655,7 @@ "maxLength": 512, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nUpdate requires: No interruption" }, - "Visibility": { - "$ref": "#/definitions/Visibility" - }, + "Visibility": {}, "FieldValue": { "minLength": 0, "type": "string", @@ -770,6 +768,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -946,6 +950,42 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "LayerMapVisual": { + "additionalProperties": false, + "type": "object", + "properties": { + "Subtitle": { + "$ref": "#/definitions/VisualSubtitleLabelOptions" + }, + "VisualId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + }, + "ChartConfiguration": {}, + "DataSetIdentifier": { + "minLength": 1, + "type": "string", + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "Title": { + "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + } + }, + "required": [ + "DataSetIdentifier", + "VisualId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "RelativeDateType": { "type": "string", "enum": [ @@ -1026,6 +1066,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -1309,6 +1355,42 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PluginVisual": { + "additionalProperties": false, + "type": "object", + "properties": { + "Subtitle": { + "$ref": "#/definitions/VisualSubtitleLabelOptions" + }, + "PluginArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "VisualId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + }, + "ChartConfiguration": { + "$ref": "#/definitions/PluginVisualConfiguration" + }, + "Title": { + "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + } + }, + "required": [ + "PluginArn", + "VisualId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "BoxPlotFillStyle": { "type": "string", "enum": [ @@ -1317,6 +1399,16 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SOLID | TRANSPARENT \nUpdate requires: No interruption" }, + "ImageInteractionOptions": { + "additionalProperties": false, + "type": "object", + "properties": { + "ImageMenuOption": { + "$ref": "#/definitions/ImageMenuOption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "DataLabelType": { "additionalProperties": false, "type": "object", @@ -1351,9 +1443,7 @@ "additionalProperties": false, "type": "object", "properties": { - "Visibility": { - "$ref": "#/definitions/Visibility" - } + "Visibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -1455,6 +1545,16 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "SheetImageSource": { + "additionalProperties": false, + "type": "object", + "properties": { + "SheetImageStaticFileSource": { + "$ref": "#/definitions/SheetImageStaticFileSource" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "FilterDateTimePickerControl": { "additionalProperties": false, "type": "object", @@ -1504,6 +1604,43 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: AUTO | RIGHT | BOTTOM | TOP \nUpdate requires: No interruption" }, + "PluginVisualFieldWell": { + "additionalProperties": false, + "type": "object", + "properties": { + "Unaggregated": { + "minItems": 0, + "maxItems": 200, + "type": "array", + "items": { + "$ref": "#/definitions/UnaggregatedField" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AxisName": { + "$ref": "#/definitions/PluginVisualAxisName" + }, + "Measures": { + "minItems": 0, + "maxItems": 200, + "type": "array", + "items": { + "$ref": "#/definitions/MeasureField" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Dimensions": { + "minItems": 0, + "maxItems": 200, + "type": "array", + "items": { + "$ref": "#/definitions/DimensionField" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "KPIVisualLayoutOptions": { "additionalProperties": false, "type": "object", @@ -1545,9 +1682,7 @@ "maxLength": 1024, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" }, - "Visibility": { - "$ref": "#/definitions/Visibility" - } + "Visibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -1643,9 +1778,7 @@ "maxLength": 512, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nUpdate requires: No interruption" }, - "Visibility": { - "$ref": "#/definitions/Visibility" - }, + "Visibility": {}, "Width": { "description": "String based length that is composed of value and unit in px", "type": "string", @@ -1719,9 +1852,7 @@ "additionalProperties": false, "type": "object", "properties": { - "Visibility": { - "$ref": "#/definitions/Visibility" - }, + "Visibility": {}, "FormatText": { "$ref": "#/definitions/LongFormatText" } @@ -2344,27 +2475,19 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "MeasureLabelVisibility": { - "$ref": "#/definitions/Visibility" - }, + "MeasureLabelVisibility": {}, "Position": { "$ref": "#/definitions/DataLabelPosition" }, "LabelContent": { "$ref": "#/definitions/DataLabelContent" }, - "Visibility": { - "$ref": "#/definitions/Visibility" - }, - "TotalsVisibility": { - "$ref": "#/definitions/Visibility" - }, + "Visibility": {}, + "TotalsVisibility": {}, "Overlap": { "$ref": "#/definitions/DataLabelOverlap" }, - "CategoryLabelVisibility": { - "$ref": "#/definitions/Visibility" - }, + "CategoryLabelVisibility": {}, "LabelColor": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}$ \nUpdate requires: No interruption" @@ -2489,6 +2612,17 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" }, + "SheetImageTooltipConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "Visibility": {}, + "TooltipText": { + "$ref": "#/definitions/SheetImageTooltipText" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "SheetControlSliderType": { "type": "string", "enum": [ @@ -2597,12 +2731,8 @@ "additionalProperties": false, "type": "object", "properties": { - "OverflowColumnHeaderVisibility": { - "$ref": "#/definitions/Visibility" - }, - "VerticalOverflowVisibility": { - "$ref": "#/definitions/Visibility" - } + "OverflowColumnHeaderVisibility": {}, + "VerticalOverflowVisibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -2649,12 +2779,8 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}$ \nUpdate requires: No interruption" }, - "TooltipVisibility": { - "$ref": "#/definitions/Visibility" - }, - "Visibility": { - "$ref": "#/definitions/Visibility" - } + "TooltipVisibility": {}, + "Visibility": {} }, "required": [ "Type" @@ -2795,9 +2921,7 @@ "additionalProperties": false, "type": "object", "properties": { - "Visibility": { - "$ref": "#/definitions/Visibility" - } + "Visibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -2957,9 +3081,7 @@ "VisibleRange": { "$ref": "#/definitions/VisibleRangeOptions" }, - "Visibility": { - "$ref": "#/definitions/Visibility" - } + "Visibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -3457,6 +3579,12 @@ }, "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ @@ -3509,6 +3637,12 @@ }, "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ @@ -3516,6 +3650,18 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PluginVisualItemsLimitConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "ItemsLimit": { + "default": null, + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "GridLayoutElement": { "additionalProperties": false, "type": "object", @@ -3577,9 +3723,7 @@ "type": "string", "markdownDescription": "String based length that is composed of value and unit in px\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "Visibility": { - "$ref": "#/definitions/Visibility" - }, + "Visibility": {}, "RenderingRules": { "minItems": 0, "maxItems": 10000, @@ -3936,6 +4080,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -3991,12 +4141,20 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" }, - "Visibility": { - "$ref": "#/definitions/Visibility" - } + "Visibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "SheetImageScalingType": { + "type": "string", + "enum": [ + "SCALE_TO_WIDTH", + "SCALE_TO_HEIGHT", + "SCALE_TO_CONTAINER", + "SCALE_NONE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SCALE_TO_WIDTH | SCALE_TO_HEIGHT | SCALE_TO_CONTAINER | SCALE_NONE \nUpdate requires: No interruption" + }, "BoxPlotFieldWells": { "additionalProperties": false, "type": "object", @@ -4031,9 +4189,7 @@ "additionalProperties": false, "type": "object", "properties": { - "Visibility": { - "$ref": "#/definitions/Visibility" - } + "Visibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -4088,13 +4244,24 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "PanelTitleOptions": { + "StaticFile": { "additionalProperties": false, "type": "object", "properties": { - "Visibility": { - "$ref": "#/definitions/Visibility" + "ImageStaticFile": { + "$ref": "#/definitions/ImageStaticFile" }, + "SpatialStaticFile": { + "$ref": "#/definitions/SpatialStaticFile" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PanelTitleOptions": { + "additionalProperties": false, + "type": "object", + "properties": { + "Visibility": {}, "FontConfiguration": { "$ref": "#/definitions/FontConfiguration" }, @@ -4212,6 +4379,16 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "SheetImageScalingConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "ScalingType": { + "$ref": "#/definitions/SheetImageScalingType" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "FreeFormLayoutElementBorderStyle": { "additionalProperties": false, "type": "object", @@ -4220,9 +4397,7 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" }, - "Visibility": { - "$ref": "#/definitions/Visibility" - } + "Visibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -4303,6 +4478,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -4490,6 +4671,25 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ImageStaticFile": { + "additionalProperties": false, + "type": "object", + "properties": { + "StaticFileId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + }, + "Source": { + "$ref": "#/definitions/StaticFileSource" + } + }, + "required": [ + "StaticFileId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "PivotFieldSortOptions": { "additionalProperties": false, "type": "object", @@ -4588,6 +4788,16 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ICON_ONLY \nUpdate requires: No interruption" }, + "GeospatialPolygonStyle": { + "additionalProperties": false, + "type": "object", + "properties": { + "PolygonSymbolStyle": { + "$ref": "#/definitions/GeospatialPolygonSymbolStyle" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "KPIProgressBarConditionalFormatting": { "additionalProperties": false, "type": "object", @@ -4798,6 +5008,28 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PluginVisualConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "SortConfiguration": { + "$ref": "#/definitions/PluginVisualSortConfiguration" + }, + "VisualOptions": { + "$ref": "#/definitions/PluginVisualOptions" + }, + "FieldWells": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/definitions/PluginVisualFieldWell" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "FilterCrossSheetControl": { "additionalProperties": false, "type": "object", @@ -4879,16 +5111,43 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "HorizontalTextAlignment": { - "type": "string", - "enum": [ - "LEFT", - "CENTER", + "GeospatialPointStyle": { + "additionalProperties": false, + "type": "object", + "properties": { + "CircleSymbolStyle": {} + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "HorizontalTextAlignment": { + "type": "string", + "enum": [ + "LEFT", + "CENTER", "RIGHT", "AUTO" ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: LEFT | CENTER | RIGHT | AUTO \nUpdate requires: No interruption" }, + "LayerCustomActionOperation": { + "additionalProperties": false, + "type": "object", + "properties": { + "NavigationOperation": { + "$ref": "#/definitions/CustomActionNavigationOperation" + }, + "SetParametersOperation": { + "$ref": "#/definitions/CustomActionSetParametersOperation" + }, + "FilterOperation": { + "$ref": "#/definitions/CustomActionFilterOperation" + }, + "URLOperation": { + "$ref": "#/definitions/CustomActionURLOperation" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "DecimalPlacesConfiguration": { "additionalProperties": false, "type": "object", @@ -4987,9 +5246,7 @@ "additionalProperties": false, "type": "object", "properties": { - "Visibility": { - "$ref": "#/definitions/Visibility" - } + "Visibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -4997,9 +5254,7 @@ "additionalProperties": false, "type": "object", "properties": { - "LabelVisibility": { - "$ref": "#/definitions/Visibility" - } + "LabelVisibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -5223,6 +5478,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -5559,9 +5820,7 @@ "additionalProperties": false, "type": "object", "properties": { - "Visibility": { - "$ref": "#/definitions/Visibility" - } + "Visibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -5583,9 +5842,7 @@ "additionalProperties": false, "type": "object", "properties": { - "Visibility": { - "$ref": "#/definitions/Visibility" - } + "Visibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -5665,9 +5922,7 @@ "TotalCellStyle": { "$ref": "#/definitions/TableCellStyle" }, - "TotalsVisibility": { - "$ref": "#/definitions/Visibility" - }, + "TotalsVisibility": {}, "FieldLevel": { "$ref": "#/definitions/PivotTableSubtotalLevel" }, @@ -5690,12 +5945,8 @@ "additionalProperties": false, "type": "object", "properties": { - "OverflowColumnHeaderVisibility": { - "$ref": "#/definitions/Visibility" - }, - "VerticalOverflowVisibility": { - "$ref": "#/definitions/Visibility" - } + "OverflowColumnHeaderVisibility": {}, + "VerticalOverflowVisibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -5866,6 +6117,19 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialPolygonLayer": { + "additionalProperties": false, + "type": "object", + "properties": { + "Style": { + "$ref": "#/definitions/GeospatialPolygonStyle" + } + }, + "required": [ + "Style" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "RelativeFontSize": { "type": "string", "enum": [ @@ -5893,6 +6157,19 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "StaticFileSource": { + "additionalProperties": false, + "type": "object", + "properties": { + "UrlOptions": { + "$ref": "#/definitions/StaticFileUrlSourceOptions" + }, + "S3Options": { + "$ref": "#/definitions/StaticFileS3SourceOptions" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "LineChartLineStyle": { "type": "string", "enum": [ @@ -6043,6 +6320,25 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PluginVisualTableQuerySort": { + "additionalProperties": false, + "type": "object", + "properties": { + "ItemsLimitConfiguration": { + "$ref": "#/definitions/PluginVisualItemsLimitConfiguration" + }, + "RowSort": { + "minItems": 0, + "maxItems": 100, + "type": "array", + "items": { + "$ref": "#/definitions/FieldSortOptions" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ParameterDateTimePickerControl": { "additionalProperties": false, "type": "object", @@ -6076,6 +6372,14 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PluginVisualAxisName": { + "type": "string", + "enum": [ + "GROUP_BY", + "VALUE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: GROUP_BY | VALUE \nUpdate requires: No interruption" + }, "TreeMapSortConfiguration": { "additionalProperties": false, "type": "object", @@ -6164,6 +6468,14 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ImageMenuOption": { + "additionalProperties": false, + "type": "object", + "properties": { + "AvailabilityStatus": {} + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "CategoryDrillDownFilter": { "additionalProperties": false, "type": "object", @@ -6268,6 +6580,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -6341,6 +6659,12 @@ }, "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ @@ -6504,18 +6828,12 @@ "additionalProperties": false, "type": "object", "properties": { - "MeasureLabelVisibility": { - "$ref": "#/definitions/Visibility" - }, + "MeasureLabelVisibility": {}, "Position": { "$ref": "#/definitions/DataLabelPosition" }, - "Visibility": { - "$ref": "#/definitions/Visibility" - }, - "CategoryLabelVisibility": { - "$ref": "#/definitions/Visibility" - }, + "Visibility": {}, + "CategoryLabelVisibility": {}, "LabelColor": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}$ \nUpdate requires: No interruption" @@ -6541,9 +6859,7 @@ "additionalProperties": false, "type": "object", "properties": { - "Visibility": { - "$ref": "#/definitions/Visibility" - } + "Visibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -6681,6 +6997,15 @@ "maxLength": 512, "markdownDescription": "

The unique identifier associated with a sheet.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" }, + "Images": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/definitions/SheetImage" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "Name": { "minLength": 1, "description": "

The name of a sheet. This name is displayed on the sheet's tab in the Amazon QuickSight\n console.

", @@ -6773,6 +7098,19 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialNullDataSettings": { + "additionalProperties": false, + "type": "object", + "properties": { + "SymbolStyle": { + "$ref": "#/definitions/GeospatialNullSymbolStyle" + } + }, + "required": [ + "SymbolStyle" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "SingleAxisOptions": { "additionalProperties": false, "type": "object", @@ -6845,6 +7183,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -6874,12 +7218,8 @@ "additionalProperties": false, "type": "object", "properties": { - "Visibility": { - "$ref": "#/definitions/Visibility" - }, - "SortIconVisibility": { - "$ref": "#/definitions/Visibility" - }, + "Visibility": {}, + "SortIconVisibility": {}, "AxisLabelOptions": { "minItems": 0, "maxItems": 100, @@ -7131,9 +7471,10 @@ "VISUAL", "FILTER_CONTROL", "PARAMETER_CONTROL", - "TEXT_BOX" + "TEXT_BOX", + "IMAGE" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VISUAL | FILTER_CONTROL | PARAMETER_CONTROL | TEXT_BOX \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VISUAL | FILTER_CONTROL | PARAMETER_CONTROL | TEXT_BOX | IMAGE \nUpdate requires: No interruption" }, "WaterfallVisual": { "additionalProperties": false, @@ -7163,6 +7504,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -7232,9 +7579,7 @@ "RowHeaderStyle": { "$ref": "#/definitions/TableCellStyle" }, - "CollapsedRowDimensionsVisibility": { - "$ref": "#/definitions/Visibility" - }, + "CollapsedRowDimensionsVisibility": {}, "RowsLayout": { "$ref": "#/definitions/PivotTableRowsLayout" }, @@ -7246,21 +7591,15 @@ "type": "string", "markdownDescription": "String based length that is composed of value and unit in px\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ColumnNamesVisibility": { - "$ref": "#/definitions/Visibility" - }, + "ColumnNamesVisibility": {}, "RowsLabelOptions": { "$ref": "#/definitions/PivotTableRowsLabelOptions" }, - "SingleMetricVisibility": { - "$ref": "#/definitions/Visibility" - }, + "SingleMetricVisibility": {}, "ColumnHeaderStyle": { "$ref": "#/definitions/TableCellStyle" }, - "ToggleButtonsVisibility": { - "$ref": "#/definitions/Visibility" - }, + "ToggleButtonsVisibility": {}, "CellStyle": { "$ref": "#/definitions/TableCellStyle" }, @@ -7456,6 +7795,22 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISCRETE | GRADIENT \nUpdate requires: No interruption" }, + "SheetImageStaticFileSource": { + "additionalProperties": false, + "type": "object", + "properties": { + "StaticFileId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + } + }, + "required": [ + "StaticFileId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TableFieldCustomIconContent": { "additionalProperties": false, "type": "object", @@ -7483,9 +7838,7 @@ "additionalProperties": false, "type": "object", "properties": { - "Visibility": { - "$ref": "#/definitions/Visibility" - }, + "Visibility": {}, "InfoIconText": { "minLength": 1, "type": "string", @@ -7856,6 +8209,12 @@ }, "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ @@ -8088,9 +8447,7 @@ "additionalProperties": false, "type": "object", "properties": { - "Visibility": { - "$ref": "#/definitions/Visibility" - } + "Visibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -8110,6 +8467,22 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialSolidColor": { + "description": "Describes the properties for a solid color", + "additionalProperties": false, + "type": "object", + "properties": { + "State": {}, + "Color": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Color" + ], + "markdownDescription": "Describes the properties for a solid color\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TemplateSourceTemplate": { "description": "

The source template of the template.

", "additionalProperties": false, @@ -8190,6 +8563,12 @@ }, "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ @@ -8257,9 +8636,7 @@ "additionalProperties": false, "type": "object", "properties": { - "Visibility": { - "$ref": "#/definitions/Visibility" - } + "Visibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -8270,12 +8647,13 @@ "Position": { "$ref": "#/definitions/LegendPosition" }, + "ValueFontConfiguration": { + "$ref": "#/definitions/FontConfiguration" + }, "Title": { "$ref": "#/definitions/LabelOptions" }, - "Visibility": { - "$ref": "#/definitions/Visibility" - }, + "Visibility": {}, "Height": { "description": "String based length that is composed of value and unit in px", "type": "string", @@ -8336,6 +8714,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -8553,9 +8937,7 @@ "VerticalTextAlignment": { "$ref": "#/definitions/VerticalTextAlignment" }, - "Visibility": { - "$ref": "#/definitions/Visibility" - }, + "Visibility": {}, "Height": { "maximum": 500, "type": "number", @@ -8703,9 +9085,7 @@ "additionalProperties": false, "type": "object", "properties": { - "Visibility": { - "$ref": "#/definitions/Visibility" - } + "Visibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -8735,9 +9115,7 @@ "TotalCellStyle": { "$ref": "#/definitions/TableCellStyle" }, - "TotalsVisibility": { - "$ref": "#/definitions/Visibility" - } + "TotalsVisibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -8812,9 +9190,7 @@ "additionalProperties": false, "type": "object", "properties": { - "Visibility": { - "$ref": "#/definitions/Visibility" - } + "Visibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -8886,6 +9262,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -9110,6 +9492,35 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PluginVisualOptions": { + "additionalProperties": false, + "type": "object", + "properties": { + "VisualProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/PluginVisualProperty" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PluginVisualProperty": { + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "HistogramBinOptions": { "additionalProperties": false, "type": "object", @@ -9266,6 +9677,15 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "Images": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/definitions/SheetImage" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "SheetControlLayouts": { "minItems": 0, "maxItems": 1, @@ -9516,6 +9936,16 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PluginVisualSortConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "PluginVisualTableQuerySort": { + "$ref": "#/definitions/PluginVisualTableQuerySort" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "CategoricalMeasureField": { "additionalProperties": false, "type": "object", @@ -9546,9 +9976,7 @@ "additionalProperties": false, "type": "object", "properties": { - "Visibility": { - "$ref": "#/definitions/Visibility" - } + "Visibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -9604,9 +10032,7 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Visibility": { - "$ref": "#/definitions/Visibility" - }, + "Visibility": {}, "FontConfiguration": { "$ref": "#/definitions/FontConfiguration" } @@ -9720,9 +10146,7 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Visibility": { - "$ref": "#/definitions/Visibility" - } + "Visibility": {} }, "required": [ "FieldId" @@ -9766,9 +10190,7 @@ "type": "string", "markdownDescription": "String based length that is composed of value and unit in px\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "MarkerVisibility": { - "$ref": "#/definitions/Visibility" - }, + "MarkerVisibility": {}, "MarkerColor": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}$ \nUpdate requires: No interruption" @@ -10010,6 +10432,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -10106,6 +10534,12 @@ }, "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ @@ -10144,17 +10578,61 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TextAreaControlDisplayOptions": { + "SheetImage": { "additionalProperties": false, "type": "object", "properties": { - "TitleOptions": { - "$ref": "#/definitions/LabelOptions" + "Actions": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/definitions/ImageCustomAction" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "PlaceholderOptions": { - "$ref": "#/definitions/TextControlPlaceholderOptions" + "SheetImageId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" }, - "InfoIconLabelOptions": { + "Tooltip": { + "$ref": "#/definitions/SheetImageTooltipConfiguration" + }, + "Scaling": { + "$ref": "#/definitions/SheetImageScalingConfiguration" + }, + "Interactions": { + "$ref": "#/definitions/ImageInteractionOptions" + }, + "Source": { + "$ref": "#/definitions/SheetImageSource" + }, + "ImageContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + } + }, + "required": [ + "SheetImageId", + "Source" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TextAreaControlDisplayOptions": { + "additionalProperties": false, + "type": "object", + "properties": { + "TitleOptions": { + "$ref": "#/definitions/LabelOptions" + }, + "PlaceholderOptions": { + "$ref": "#/definitions/TextControlPlaceholderOptions" + }, + "InfoIconLabelOptions": { "$ref": "#/definitions/SheetControlInfoIconLabelOptions" } }, @@ -10226,6 +10704,46 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ALL_VISUALS | SELECTED_VISUALS \nUpdate requires: No interruption" }, + "ImageCustomAction": { + "additionalProperties": false, + "type": "object", + "properties": { + "Status": { + "$ref": "#/definitions/WidgetStatus" + }, + "Trigger": { + "$ref": "#/definitions/ImageCustomActionTrigger" + }, + "CustomActionId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + }, + "Name": { + "minLength": 1, + "type": "string", + "maxLength": 256, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "ActionOperations": { + "minItems": 1, + "maxItems": 2, + "type": "array", + "items": { + "$ref": "#/definitions/ImageCustomActionOperation" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "ActionOperations", + "CustomActionId", + "Name", + "Trigger" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TopBottomMoversComputation": { "additionalProperties": false, "type": "object", @@ -10393,10 +10911,27 @@ "maxLength": 512, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nUpdate requires: No interruption" }, - "Visibility": { - "$ref": "#/definitions/Visibility" + "Visibility": {} + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SpatialStaticFile": { + "additionalProperties": false, + "type": "object", + "properties": { + "StaticFileId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + }, + "Source": { + "$ref": "#/definitions/StaticFileSource" } }, + "required": [ + "StaticFileId" + ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AxisLogarithmicScale": { @@ -10515,15 +11050,53 @@ "maxLength": 512, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nUpdate requires: No interruption" }, - "Visibility": { - "$ref": "#/definitions/Visibility" - } + "Visibility": {} }, "required": [ "FieldId" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "LayerCustomAction": { + "additionalProperties": false, + "type": "object", + "properties": { + "Status": { + "$ref": "#/definitions/WidgetStatus" + }, + "Trigger": { + "$ref": "#/definitions/LayerCustomActionTrigger" + }, + "CustomActionId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + }, + "Name": { + "minLength": 1, + "type": "string", + "maxLength": 256, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "ActionOperations": { + "minItems": 1, + "maxItems": 2, + "type": "array", + "items": { + "$ref": "#/definitions/LayerCustomActionOperation" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "ActionOperations", + "CustomActionId", + "Name", + "Trigger" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "SectionBasedLayoutConfiguration": { "additionalProperties": false, "type": "object", @@ -10701,6 +11274,19 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialPointLayer": { + "additionalProperties": false, + "type": "object", + "properties": { + "Style": { + "$ref": "#/definitions/GeospatialPointStyle" + } + }, + "required": [ + "Style" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "NumericalMeasureField": { "additionalProperties": false, "type": "object", @@ -10936,6 +11522,14 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ImageCustomActionTrigger": { + "type": "string", + "enum": [ + "CLICK", + "MENU" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CLICK | MENU \nUpdate requires: No interruption" + }, "ColumnTooltipItem": { "additionalProperties": false, "type": "object", @@ -10953,9 +11547,7 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Visibility": { - "$ref": "#/definitions/Visibility" - } + "Visibility": {} }, "required": [ "Column" @@ -11245,6 +11837,33 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "StaticFileUrlSourceOptions": { + "additionalProperties": false, + "type": "object", + "properties": { + "Url": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Url" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SheetImageTooltipText": { + "additionalProperties": false, + "type": "object", + "properties": { + "PlainText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TooltipOptions": { "additionalProperties": false, "type": "object", @@ -11252,9 +11871,7 @@ "SelectedTooltipType": { "$ref": "#/definitions/SelectedTooltipType" }, - "TooltipVisibility": { - "$ref": "#/definitions/Visibility" - }, + "TooltipVisibility": {}, "FieldBasedTooltip": { "$ref": "#/definitions/FieldBasedTooltip" } @@ -11274,9 +11891,7 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "AggregationVisibility": { - "$ref": "#/definitions/Visibility" - }, + "AggregationVisibility": {}, "TooltipTitleType": { "$ref": "#/definitions/TooltipTitleType" } @@ -11368,6 +11983,14 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: POINT | CLUSTER | HEATMAP \nUpdate requires: No interruption" }, + "LayerCustomActionTrigger": { + "type": "string", + "enum": [ + "DATA_POINT_CLICK", + "DATA_POINT_MENU" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DATA_POINT_CLICK | DATA_POINT_MENU \nUpdate requires: No interruption" + }, "ComboChartVisual": { "additionalProperties": false, "type": "object", @@ -11396,6 +12019,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -11522,6 +12151,22 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ImageCustomActionOperation": { + "additionalProperties": false, + "type": "object", + "properties": { + "NavigationOperation": { + "$ref": "#/definitions/CustomActionNavigationOperation" + }, + "SetParametersOperation": { + "$ref": "#/definitions/CustomActionSetParametersOperation" + }, + "URLOperation": { + "$ref": "#/definitions/CustomActionURLOperation" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "AllSheetsFilterScopeConfiguration": { "additionalProperties": false, "type": "object", @@ -11683,6 +12328,16 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "GeospatialPolygonSymbolStyle": { + "additionalProperties": false, + "type": "object", + "properties": { + "FillColor": {}, + "StrokeWidth": {}, + "StrokeColor": {} + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "DataSetConfiguration": { "description": "

Dataset configuration.

", "additionalProperties": false, @@ -11756,6 +12411,12 @@ "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, "ColumnHierarchies": { "minItems": 0, "maxItems": 2, @@ -11888,9 +12549,7 @@ "VisualPalette": { "$ref": "#/definitions/VisualPalette" }, - "AlternateBandColorsVisibility": { - "$ref": "#/definitions/Visibility" - }, + "AlternateBandColorsVisibility": {}, "StartAngle": { "maximum": 360, "type": "number", @@ -11921,9 +12580,7 @@ "additionalProperties": false, "type": "object", "properties": { - "Visibility": { - "$ref": "#/definitions/Visibility" - }, + "Visibility": {}, "FormatText": { "$ref": "#/definitions/ShortFormatText" } @@ -12087,6 +12744,22 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CIRCLE | TRIANGLE | SQUARE | DIAMOND | ROUNDED_SQUARE \nUpdate requires: No interruption" }, + "GeospatialStaticFileSource": { + "additionalProperties": false, + "type": "object", + "properties": { + "StaticFileId": { + "minLength": 1, + "type": "string", + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[\\w\\-]+$ \nUpdate requires: No interruption" + } + }, + "required": [ + "StaticFileId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ArcAxisDisplayRange": { "additionalProperties": false, "type": "object", @@ -12130,12 +12803,33 @@ "FunnelChartVisual": { "$ref": "#/definitions/FunnelChartVisual" }, - "FilledMapVisual": { - "$ref": "#/definitions/FilledMapVisual" - }, "BoxPlotVisual": { "$ref": "#/definitions/BoxPlotVisual" }, + "GeospatialMapVisual": { + "$ref": "#/definitions/GeospatialMapVisual" + }, + "ScatterPlotVisual": { + "$ref": "#/definitions/ScatterPlotVisual" + }, + "RadarChartVisual": { + "$ref": "#/definitions/RadarChartVisual" + }, + "ComboChartVisual": { + "$ref": "#/definitions/ComboChartVisual" + }, + "WordCloudVisual": { + "$ref": "#/definitions/WordCloudVisual" + }, + "SankeyDiagramVisual": { + "$ref": "#/definitions/SankeyDiagramVisual" + }, + "GaugeChartVisual": { + "$ref": "#/definitions/GaugeChartVisual" + }, + "FilledMapVisual": { + "$ref": "#/definitions/FilledMapVisual" + }, "WaterfallVisual": { "$ref": "#/definitions/WaterfallVisual" }, @@ -12151,45 +12845,27 @@ "HistogramVisual": { "$ref": "#/definitions/HistogramVisual" }, + "PluginVisual": { + "$ref": "#/definitions/PluginVisual" + }, "TableVisual": { "$ref": "#/definitions/TableVisual" }, "PivotTableVisual": { "$ref": "#/definitions/PivotTableVisual" }, - "GeospatialMapVisual": { - "$ref": "#/definitions/GeospatialMapVisual" - }, "BarChartVisual": { "$ref": "#/definitions/BarChartVisual" }, - "ScatterPlotVisual": { - "$ref": "#/definitions/ScatterPlotVisual" - }, - "RadarChartVisual": { - "$ref": "#/definitions/RadarChartVisual" - }, "HeatMapVisual": { "$ref": "#/definitions/HeatMapVisual" }, "TreeMapVisual": { "$ref": "#/definitions/TreeMapVisual" }, - "ComboChartVisual": { - "$ref": "#/definitions/ComboChartVisual" - }, - "WordCloudVisual": { - "$ref": "#/definitions/WordCloudVisual" - }, "InsightVisual": { "$ref": "#/definitions/InsightVisual" }, - "SankeyDiagramVisual": { - "$ref": "#/definitions/SankeyDiagramVisual" - }, - "GaugeChartVisual": { - "$ref": "#/definitions/GaugeChartVisual" - }, "LineChartVisual": { "$ref": "#/definitions/LineChartVisual" }, @@ -12251,6 +12927,12 @@ }, "Title": { "$ref": "#/definitions/VisualTitleLabelOptions" + }, + "VisualContentAltText": { + "minLength": 1, + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ @@ -12276,12 +12958,8 @@ "type": "string", "markdownDescription": "String based length that is composed of value and unit in px\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "BackgroundVisibility": { - "$ref": "#/definitions/Visibility" - }, - "BorderVisibility": { - "$ref": "#/definitions/Visibility" - }, + "BackgroundVisibility": {}, + "BorderVisibility": {}, "BorderColor": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" @@ -12289,9 +12967,7 @@ "Title": { "$ref": "#/definitions/PanelTitleOptions" }, - "GutterVisibility": { - "$ref": "#/definitions/Visibility" - }, + "GutterVisibility": {}, "BackgroundColor": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" @@ -12299,6 +12975,30 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "StaticFileS3SourceOptions": { + "additionalProperties": false, + "type": "object", + "properties": { + "BucketName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "ObjectKey": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Region": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "BucketName", + "ObjectKey", + "Region" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "SmallMultiplesOptions": { "additionalProperties": false, "type": "object", @@ -12335,6 +13035,26 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: PORTRAIT | LANDSCAPE \nUpdate requires: No interruption" }, + "GeospatialNullSymbolStyle": { + "additionalProperties": false, + "type": "object", + "properties": { + "FillColor": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" + }, + "StrokeWidth": { + "type": "number", + "minimum": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "StrokeColor": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^#[A-F0-9]{6}(?:[A-F0-9]{2})?$ \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "NumericSeparatorConfiguration": { "additionalProperties": false, "type": "object", @@ -12420,12 +13140,8 @@ "StyleOptions": { "$ref": "#/definitions/BoxPlotStyleOptions" }, - "OutlierVisibility": { - "$ref": "#/definitions/Visibility" - }, - "AllDataPointsVisibility": { - "$ref": "#/definitions/Visibility" - } + "OutlierVisibility": {}, + "AllDataPointsVisibility": {} }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, diff --git a/server/schema/resources/aws-ram-resourceshare.json b/server/schema/resources/aws-ram-resourceshare.json index 64cf54a2..f63c3ac4 100644 --- a/server/schema/resources/aws-ram-resourceshare.json +++ b/server/schema/resources/aws-ram-resourceshare.json @@ -1,97 +1,159 @@ { "typeName": "AWS::RAM::ResourceShare", - "description": "Resource Type definition for AWS::RAM::ResourceShare", - "additionalProperties": false, + "description": "Resource type definition for AWS::RAM::ResourceShare", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ram", + "definitions": { + "Tag": { + "description": "A key-value pair to associate with a resource.", + "type": "object", + "properties": { + "Key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, "properties": { + "AllowExternalPrincipals": { + "description": "Specifies whether principals outside your organization in AWS Organizations can be associated with a resource share. A value of `true` lets you share with individual AWS accounts that are not in your organization. A value of `false` only has meaning if your account is a member of an AWS Organization. The default value is `true`.", + "type": "boolean", + "markdownDescription": "Specifies whether principals outside your organization in AWS Organizations can be associated with a resource share. A value of `true` lets you share with individual AWS accounts that are not in your organization. A value of `false` only has meaning if your account is a member of an AWS Organization. The default value is `true`.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "Name": { + "description": "Specifies the name of the resource share.", + "type": "string", + "markdownDescription": "Specifies the name of the resource share.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, "PermissionArns": { + "description": "Specifies the [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the AWS RAM permission to associate with the resource share. If you do not specify an ARN for the permission, AWS RAM automatically attaches the default version of the permission for each resource type. You can associate only one permission with each resource type included in the resource share.", "type": "array", - "uniqueItems": false, + "insertionOrder": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies the [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the AWS RAM permission to associate with the resource share. If you do not specify an ARN for the permission, AWS RAM automatically attaches the default version of the permission for each resource type. You can associate only one permission with each resource type included in the resource share.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Principals": { + "description": "Specifies the principals to associate with the resource share. The possible values are:\n\n- An AWS account ID\n\n- An Amazon Resource Name (ARN) of an organization in AWS Organizations\n\n- An ARN of an organizational unit (OU) in AWS Organizations\n\n- An ARN of an IAM role\n\n- An ARN of an IAM user", "type": "array", - "uniqueItems": false, + "insertionOrder": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "AllowExternalPrincipals": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "Specifies the principals to associate with the resource share. The possible values are:\n\n- An AWS account ID\n\n- An Amazon Resource Name (ARN) of an organization in AWS Organizations\n\n- An ARN of an organizational unit (OU) in AWS Organizations\n\n- An ARN of an IAM role\n\n- An ARN of an IAM user\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "ResourceArns": { + "description": "Specifies a list of one or more ARNs of the resources to associate with the resource share.", "type": "array", - "uniqueItems": false, + "insertionOrder": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies a list of one or more ARNs of the resources to associate with the resource share.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Sources": { + "description": "Specifies from which source accounts the service principal has access to the resources in this resource share.", "type": "array", - "uniqueItems": false, + "insertionOrder": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies from which source accounts the service principal has access to the resources in this resource share.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Tags": { + "description": "Specifies one or more tags to attach to the resource share itself. It doesn't attach the tags to the resources associated with the resource share.", "type": "array", - "uniqueItems": false, + "uniqueItems": true, + "insertionOrder": false, "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Name": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - } - }, - "definitions": { - "Tag": { - "type": "object", - "additionalProperties": false, - "properties": { - "Value": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "Key": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - } - }, - "required": [ - "Value", - "Key" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies one or more tags to attach to the resource share itself. It doesn't attach the tags to the resources associated with the resource share.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, + "additionalProperties": false, "required": [ "Name" ], - "primaryIdentifier": [ - "/properties/Id" - ], "readOnlyProperties": [ - "/properties/Id", "/properties/Arn" ], - "attributes": { - "Id": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "writeOnlyProperties": [ + "/properties/PermissionArns", + "/properties/Principals", + "/properties/ResourceArns", + "/properties/Sources" + ], + "primaryIdentifier": [ + "/properties/Arn" + ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "ram:TagResource", + "ram:UntagResource" + ] + }, + "handlers": { + "create": { + "permissions": [ + "ram:CreateResourceShare", + "ram:TagResource" + ] + }, + "read": { + "permissions": [ + "ram:GetResourceShares" + ] + }, + "update": { + "permissions": [ + "ram:GetPermission", + "ram:GetResourceShares", + "ram:GetResourceShareAssociations", + "ram:ListResourceSharePermissions", + "ram:UpdateResourceShare", + "ram:AssociateResourceSharePermission", + "ram:AssociateResourceShare", + "ram:DisassociateResourceShare", + "ram:UntagResource", + "ram:TagResource" + ] + }, + "delete": { + "permissions": [ + "ram:DeleteResourceShare", + "ram:GetResourceShares" + ] }, + "list": { + "permissions": [ + "ram:GetResourceShares" + ] + } + }, + "attributes": { "Arn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-rbin-rule.json b/server/schema/resources/aws-rbin-rule.json new file mode 100644 index 00000000..aea9c3d3 --- /dev/null +++ b/server/schema/resources/aws-rbin-rule.json @@ -0,0 +1,293 @@ +{ + "typeName": "AWS::Rbin::Rule", + "description": "Resource Type definition for AWS::Rbin::Rule", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rbin", + "definitions": { + "Tag": { + "description": "Metadata of a retention rule, consisting of a key-value pair.", + "type": "object", + "additionalProperties": false, + "properties": { + "Key": { + "description": "A unique identifier for the tag.", + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "A unique identifier for the tag.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "description": "String which you can use to describe or define the tag.", + "type": "string", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "String which you can use to describe or define the tag.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "markdownDescription": "Metadata of a retention rule, consisting of a key-value pair.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ResourceTag": { + "description": "The resource tag of the rule.", + "type": "object", + "properties": { + "ResourceTagKey": { + "description": "The tag key of the resource.", + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The tag key of the resource.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "ResourceTagValue": { + "description": "The tag value of the resource", + "type": "string", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "The tag value of the resource\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "ResourceTagKey", + "ResourceTagValue" + ], + "markdownDescription": "The resource tag of the rule.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RetentionPeriod": { + "description": "The retention period of the rule.", + "type": "object", + "properties": { + "RetentionPeriodValue": { + "description": "The retention period value of the rule.", + "type": "integer", + "minimum": 1, + "maximum": 3650, + "markdownDescription": "The retention period value of the rule.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "RetentionPeriodUnit": { + "description": "The retention period unit of the rule", + "type": "string", + "enum": [ + "DAYS" + ], + "markdownDescription": "The retention period unit of the rule\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: DAYS \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "RetentionPeriodValue", + "RetentionPeriodUnit" + ], + "markdownDescription": "The retention period of the rule.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "UnlockDelay": { + "type": "object", + "properties": { + "UnlockDelayValue": { + "description": "The unlock delay period, measured in the unit specified for UnlockDelayUnit.", + "type": "integer", + "minimum": 7, + "maximum": 30, + "markdownDescription": "The unlock delay period, measured in the unit specified for UnlockDelayUnit.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "UnlockDelayUnit": { + "description": "The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days.", + "type": "string", + "enum": [ + "DAYS" + ], + "markdownDescription": "The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days.\n\n---\n\nRequired: No \nType: String \nAllowed Values: DAYS \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "Description": { + "description": "The description of the retention rule.", + "type": "string", + "maxLength": 255, + "markdownDescription": "The description of the retention rule.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" + }, + "ResourceTags": { + "description": "Information about the resource tags used to identify resources that are retained by the retention rule.", + "type": "array", + "maxItems": 50, + "insertionOrder": false, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/ResourceTag" + }, + "markdownDescription": "Information about the resource tags used to identify resources that are retained by the retention rule.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ExcludeResourceTags": { + "description": "Information about the exclude resource tags used to identify resources that are excluded by the retention rule.", + "type": "array", + "maxItems": 5, + "insertionOrder": false, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/ResourceTag" + }, + "markdownDescription": "Information about the exclude resource tags used to identify resources that are excluded by the retention rule.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ResourceType": { + "description": "The resource type retained by the retention rule.", + "type": "string", + "enum": [ + "EBS_SNAPSHOT", + "EC2_IMAGE" + ], + "markdownDescription": "The resource type retained by the retention rule.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: EBS_SNAPSHOT | EC2_IMAGE \nUpdate requires: Replacement" + }, + "Tags": { + "description": "Information about the tags assigned to the retention rule.", + "type": "array", + "maxItems": 200, + "insertionOrder": false, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Information about the tags assigned to the retention rule.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "RetentionPeriod": { + "description": "Information about the retention period for which the retention rule is to retain resources.", + "$ref": "#/definitions/RetentionPeriod", + "markdownDescription": "Information about the retention period for which the retention rule is to retain resources.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, + "Status": { + "description": "The state of the retention rule. Only retention rules that are in the available state retain resources.", + "type": "string", + "markdownDescription": "The state of the retention rule. Only retention rules that are in the available state retain resources.\n\n---\n\nRequired: No \nType: String \nPattern: pending|available \nUpdate requires: No interruption" + }, + "LockConfiguration": { + "description": "Information about the retention rule lock configuration.", + "$ref": "#/definitions/UnlockDelay", + "markdownDescription": "Information about the retention rule lock configuration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "RetentionPeriod", + "ResourceType" + ], + "createOnlyProperties": [ + "/properties/ResourceType" + ], + "readOnlyProperties": [ + "/properties/Arn", + "/properties/Identifier", + "/properties/LockState" + ], + "primaryIdentifier": [ + "/properties/Arn" + ], + "writeOnlyProperties": [ + "/properties/LockConfiguration", + "/properties/LockConfiguration/UnlockDelayValue", + "/properties/LockConfiguration/UnlockDelayUnit" + ], + "additionalIdentifiers": [ + [ + "/properties/Identifier" + ] + ], + "handlers": { + "create": { + "permissions": [ + "rbin:CreateRule", + "rbin:GetRule", + "rbin:LockRule", + "rbin:TagResource", + "iam:PassRole" + ] + }, + "read": { + "permissions": [ + "rbin:GetRule", + "rbin:ListTagsForResource", + "iam:PassRole" + ] + }, + "update": { + "permissions": [ + "rbin:GetRule", + "rbin:UpdateRule", + "rbin:LockRule", + "rbin:UnlockRule", + "rbin:TagResource", + "rbin:UntagResource", + "rbin:ListTagsForResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "rbin:GetRule", + "rbin:DeleteRule", + "iam:PassRole" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "LockState": { + "$ref": "resource-schema.json#/properties/LockState" + }, + "ResourceTags": { + "$ref": "resource-schema.json#/properties/ResourceTags" + }, + "ExcludeResourceTags": { + "$ref": "resource-schema.json#/properties/ExcludeResourceTags" + }, + "ResourceType": { + "$ref": "resource-schema.json#/properties/ResourceType" + } + }, + "required": [ + "ResourceType" + ] + }, + "permissions": [ + "rbin:ListRules", + "rbin:ListTagsForResource", + "iam:PassRole" + ] + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "rbin:TagResource", + "rbin:UntagResource", + "rbin:ListTagsForResource" + ] + }, + "attributes": { + "Arn": { + "description": "Rule Arn is unique for each rule.", + "type": "string", + "minLength": 0, + "maxLength": 1011, + "markdownDescription": "Rule Arn is unique for each rule.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1011 \nUpdate requires: No interruption" + }, + "Identifier": { + "description": "The unique ID of the retention rule.", + "type": "string", + "markdownDescription": "The unique ID of the retention rule.\n\n---\n\nRequired: No \nType: String \nPattern: [0-9a-zA-Z]{11} \nUpdate requires: No interruption" + }, + "LockState": { + "description": "The lock state for the retention rule.", + "type": "string", + "markdownDescription": "The lock state for the retention rule.\n\n---\n\nRequired: No \nType: String \nPattern: locked|pending_unlock|unlocked \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-rds-customdbengineversion.json b/server/schema/resources/aws-rds-customdbengineversion.json index 965b9eaf..9658b46d 100644 --- a/server/schema/resources/aws-rds-customdbengineversion.json +++ b/server/schema/resources/aws-rds-customdbengineversion.json @@ -1,51 +1,59 @@ { "typeName": "AWS::RDS::CustomDBEngineVersion", - "description": "The AWS::RDS::CustomDBEngineVersion resource creates an Amazon RDS custom DB engine version.", + "description": "Creates a custom DB engine version (CEV).", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "tagging": { - "taggable": true + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "rds:AddTagsToResource", + "rds:RemoveTagsFromResource" + ] }, "definitions": { "Tag": { - "description": "A key-value pair to associate with a resource.", + "description": "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n For more information, see [Tagging Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide* or [Tagging Amazon Aurora and Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) in the *Amazon Aurora User Guide*.", "type": "object", "properties": { "Key": { "type": "string", - "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "description": "A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", "minLength": 1, "maxLength": 128, - "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "markdownDescription": "A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, "Value": { "type": "string", - "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "description": "A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", "minLength": 0, "maxLength": 256, - "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + "markdownDescription": "A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with ``aws:`` or ``rds:``. The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" } }, "required": [ "Key" ], "additionalProperties": false, - "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n For more information, see [Tagging Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide* or [Tagging Amazon Aurora and Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) in the *Amazon Aurora User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { "DatabaseInstallationFilesS3BucketName": { "type": "string", - "description": "The name of an Amazon S3 bucket that contains database installation files for your CEV. For example, a valid bucket name is `my-custom-installation-files`.", + "description": "The name of an Amazon S3 bucket that contains database installation files for your CEV. For example, a valid bucket name is ``my-custom-installation-files``.", "minLength": 3, "maxLength": 63, - "markdownDescription": "The name of an Amazon S3 bucket that contains database installation files for your CEV. For example, a valid bucket name is `my-custom-installation-files`.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 3 \nMaximum Length: 63 \nUpdate requires: Replacement" + "markdownDescription": "The name of an Amazon S3 bucket that contains database installation files for your CEV. For example, a valid bucket name is ``my-custom-installation-files``.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 3 \nMaximum Length: 63 \nUpdate requires: Replacement" }, "DatabaseInstallationFilesS3Prefix": { "type": "string", - "description": "The Amazon S3 directory that contains the database installation files for your CEV. For example, a valid bucket name is `123456789012/cev1`. If this setting isn't specified, no prefix is assumed.", + "description": "The Amazon S3 directory that contains the database installation files for your CEV. For example, a valid bucket name is ``123456789012/cev1``. If this setting isn't specified, no prefix is assumed.", "minLength": 1, "maxLength": 255, - "markdownDescription": "The Amazon S3 directory that contains the database installation files for your CEV. For example, a valid bucket name is `123456789012/cev1`. If this setting isn't specified, no prefix is assumed.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: Replacement" + "markdownDescription": "The Amazon S3 directory that contains the database installation files for your CEV. For example, a valid bucket name is ``123456789012/cev1``. If this setting isn't specified, no prefix is assumed.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: Replacement" }, "Description": { "type": "string", @@ -56,74 +64,74 @@ }, "Engine": { "type": "string", - "description": "The database engine to use for your custom engine version (CEV). The only supported value is `custom-oracle-ee`.", + "description": "The database engine to use for your custom engine version (CEV).\n Valid values:\n + ``custom-oracle-ee`` \n + ``custom-oracle-ee-cdb``", "minLength": 1, "maxLength": 35, - "markdownDescription": "The database engine to use for your custom engine version (CEV). The only supported value is `custom-oracle-ee`.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 35 \nUpdate requires: Replacement" + "markdownDescription": "The database engine to use for your custom engine version (CEV).\n Valid values:\n + ``custom-oracle-ee`` \n + ``custom-oracle-ee-cdb``\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 35 \nUpdate requires: Replacement" }, "EngineVersion": { "type": "string", - "description": "The name of your CEV. The name format is 19.customized_string . For example, a valid name is 19.my_cev1. This setting is required for RDS Custom for Oracle, but optional for Amazon RDS. The combination of Engine and EngineVersion is unique per customer per Region.", + "description": "The name of your CEV. The name format is ``major version.customized_string``. For example, a valid CEV name is ``19.my_cev1``. This setting is required for RDS Custom for Oracle, but optional for Amazon RDS. The combination of ``Engine`` and ``EngineVersion`` is unique per customer per Region.\n *Constraints:* Minimum length is 1. Maximum length is 60.\n *Pattern:* ``^[a-z0-9_.-]{1,60$``}", "minLength": 1, "maxLength": 60, - "markdownDescription": "The name of your CEV. The name format is 19.customized_string . For example, a valid name is 19.my_cev1. This setting is required for RDS Custom for Oracle, but optional for Amazon RDS. The combination of Engine and EngineVersion is unique per customer per Region.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 60 \nUpdate requires: Replacement" + "markdownDescription": "The name of your CEV. The name format is ``major version.customized_string``. For example, a valid CEV name is ``19.my_cev1``. This setting is required for RDS Custom for Oracle, but optional for Amazon RDS. The combination of ``Engine`` and ``EngineVersion`` is unique per customer per Region.\n *Constraints:* Minimum length is 1. Maximum length is 60.\n *Pattern:* ``^[a-z0-9_.-]{1,60$``}\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 60 \nUpdate requires: Replacement" }, "KMSKeyId": { "type": "string", - "description": "The AWS KMS key identifier for an encrypted CEV. A symmetric KMS key is required for RDS Custom, but optional for Amazon RDS.", + "description": "The AWS KMS key identifier for an encrypted CEV. A symmetric encryption KMS key is required for RDS Custom, but optional for Amazon RDS.\n If you have an existing symmetric encryption KMS key in your account, you can use it with RDS Custom. No further action is necessary. If you don't already have a symmetric encryption KMS key in your account, follow the instructions in [Creating a symmetric encryption KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) in the *Key Management Service Developer Guide*.\n You can choose the same symmetric encryption key when you create a CEV and a DB instance, or choose different keys.", "minLength": 1, "maxLength": 2048, - "markdownDescription": "The AWS KMS key identifier for an encrypted CEV. A symmetric KMS key is required for RDS Custom, but optional for Amazon RDS.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: Replacement" + "markdownDescription": "The AWS KMS key identifier for an encrypted CEV. A symmetric encryption KMS key is required for RDS Custom, but optional for Amazon RDS.\n If you have an existing symmetric encryption KMS key in your account, you can use it with RDS Custom. No further action is necessary. If you don't already have a symmetric encryption KMS key in your account, follow the instructions in [Creating a symmetric encryption KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) in the *Key Management Service Developer Guide*.\n You can choose the same symmetric encryption key when you create a CEV and a DB instance, or choose different keys.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: Replacement" }, "Manifest": { "type": "string", - "description": "The CEV manifest, which is a JSON document that describes the installation .zip files stored in Amazon S3. Specify the name/value pairs in a file or a quoted string. RDS Custom applies the patches in the order in which they are listed.", + "description": "The CEV manifest, which is a JSON document that describes the installation .zip files stored in Amazon S3. Specify the name/value pairs in a file or a quoted string. RDS Custom applies the patches in the order in which they are listed.\n The following JSON fields are valid:\n + MediaImportTemplateVersion Version of the CEV manifest. The date is in the format YYYY-MM-DD. + databaseInstallationFileNames Ordered list of installation files for the CEV. + opatchFileNames Ordered list of OPatch installers used for the Oracle DB engine. + psuRuPatchFileNames The PSU and RU patches for this CEV. + OtherPatchFileNames The patches that are not in the list of PSU and RU patches. Amazon RDS applies these patches after applying the PSU and RU patches. \n For more information, see [Creating the CEV manifest](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.preparing.manifest) in the *Amazon RDS User Guide*.", "minLength": 1, "maxLength": 51000, - "markdownDescription": "The CEV manifest, which is a JSON document that describes the installation .zip files stored in Amazon S3. Specify the name/value pairs in a file or a quoted string. RDS Custom applies the patches in the order in which they are listed.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 51000 \nUpdate requires: Replacement" + "markdownDescription": "The CEV manifest, which is a JSON document that describes the installation .zip files stored in Amazon S3. Specify the name/value pairs in a file or a quoted string. RDS Custom applies the patches in the order in which they are listed.\n The following JSON fields are valid:\n + MediaImportTemplateVersion Version of the CEV manifest. The date is in the format YYYY-MM-DD. + databaseInstallationFileNames Ordered list of installation files for the CEV. + opatchFileNames Ordered list of OPatch installers used for the Oracle DB engine. + psuRuPatchFileNames The PSU and RU patches for this CEV. + OtherPatchFileNames The patches that are not in the list of PSU and RU patches. Amazon RDS applies these patches after applying the PSU and RU patches. \n For more information, see [Creating the CEV manifest](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.preparing.manifest) in the *Amazon RDS User Guide*.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 51000 \nUpdate requires: Replacement" }, "SourceCustomDbEngineVersionIdentifier": { "type": "string", - "description": "The identifier of the source custom engine version.", - "markdownDescription": "The identifier of the source custom engine version.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "description": "The ARN of a CEV to use as a source for creating a new CEV. You can specify a different Amazon Machine Imagine (AMI) by using either ``Source`` or ``UseAwsProvidedLatestImage``. You can't specify a different JSON manifest when you specify ``SourceCustomDbEngineVersionIdentifier``.", + "markdownDescription": "The ARN of a CEV to use as a source for creating a new CEV. You can specify a different Amazon Machine Imagine (AMI) by using either ``Source`` or ``UseAwsProvidedLatestImage``. You can't specify a different JSON manifest when you specify ``SourceCustomDbEngineVersionIdentifier``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "UseAwsProvidedLatestImage": { "type": "boolean", - "description": "A value that indicates whether AWS provided latest image is applied automatically to the Custom Engine Version. By default, AWS provided latest image is applied automatically. This value is only applied on create.", - "markdownDescription": "A value that indicates whether AWS provided latest image is applied automatically to the Custom Engine Version. By default, AWS provided latest image is applied automatically. This value is only applied on create.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + "description": "Specifies whether to use the latest service-provided Amazon Machine Image (AMI) for the CEV. If you specify ``UseAwsProvidedLatestImage``, you can't also specify ``ImageId``.", + "markdownDescription": "Specifies whether to use the latest service-provided Amazon Machine Image (AMI) for the CEV. If you specify ``UseAwsProvidedLatestImage``, you can't also specify ``ImageId``.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" }, "ImageId": { "type": "string", - "description": "The identifier of Amazon Machine Image (AMI) used for CEV.", - "markdownDescription": "The identifier of Amazon Machine Image (AMI) used for CEV.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "description": "A value that indicates the ID of the AMI.", + "markdownDescription": "A value that indicates the ID of the AMI.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "Status": { "type": "string", - "description": "The availability status to be assigned to the CEV.", + "description": "A value that indicates the status of a custom engine version (CEV).", "default": "available", "enum": [ "available", "inactive", "inactive-except-restore" ], - "markdownDescription": "The availability status to be assigned to the CEV.\n\n---\n\nRequired: No \nType: String \nAllowed Values: available | inactive | inactive-except-restore \nUpdate requires: No interruption" + "markdownDescription": "A value that indicates the status of a custom engine version (CEV).\n\n---\n\nRequired: No \nType: String \nAllowed Values: available | inactive | inactive-except-restore \nUpdate requires: No interruption" }, "Tags": { - "description": "An array of key-value pairs to apply to this resource.", + "description": "A list of tags. For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide.*", "type": "array", "uniqueItems": false, "insertionOrder": false, "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of tags. For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide.*\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "additionalProperties": false, "propertyTransform": { "/properties/Engine": "$lowercase(Engine)", "/properties/EngineVersion": "$lowercase(EngineVersion)", - "/properties/KMSKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KMSKeyId])" + "/properties/KMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KMSKeyId])" }, "required": [ "Engine", @@ -209,8 +217,8 @@ "attributes": { "DBEngineVersionArn": { "type": "string", - "description": "The ARN of the custom engine version.", - "markdownDescription": "The ARN of the custom engine version.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-rds-dbcluster.json b/server/schema/resources/aws-rds-dbcluster.json index 146e7aae..e68a8e2a 100644 --- a/server/schema/resources/aws-rds-dbcluster.json +++ b/server/schema/resources/aws-rds-dbcluster.json @@ -33,9 +33,9 @@ "markdownDescription": "A list of Availability Zones (AZs) where instances in the DB cluster can be created. For information on AWS Regions and Availability Zones, see [Choosing the Regions and Availability Zones](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html) in the *Amazon Aurora User Guide*. \n Valid for: Aurora DB clusters only\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" }, "AutoMinorVersionUpgrade": { - "description": "Specifies whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. By default, minor engine upgrades are applied automatically.\n Valid for Cluster Type: Multi-AZ DB clusters only", + "description": "Specifies whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. By default, minor engine upgrades are applied automatically.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB cluster", "type": "boolean", - "markdownDescription": "Specifies whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. By default, minor engine upgrades are applied automatically.\n Valid for Cluster Type: Multi-AZ DB clusters only\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "Specifies whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. By default, minor engine upgrades are applied automatically.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB cluster\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "BacktrackWindow": { "description": "The target backtrack window, in seconds. To disable backtracking, set this value to ``0``.\n Valid for Cluster Type: Aurora MySQL DB clusters only\n Default: ``0`` \n Constraints:\n + If specified, this value must be set to a number from 0 to 259,200 (72 hours).", @@ -50,11 +50,21 @@ "type": "integer", "markdownDescription": "The number of days for which automated backups are retained.\n Default: 1\n Constraints:\n + Must be a value from 1 to 35\n \n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "ClusterScalabilityType": { + "type": "string", + "description": "Specifies the scalability mode of the Aurora DB cluster. When set to ``limitless``, the cluster operates as an Aurora Limitless Database, allowing you to create a DB shard group for horizontal scaling (sharding) capabilities. When set to ``standard`` (the default), the cluster uses normal DB instance creation.", + "markdownDescription": "Specifies the scalability mode of the Aurora DB cluster. When set to ``limitless``, the cluster operates as an Aurora Limitless Database, allowing you to create a DB shard group for horizontal scaling (sharding) capabilities. When set to ``standard`` (the default), the cluster uses normal DB instance creation.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, "CopyTagsToSnapshot": { "description": "A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. The default is not to copy them.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type": "boolean", "markdownDescription": "A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. The default is not to copy them.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, + "DatabaseInsightsMode": { + "description": "The mode of Database Insights to enable for the DB cluster.\n If you set this value to ``advanced``, you must also set the ``PerformanceInsightsEnabled`` parameter to ``true`` and the ``PerformanceInsightsRetentionPeriod`` parameter to 465.\n Valid for Cluster Type: Aurora DB clusters only", + "type": "string", + "markdownDescription": "The mode of Database Insights to enable for the DB cluster.\n If you set this value to ``advanced``, you must also set the ``PerformanceInsightsEnabled`` parameter to ``true`` and the ``PerformanceInsightsRetentionPeriod`` parameter to 465.\n Valid for Cluster Type: Aurora DB clusters only\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "DatabaseName": { "description": "The name of your database. If you don't provide a name, then Amazon RDS won't create a database in this DB cluster. For naming constraints, see [Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon Aurora User Guide*. \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type": "string", @@ -130,9 +140,9 @@ "markdownDescription": "Specifies whether to enable this DB cluster to forward write operations to the primary cluster of a global cluster (Aurora global database). By default, write operations are not allowed on Aurora DB clusters that are secondary clusters in an Aurora global database.\n You can set this value only on Aurora DB clusters that are members of an Aurora global database. With this parameter enabled, a secondary cluster can forward writes to the current primary cluster, and the resulting changes are replicated back to this cluster. For the primary DB cluster of an Aurora global database, this value is used immediately if the primary is demoted by a global cluster API operation, but it does nothing until then.\n Valid for Cluster Type: Aurora DB clusters only\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "EnableHttpEndpoint": { - "description": "Specifies whether to enable the HTTP endpoint for the DB cluster. By default, the HTTP endpoint isn't enabled.\n When enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the DB cluster. You can also query your database from inside the RDS console with the RDS query editor.\n RDS Data API is supported with the following DB clusters:\n + Aurora PostgreSQL Serverless v2 and provisioned\n + Aurora PostgreSQL and Aurora MySQL Serverless v1\n \n For more information, see [Using RDS Data API](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) in the *Amazon Aurora User Guide*.\n Valid for Cluster Type: Aurora DB clusters only", + "description": "Specifies whether to enable the HTTP endpoint for the DB cluster. By default, the HTTP endpoint isn't enabled.\n When enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the DB cluster. You can also query your database from inside the RDS console with the RDS query editor.\n For more information, see [Using RDS Data API](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) in the *Amazon Aurora User Guide*.\n Valid for Cluster Type: Aurora DB clusters only", "type": "boolean", - "markdownDescription": "Specifies whether to enable the HTTP endpoint for the DB cluster. By default, the HTTP endpoint isn't enabled.\n When enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the DB cluster. You can also query your database from inside the RDS console with the RDS query editor.\n RDS Data API is supported with the following DB clusters:\n + Aurora PostgreSQL Serverless v2 and provisioned\n + Aurora PostgreSQL and Aurora MySQL Serverless v1\n \n For more information, see [Using RDS Data API](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) in the *Amazon Aurora User Guide*.\n Valid for Cluster Type: Aurora DB clusters only\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "Specifies whether to enable the HTTP endpoint for the DB cluster. By default, the HTTP endpoint isn't enabled.\n When enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the DB cluster. You can also query your database from inside the RDS console with the RDS query editor.\n For more information, see [Using RDS Data API](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) in the *Amazon Aurora User Guide*.\n Valid for Cluster Type: Aurora DB clusters only\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "EnableIAMDatabaseAuthentication": { "description": "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.\n For more information, see [IAM Database Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) in the *Amazon Aurora User Guide.* \n Valid for: Aurora DB clusters only", @@ -150,9 +160,9 @@ "markdownDescription": "The name of the database engine to be used for this DB cluster.\n Valid Values:\n + ``aurora-mysql`` \n + ``aurora-postgresql`` \n + ``mysql`` \n + ``postgres`` \n \n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" }, "EngineLifecycleSupport": { - "description": "The life cycle type for this DB cluster.\n By default, this value is set to ``open-source-rds-extended-support``, which enrolls your DB cluster into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to ``open-source-rds-extended-support-disabled``. In this case, creating the DB cluster will fail if the DB major version is past its end of standard support date.\n You can use this setting to enroll your DB cluster into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your DB cluster past the end of standard support for that engine version. For more information, see the following sections:\n + Amazon Aurora (PostgreSQL only) - [Using Amazon RDS Extended Support](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/extended-support.html) in the *Amazon Aurora User Guide* \n + Amazon RDS - [Using Amazon RDS Extended Support](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html) in the *Amazon RDS User Guide* \n \n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values: ``open-source-rds-extended-support | open-source-rds-extended-support-disabled`` \n Default: ``open-source-rds-extended-support``", + "description": "The life cycle type for this DB cluster.\n By default, this value is set to ``open-source-rds-extended-support``, which enrolls your DB cluster into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to ``open-source-rds-extended-support-disabled``. In this case, creating the DB cluster will fail if the DB major version is past its end of standard support date.\n You can use this setting to enroll your DB cluster into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your DB cluster past the end of standard support for that engine version. For more information, see the following sections:\n + Amazon Aurora - [Using Amazon RDS Extended Support](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/extended-support.html) in the *Amazon Aurora User Guide* \n + Amazon RDS - [Using Amazon RDS Extended Support](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html) in the *Amazon RDS User Guide* \n \n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values: ``open-source-rds-extended-support | open-source-rds-extended-support-disabled`` \n Default: ``open-source-rds-extended-support``", "type": "string", - "markdownDescription": "The life cycle type for this DB cluster.\n By default, this value is set to ``open-source-rds-extended-support``, which enrolls your DB cluster into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to ``open-source-rds-extended-support-disabled``. In this case, creating the DB cluster will fail if the DB major version is past its end of standard support date.\n You can use this setting to enroll your DB cluster into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your DB cluster past the end of standard support for that engine version. For more information, see the following sections:\n + Amazon Aurora (PostgreSQL only) - [Using Amazon RDS Extended Support](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/extended-support.html) in the *Amazon Aurora User Guide* \n + Amazon RDS - [Using Amazon RDS Extended Support](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html) in the *Amazon RDS User Guide* \n \n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values: ``open-source-rds-extended-support | open-source-rds-extended-support-disabled`` \n Default: ``open-source-rds-extended-support``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The life cycle type for this DB cluster.\n By default, this value is set to ``open-source-rds-extended-support``, which enrolls your DB cluster into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to ``open-source-rds-extended-support-disabled``. In this case, creating the DB cluster will fail if the DB major version is past its end of standard support date.\n You can use this setting to enroll your DB cluster into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your DB cluster past the end of standard support for that engine version. For more information, see the following sections:\n + Amazon Aurora - [Using Amazon RDS Extended Support](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/extended-support.html) in the *Amazon Aurora User Guide* \n + Amazon RDS - [Using Amazon RDS Extended Support](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html) in the *Amazon RDS User Guide* \n \n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values: ``open-source-rds-extended-support | open-source-rds-extended-support-disabled`` \n Default: ``open-source-rds-extended-support``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "EngineMode": { "description": "The DB engine mode of the DB cluster, either ``provisioned`` or ``serverless``.\n The ``serverless`` engine mode only applies for Aurora Serverless v1 DB clusters. Aurora Serverless v2 DB clusters use the ``provisioned`` engine mode.\n For information about limitations and requirements for Serverless DB clusters, see the following sections in the *Amazon Aurora User Guide*:\n + [Limitations of Aurora Serverless v1](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations) \n + [Requirements for Aurora Serverless v2](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.requirements.html) \n \n Valid for Cluster Type: Aurora DB clusters only", @@ -192,18 +202,18 @@ }, "MasterUserSecret": { "$ref": "#/definitions/MasterUserSecret", - "description": "The secret managed by RDS in AWS Secrets Manager for the master user password.\n For more information, see [Password management with Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.*", - "markdownDescription": "The secret managed by RDS in AWS Secrets Manager for the master user password.\n For more information, see [Password management with Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.*\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "description": "The secret managed by RDS in AWS Secrets Manager for the master user password.\n When you restore a DB cluster from a snapshot, Amazon RDS generates a new secret instead of reusing the secret specified in the ``SecretArn`` property. This ensures that the restored DB cluster is securely managed with a dedicated secret. To maintain consistent integration with your application, you might need to update resource configurations to reference the newly created secret.\n For more information, see [Password management with Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.*", + "markdownDescription": "The secret managed by RDS in AWS Secrets Manager for the master user password.\n When you restore a DB cluster from a snapshot, Amazon RDS generates a new secret instead of reusing the secret specified in the ``SecretArn`` property. This ensures that the restored DB cluster is securely managed with a dedicated secret. To maintain consistent integration with your application, you might need to update resource configurations to reference the newly created secret.\n For more information, see [Password management with Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.*\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "MonitoringInterval": { - "description": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify ``0``.\n If ``MonitoringRoleArn`` is specified, also set ``MonitoringInterval`` to a value other than ``0``.\n Valid for Cluster Type: Multi-AZ DB clusters only\n Valid Values: ``0 | 1 | 5 | 10 | 15 | 30 | 60`` \n Default: ``0``", + "description": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify ``0``.\n If ``MonitoringRoleArn`` is specified, also set ``MonitoringInterval`` to a value other than ``0``.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values: ``0 | 1 | 5 | 10 | 15 | 30 | 60`` \n Default: ``0``", "type": "integer", - "markdownDescription": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify ``0``.\n If ``MonitoringRoleArn`` is specified, also set ``MonitoringInterval`` to a value other than ``0``.\n Valid for Cluster Type: Multi-AZ DB clusters only\n Valid Values: ``0 | 1 | 5 | 10 | 15 | 30 | 60`` \n Default: ``0``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify ``0``.\n If ``MonitoringRoleArn`` is specified, also set ``MonitoringInterval`` to a value other than ``0``.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values: ``0 | 1 | 5 | 10 | 15 | 30 | 60`` \n Default: ``0``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "MonitoringRoleArn": { - "description": "The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. An example is ``arn:aws:iam:123456789012:role/emaccess``. For information on creating a monitoring role, see [Setting up and enabling Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling) in the *Amazon RDS User Guide*.\n If ``MonitoringInterval`` is set to a value other than ``0``, supply a ``MonitoringRoleArn`` value.\n Valid for Cluster Type: Multi-AZ DB clusters only", + "description": "The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. An example is ``arn:aws:iam:123456789012:role/emaccess``. For information on creating a monitoring role, see [Setting up and enabling Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling) in the *Amazon RDS User Guide*.\n If ``MonitoringInterval`` is set to a value other than ``0``, supply a ``MonitoringRoleArn`` value.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. An example is ``arn:aws:iam:123456789012:role/emaccess``. For information on creating a monitoring role, see [Setting up and enabling Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling) in the *Amazon RDS User Guide*.\n If ``MonitoringInterval`` is set to a value other than ``0``, supply a ``MonitoringRoleArn`` value.\n Valid for Cluster Type: Multi-AZ DB clusters only\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. An example is ``arn:aws:iam:123456789012:role/emaccess``. For information on creating a monitoring role, see [Setting up and enabling Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling) in the *Amazon RDS User Guide*.\n If ``MonitoringInterval`` is set to a value other than ``0``, supply a ``MonitoringRoleArn`` value.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "NetworkType": { "description": "The network type of the DB cluster.\n Valid values:\n + ``IPV4`` \n + ``DUAL`` \n \n The network type is determined by the ``DBSubnetGroup`` specified for the DB cluster. A ``DBSubnetGroup`` can support only the IPv4 protocol or the IPv4 and IPv6 protocols (``DUAL``).\n For more information, see [Working with a DB instance in a VPC](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) in the *Amazon Aurora User Guide.* \n Valid for: Aurora DB clusters only", @@ -211,19 +221,19 @@ "markdownDescription": "The network type of the DB cluster.\n Valid values:\n + ``IPV4`` \n + ``DUAL`` \n \n The network type is determined by the ``DBSubnetGroup`` specified for the DB cluster. A ``DBSubnetGroup`` can support only the IPv4 protocol or the IPv4 and IPv6 protocols (``DUAL``).\n For more information, see [Working with a DB instance in a VPC](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) in the *Amazon Aurora User Guide.* \n Valid for: Aurora DB clusters only\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "PerformanceInsightsEnabled": { - "description": "Specifies whether to turn on Performance Insights for the DB cluster.\n For more information, see [Using Amazon Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) in the *Amazon RDS User Guide*.\n Valid for Cluster Type: Multi-AZ DB clusters only", + "description": "Specifies whether to turn on Performance Insights for the DB cluster.\n For more information, see [Using Amazon Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) in the *Amazon RDS User Guide*.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", "type": "boolean", - "markdownDescription": "Specifies whether to turn on Performance Insights for the DB cluster.\n For more information, see [Using Amazon Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) in the *Amazon RDS User Guide*.\n Valid for Cluster Type: Multi-AZ DB clusters only\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "Specifies whether to turn on Performance Insights for the DB cluster.\n For more information, see [Using Amazon Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) in the *Amazon RDS User Guide*.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "PerformanceInsightsKmsKeyId": { - "description": "The AWS KMS key identifier for encryption of Performance Insights data.\n The AWS KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n If you don't specify a value for ``PerformanceInsightsKMSKeyId``, then Amazon RDS uses your default KMS key. There is a default KMS key for your AWS-account. Your AWS-account has a different default KMS key for each AWS-Region.\n Valid for Cluster Type: Multi-AZ DB clusters only", + "description": "The AWS KMS key identifier for encryption of Performance Insights data.\n The AWS KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n If you don't specify a value for ``PerformanceInsightsKMSKeyId``, then Amazon RDS uses your default KMS key. There is a default KMS key for your AWS-account. Your AWS-account has a different default KMS key for each AWS-Region.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", "type": "string", - "markdownDescription": "The AWS KMS key identifier for encryption of Performance Insights data.\n The AWS KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n If you don't specify a value for ``PerformanceInsightsKMSKeyId``, then Amazon RDS uses your default KMS key. There is a default KMS key for your AWS-account. Your AWS-account has a different default KMS key for each AWS-Region.\n Valid for Cluster Type: Multi-AZ DB clusters only\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The AWS KMS key identifier for encryption of Performance Insights data.\n The AWS KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n If you don't specify a value for ``PerformanceInsightsKMSKeyId``, then Amazon RDS uses your default KMS key. There is a default KMS key for your AWS-account. Your AWS-account has a different default KMS key for each AWS-Region.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "PerformanceInsightsRetentionPeriod": { - "description": "The number of days to retain Performance Insights data.\n Valid for Cluster Type: Multi-AZ DB clusters only\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS issues an error.", + "description": "The number of days to retain Performance Insights data.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS issues an error.", "type": "integer", - "markdownDescription": "The number of days to retain Performance Insights data.\n Valid for Cluster Type: Multi-AZ DB clusters only\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS issues an error.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The number of days to retain Performance Insights data.\n Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n Valid Values:\n + ``7`` \n + *month* * 31, where *month* is a number of months from 1-23. Examples: ``93`` (3 months * 31), ``341`` (11 months * 31), ``589`` (19 months * 31)\n + ``731`` \n \n Default: ``7`` days\n If you specify a retention period that isn't valid, such as ``94``, Amazon RDS issues an error.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Port": { "description": "The port number on which the DB instances in the DB cluster accept connections.\n Default:\n + When ``EngineMode`` is ``provisioned``, ``3306`` (for both Aurora MySQL and Aurora PostgreSQL)\n + When ``EngineMode`` is ``serverless``:\n + ``3306`` when ``Engine`` is ``aurora`` or ``aurora-mysql`` \n + ``5432`` when ``Engine`` is ``aurora-postgresql`` \n \n \n The ``No interruption`` on update behavior only applies to DB clusters. If you are updating a DB instance, see [Port](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-port) for the AWS::RDS::DBInstance resource.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", @@ -381,14 +391,19 @@ "additionalProperties": false, "properties": { "MinCapacity": { - "description": "The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. The smallest value that you can use is 0.5.", + "description": "The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. For Aurora versions that support the Aurora Serverless v2 auto-pause feature, the smallest value that you can use is 0. For versions that don't support Aurora Serverless v2 auto-pause, the smallest value that you can use is 0.5.", "type": "number", - "markdownDescription": "The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. The smallest value that you can use is 0.5.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. For Aurora versions that support the Aurora Serverless v2 auto-pause feature, the smallest value that you can use is 0. For versions that don't support Aurora Serverless v2 auto-pause, the smallest value that you can use is 0.5.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, "MaxCapacity": { "description": "The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 128.\n The maximum capacity must be higher than 0.5 ACUs. For more information, see [Choosing the maximum Aurora Serverless v2 capacity setting for a cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max_capacity_considerations) in the *Amazon Aurora User Guide*.\n Aurora automatically sets certain parameters for Aurora Serverless V2 DB instances to values that depend on the maximum ACU value in the capacity range. When you update the maximum capacity value, the ``ParameterApplyStatus`` value for the DB instance changes to ``pending-reboot``. You can update the parameter values by rebooting the DB instance after changing the capacity range.", "type": "number", "markdownDescription": "The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 128.\n The maximum capacity must be higher than 0.5 ACUs. For more information, see [Choosing the maximum Aurora Serverless v2 capacity setting for a cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max_capacity_considerations) in the *Amazon Aurora User Guide*.\n Aurora automatically sets certain parameters for Aurora Serverless V2 DB instances to values that depend on the maximum ACU value in the capacity range. When you update the maximum capacity value, the ``ParameterApplyStatus`` value for the DB instance changes to ``pending-reboot``. You can update the parameter values by rebooting the DB instance after changing the capacity range.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "SecondsUntilAutoPause": { + "type": "integer", + "description": "Specifies the number of seconds an Aurora Serverless v2 DB instance must be idle before Aurora attempts to automatically pause it. \n Specify a value between 300 seconds (five minutes) and 86,400 seconds (one day). The default is 300 seconds.", + "markdownDescription": "Specifies the number of seconds an Aurora Serverless v2 DB instance must be idle before Aurora attempts to automatically pause it. \n Specify a value between 300 seconds (five minutes) and 86,400 seconds (one day). The default is 300 seconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "markdownDescription": "The ``ServerlessV2ScalingConfiguration`` property type specifies the scaling configuration of an Aurora Serverless V2 DB cluster. For more information, see [Using Amazon Aurora Serverless v2](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html) in the *Amazon Aurora User Guide*.\n If you have an Aurora cluster, you must set this attribute before you add a DB instance that uses the ``db.serverless`` DB instance class. For more information, see [Clusters that use Aurora Serverless v2 must have a capacity range specified](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.requirements.html#aurora-serverless-v2.requirements.capacity-range) in the *Amazon Aurora User Guide*.\n This property is only supported for Aurora Serverless v2. For Aurora Serverless v1, use the ``ScalingConfiguration`` property.\n Valid for: Aurora Serverless v2 DB clusters\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -480,13 +495,13 @@ "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", "/properties/Engine": "$lowercase(Engine)", "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", PerformanceInsightsKmsKeyId])", "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", @@ -504,6 +519,7 @@ ], "createOnlyProperties": [ "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", "/properties/DBClusterIdentifier", "/properties/DBSubnetGroupName", "/properties/DBSystemId", @@ -528,6 +544,7 @@ "/properties/DBClusterIdentifier" ], "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", "/properties/DBInstanceParameterGroupName", "/properties/MasterUserPassword", "/properties/RestoreToTime", diff --git a/server/schema/resources/aws-rds-dbinstance.json b/server/schema/resources/aws-rds-dbinstance.json index 1bd434a0..601aea8c 100644 --- a/server/schema/resources/aws-rds-dbinstance.json +++ b/server/schema/resources/aws-rds-dbinstance.json @@ -252,14 +252,19 @@ }, "DBSnapshotIdentifier": { "type": "string", - "description": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n + ``CharacterSetName`` \n + ``DBClusterIdentifier`` \n + ``DBName`` \n + ``DeleteAutomatedBackups`` \n + ``KmsKeyId`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``PerformanceInsightsKMSKeyId`` \n + ``PerformanceInsightsRetentionPeriod`` \n + ``PromotionTier`` \n + ``SourceDBInstanceIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an encrypted snapshot)\n + ``Timezone`` \n \n *Amazon Aurora* \n Not applicable. Snapshot restore is managed by the DB cluster.", - "markdownDescription": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n + ``CharacterSetName`` \n + ``DBClusterIdentifier`` \n + ``DBName`` \n + ``DeleteAutomatedBackups`` \n + ``KmsKeyId`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``PerformanceInsightsKMSKeyId`` \n + ``PerformanceInsightsRetentionPeriod`` \n + ``PromotionTier`` \n + ``SourceDBInstanceIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an encrypted snapshot)\n + ``Timezone`` \n \n *Amazon Aurora* \n Not applicable. Snapshot restore is managed by the DB cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" + "description": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n + ``CharacterSetName`` \n + ``DBClusterIdentifier`` \n + ``DBName`` \n + ``KmsKeyId`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``PromotionTier`` \n + ``SourceDBInstanceIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an unencrypted snapshot)\n + ``Timezone`` \n \n *Amazon Aurora* \n Not applicable. Snapshot restore is managed by the DB cluster.", + "markdownDescription": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n + ``CharacterSetName`` \n + ``DBClusterIdentifier`` \n + ``DBName`` \n + ``KmsKeyId`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``PromotionTier`` \n + ``SourceDBInstanceIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an unencrypted snapshot)\n + ``Timezone`` \n \n *Amazon Aurora* \n Not applicable. Snapshot restore is managed by the DB cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" }, "DBSubnetGroupName": { "type": "string", "description": "A DB subnet group to associate with the DB instance. If you update this value, the new subnet group must be a subnet group in a new VPC. \n If there's no DB subnet group, then the DB instance isn't a VPC DB instance.\n For more information about using Amazon RDS in a VPC, see [Amazon VPC and Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) in the *Amazon RDS User Guide*. \n This setting doesn't apply to Amazon Aurora DB instances. The DB subnet group is managed by the DB cluster. If specified, the setting must match the DB cluster setting.", "markdownDescription": "A DB subnet group to associate with the DB instance. If you update this value, the new subnet group must be a subnet group in a new VPC. \n If there's no DB subnet group, then the DB instance isn't a VPC DB instance.\n For more information about using Amazon RDS in a VPC, see [Amazon VPC and Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) in the *Amazon RDS User Guide*. \n This setting doesn't apply to Amazon Aurora DB instances. The DB subnet group is managed by the DB cluster. If specified, the setting must match the DB cluster setting.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, + "DBSystemId": { + "type": "string", + "description": "The Oracle system identifier (SID), which is the name of the Oracle database instance that manages your database files. In this context, the term \"Oracle database instance\" refers exclusively to the system global area (SGA) and Oracle background processes. If you don't specify a SID, the value defaults to ``RDSCDB``. The Oracle SID is also the name of your CDB.", + "markdownDescription": "The Oracle system identifier (SID), which is the name of the Oracle database instance that manages your database files. In this context, the term \"Oracle database instance\" refers exclusively to the system global area (SGA) and Oracle background processes. If you don't specify a SID, the value defaults to ``RDSCDB``. The Oracle SID is also the name of your CDB.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, "DedicatedLogVolume": { "type": "boolean", "description": "Indicates whether the DB instance has a dedicated log volume (DLV) enabled.", @@ -433,7 +438,7 @@ "Port": { "type": "string", "description": "The port number on which the database accepts connections.\n This setting doesn't apply to Aurora DB instances. The port number is managed by the cluster.\n Valid Values: ``1150-65535`` \n Default:\n + RDS for Db2 - ``50000`` \n + RDS for MariaDB - ``3306`` \n + RDS for Microsoft SQL Server - ``1433`` \n + RDS for MySQL - ``3306`` \n + RDS for Oracle - ``1521`` \n + RDS for PostgreSQL - ``5432`` \n \n Constraints:\n + For RDS for Microsoft SQL Server, the value can't be ``1234``, ``1434``, ``3260``, ``3343``, ``3389``, ``47001``, or ``49152-49156``.", - "markdownDescription": "The port number on which the database accepts connections.\n This setting doesn't apply to Aurora DB instances. The port number is managed by the cluster.\n Valid Values: ``1150-65535`` \n Default:\n + RDS for Db2 - ``50000`` \n + RDS for MariaDB - ``3306`` \n + RDS for Microsoft SQL Server - ``1433`` \n + RDS for MySQL - ``3306`` \n + RDS for Oracle - ``1521`` \n + RDS for PostgreSQL - ``5432`` \n \n Constraints:\n + For RDS for Microsoft SQL Server, the value can't be ``1234``, ``1434``, ``3260``, ``3343``, ``3389``, ``47001``, or ``49152-49156``.\n\n---\n\nRequired: No \nType: String \nPattern: ^\\d*$ \nUpdate requires: Replacement" + "markdownDescription": "The port number on which the database accepts connections.\n This setting doesn't apply to Aurora DB instances. The port number is managed by the cluster.\n Valid Values: ``1150-65535`` \n Default:\n + RDS for Db2 - ``50000`` \n + RDS for MariaDB - ``3306`` \n + RDS for Microsoft SQL Server - ``1433`` \n + RDS for MySQL - ``3306`` \n + RDS for Oracle - ``1521`` \n + RDS for PostgreSQL - ``5432`` \n \n Constraints:\n + For RDS for Microsoft SQL Server, the value can't be ``1234``, ``1434``, ``3260``, ``3343``, ``3389``, ``47001``, or ``49152-49156``.\n\n---\n\nRequired: No \nType: String \nPattern: ^\\d*$ \nUpdate requires: No interruption" }, "PreferredBackupWindow": { "type": "string", @@ -570,13 +575,14 @@ "/properties/DBParameterGroupName": "$lowercase(DBParameterGroupName)", "/properties/DBSnapshotIdentifier": "$lowercase(DBSnapshotIdentifier)", "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", + "/properties/DBSystemId": "$uppercase(DBSystemId)", "/properties/Engine": "$lowercase(Engine)", "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", "/properties/NetworkType": "$lowercase(NetworkType)", "/properties/OptionGroupName": "$lowercase(OptionGroupName)", - "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKMSKeyId])", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", PerformanceInsightsKMSKeyId])", "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", "/properties/SourceDBInstanceAutomatedBackupsArn": "$lowercase(SourceDBInstanceAutomatedBackupsArn)", "/properties/SourceDBInstanceIdentifier": "$lowercase(SourceDBInstanceIdentifier)", @@ -589,10 +595,10 @@ "/properties/DBInstanceIdentifier", "/properties/DBName", "/properties/DBSubnetGroupName", + "/properties/DBSystemId", "/properties/KmsKeyId", "/properties/MasterUsername", "/properties/NcharCharacterSetName", - "/properties/Port", "/properties/SourceRegion", "/properties/StorageEncrypted", "/properties/Timezone" @@ -627,7 +633,6 @@ "/properties/DBSnapshotIdentifier", "/properties/DeleteAutomatedBackups", "/properties/MasterUserPassword", - "/properties/Port", "/properties/RestoreTime", "/properties/SourceDBInstanceAutomatedBackupsArn", "/properties/SourceDBInstanceIdentifier", @@ -643,10 +648,10 @@ "/properties/Endpoint/HostedZoneId", "/properties/DbiResourceId", "/properties/DBInstanceArn", - "/properties/DBSystemId", "/properties/MasterUserSecret/SecretArn", "/properties/CertificateDetails/CAIdentifier", - "/properties/CertificateDetails/ValidTill" + "/properties/CertificateDetails/ValidTill", + "/properties/DatabaseInsightsMode" ], "primaryIdentifier": [ "/properties/DBInstanceIdentifier" @@ -760,6 +765,11 @@ ] }, "attributes": { + "DatabaseInsightsMode": { + "description": "", + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "DBInstanceArn": { "type": "string", "description": "", @@ -769,11 +779,6 @@ "type": "string", "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "DBSystemId": { - "type": "string", - "description": "The Oracle system identifier (SID), which is the name of the Oracle database instance that manages your database files. In this context, the term \"Oracle database instance\" refers exclusively to the system global area (SGA) and Oracle background processes. If you don't specify a SID, the value defaults to ``RDSCDB``. The Oracle SID is also the name of your CDB.", - "markdownDescription": "The Oracle system identifier (SID), which is the name of the Oracle database instance that manages your database files. In this context, the term \"Oracle database instance\" refers exclusively to the system global area (SGA) and Oracle background processes. If you don't specify a SID, the value defaults to ``RDSCDB``. The Oracle SID is also the name of your CDB.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-rds-dbshardgroup.json b/server/schema/resources/aws-rds-dbshardgroup.json new file mode 100644 index 00000000..373fc0c5 --- /dev/null +++ b/server/schema/resources/aws-rds-dbshardgroup.json @@ -0,0 +1,169 @@ +{ + "typeName": "AWS::RDS::DBShardGroup", + "description": "The AWS::RDS::DBShardGroup resource creates an Amazon Aurora Limitless DB Shard Group.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "rds:AddTagsToResource", + "rds:RemoveTagsFromResource" + ], + "taggable": true, + "tagOnCreate": false, + "tagUpdatable": true, + "tagProperty": "/properties/Tags" + }, + "properties": { + "DBShardGroupIdentifier": { + "description": "The name of the DB shard group.", + "type": "string", + "minLength": 1, + "maxLength": 63, + "markdownDescription": "The name of the DB shard group.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 63 \nUpdate requires: Replacement" + }, + "DBClusterIdentifier": { + "description": "The name of the primary DB cluster for the DB shard group.", + "type": "string", + "minLength": 1, + "maxLength": 63, + "markdownDescription": "The name of the primary DB cluster for the DB shard group.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 63 \nUpdate requires: Replacement" + }, + "ComputeRedundancy": { + "description": "Specifies whether to create standby instances for the DB shard group.", + "minimum": 0, + "type": "integer", + "markdownDescription": "Specifies whether to create standby instances for the DB shard group.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MaxACU": { + "description": "The maximum capacity of the DB shard group in Aurora capacity units (ACUs).", + "type": "number", + "markdownDescription": "The maximum capacity of the DB shard group in Aurora capacity units (ACUs).\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "MinACU": { + "description": "The minimum capacity of the DB shard group in Aurora capacity units (ACUs).", + "type": "number", + "markdownDescription": "The minimum capacity of the DB shard group in Aurora capacity units (ACUs).\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "PubliclyAccessible": { + "description": "Indicates whether the DB shard group is publicly accessible.", + "type": "boolean", + "markdownDescription": "Indicates whether the DB shard group is publicly accessible.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + }, + "Tags": { + "type": "array", + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "description": "An array of key-value pairs to apply to this resource.", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "definitions": { + "Tag": { + "description": "A key-value pair to associate with a resource.", + "type": "object", + "additionalProperties": false, + "properties": { + "Key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. \n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. \n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key" + ], + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBShardGroupIdentifier": "$lowercase(DBShardGroupIdentifier)" + }, + "required": [ + "DBClusterIdentifier", + "MaxACU" + ], + "createOnlyProperties": [ + "/properties/DBClusterIdentifier", + "/properties/DBShardGroupIdentifier", + "/properties/PubliclyAccessible" + ], + "readOnlyProperties": [ + "/properties/DBShardGroupResourceId", + "/properties/Endpoint" + ], + "writeOnlyProperties": [ + "/properties/MinACU" + ], + "primaryIdentifier": [ + "/properties/DBShardGroupIdentifier" + ], + "handlers": { + "create": { + "permissions": [ + "rds:AddTagsToResource", + "rds:CreateDBShardGroup", + "rds:DescribeDBClusters", + "rds:DescribeDBShardGroups", + "rds:ListTagsForResource" + ], + "timeoutInMinutes": 2160 + }, + "read": { + "permissions": [ + "rds:DescribeDBShardGroups", + "rds:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "rds:AddTagsToResource", + "rds:DescribeDBShardGroups", + "rds:DescribeDBClusters", + "rds:RemoveTagsFromResource", + "rds:ModifyDBShardGroup", + "rds:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "rds:DeleteDBShardGroup", + "rds:DescribeDBClusters", + "rds:DescribeDbShardGroups" + ], + "timeoutInMinutes": 2160 + }, + "list": { + "permissions": [ + "rds:DescribeDBShardGroups", + "rds:ListTagsForResource" + ] + } + }, + "attributes": { + "DBShardGroupResourceId": { + "description": "The Amazon Web Services Region-unique, immutable identifier for the DB shard group.", + "type": "string", + "markdownDescription": "The Amazon Web Services Region-unique, immutable identifier for the DB shard group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Endpoint": { + "description": "The connection endpoint for the DB shard group.", + "type": "string", + "markdownDescription": "The connection endpoint for the DB shard group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-rds-dbsubnetgroup.json b/server/schema/resources/aws-rds-dbsubnetgroup.json index 49fc8cb0..1439bb0c 100644 --- a/server/schema/resources/aws-rds-dbsubnetgroup.json +++ b/server/schema/resources/aws-rds-dbsubnetgroup.json @@ -16,6 +16,7 @@ "SubnetIds": { "type": "array", "uniqueItems": false, + "insertionOrder": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" @@ -76,9 +77,6 @@ "primaryIdentifier": [ "/properties/DBSubnetGroupName" ], - "writeOnlyProperties": [ - "/properties/SubnetIds" - ], "handlers": { "create": { "permissions": [ @@ -118,5 +116,16 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "rds:AddTagsToResource", + "rds:RemoveTagsFromResource" + ] + }, "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-rds-globalcluster.json b/server/schema/resources/aws-rds-globalcluster.json index c77c48e3..df812556 100644 --- a/server/schema/resources/aws-rds-globalcluster.json +++ b/server/schema/resources/aws-rds-globalcluster.json @@ -63,6 +63,9 @@ "description": " The storage encryption setting for the new global database cluster.\nIf you specify the SourceDBClusterIdentifier property, don't specify this property. The value is inherited from the cluster.", "type": "boolean", "markdownDescription": " The storage encryption setting for the new global database cluster.\nIf you specify the SourceDBClusterIdentifier property, don't specify this property. The value is inherited from the cluster.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + }, + "GlobalEndpoint": { + "$ref": "#/definitions/GlobalEndpoint" } }, "definitions": { @@ -90,6 +93,18 @@ "Key" ], "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GlobalEndpoint": { + "type": "object", + "additionalProperties": false, + "properties": { + "Address": { + "description": "The writer endpoint for the global database cluster. This endpoint always points to the writer DB instance in the current primary cluster.", + "type": "string", + "markdownDescription": "The writer endpoint for the global database cluster. This endpoint always points to the writer DB instance in the current primary cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "oneOf": [ @@ -152,5 +167,16 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "rds:AddTagsToResource", + "rds:RemoveTagsFromResource" + ] + }, "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-redshift-integration.json b/server/schema/resources/aws-redshift-integration.json new file mode 100644 index 00000000..19275121 --- /dev/null +++ b/server/schema/resources/aws-redshift-integration.json @@ -0,0 +1,185 @@ +{ + "typeName": "AWS::Redshift::Integration", + "description": "Integration from a source AWS service to a Redshift cluster", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "properties": { + "IntegrationName": { + "description": "The name of the integration.", + "type": "string", + "minLength": 1, + "maxLength": 64, + "markdownDescription": "The name of the integration.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + }, + "SourceArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the database to use as the source for replication", + "markdownDescription": "The Amazon Resource Name (ARN) of the database to use as the source for replication\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "TargetArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the Redshift data warehouse to use as the target for replication", + "markdownDescription": "The Amazon Resource Name (ARN) of the Redshift data warehouse to use as the target for replication\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "Tags": { + "type": "array", + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "description": "An array of key-value pairs to apply to this resource.", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "KMSKeyId": { + "type": "string", + "description": "An KMS key identifier for the key to use to encrypt the integration. If you don't specify an encryption key, the default AWS owned KMS key is used.", + "markdownDescription": "An KMS key identifier for the key to use to encrypt the integration. If you don't specify an encryption key, the default AWS owned KMS key is used.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "AdditionalEncryptionContext": { + "$ref": "#/definitions/EncryptionContextMap" + } + }, + "required": [ + "SourceArn", + "TargetArn" + ], + "definitions": { + "Tags": { + "type": "array", + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "description": "An array of key-value pairs to apply to this resource.", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Tag": { + "description": "A key-value pair to associate with a resource.", + "type": "object", + "additionalProperties": false, + "properties": { + "Key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. \n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. \n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key" + ], + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EncryptionContextMap": { + "type": "object", + "patternProperties": { + "^[\\s\\S]*$": { + "type": "string", + "maxLength": 131072, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 131072 \nUpdate requires: No interruption" + } + }, + "description": "An optional set of non-secret key\u2013value pairs that contains additional contextual information about the data.", + "additionalProperties": false, + "markdownDescription": "An optional set of non-secret key\u2013value pairs that contains additional contextual information about the data.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "propertyTransform": { + "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])" + }, + "createOnlyProperties": [ + "/properties/SourceArn", + "/properties/TargetArn", + "/properties/KMSKeyId", + "/properties/AdditionalEncryptionContext" + ], + "readOnlyProperties": [ + "/properties/IntegrationArn", + "/properties/CreateTime" + ], + "primaryIdentifier": [ + "/properties/IntegrationArn" + ], + "handlers": { + "create": { + "permissions": [ + "redshift:CreateIntegration", + "redshift:DescribeIntegrations", + "redshift:CreateTags", + "redshift:DescribeTags", + "redshift:DescribeClusters", + "redshift:CreateInboundIntegration", + "redshift-serverless:ListNamespaces", + "kms:CreateGrant", + "kms:DescribeKey" + ] + }, + "read": { + "permissions": [ + "redshift:DescribeIntegrations", + "redshift:DescribeTags" + ] + }, + "update": { + "permissions": [ + "redshift:DescribeIntegrations", + "redshift:ModifyIntegration", + "redshift:CreateTags", + "redshift:DeleteTags", + "redshift:DescribeClusters", + "redshift:DescribeTags", + "redshift-serverless:ListNamespaces" + ] + }, + "delete": { + "permissions": [ + "redshift:DeleteTags", + "redshift:DeleteIntegration", + "redshift:DescribeIntegrations" + ] + }, + "list": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeIntegrations" + ] + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "redshift:CreateTags", + "redshift:DeleteTags", + "redshift:DescribeTags" + ] + }, + "additionalProperties": false, + "attributes": { + "IntegrationArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the integration.", + "markdownDescription": "The Amazon Resource Name (ARN) of the integration.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CreateTime": { + "type": "string", + "description": "The time (UTC) when the integration was created.", + "markdownDescription": "The time (UTC) when the integration was created.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-redshiftserverless-namespace.json b/server/schema/resources/aws-redshiftserverless-namespace.json index 98681ff6..0828e16d 100644 --- a/server/schema/resources/aws-redshiftserverless-namespace.json +++ b/server/schema/resources/aws-redshiftserverless-namespace.json @@ -254,7 +254,16 @@ } }, "tagging": { - "taggable": false + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "redshift-serverless:ListTagsForResource", + "redshift-serverless:TagResource", + "redshift-serverless:UntagResource" + ] }, "required": [ "NamespaceName" @@ -277,9 +286,6 @@ "/properties/AdminUserPassword", "/properties/FinalSnapshotName", "/properties/FinalSnapshotRetentionPeriod", - "/properties/Tags", - "/properties/Tags/*/Key", - "/properties/Tags/*/Value", "/properties/ManageAdminPassword", "/properties/RedshiftIdcApplicationArn" ], @@ -293,6 +299,7 @@ "handlers": { "create": { "permissions": [ + "iam:CreateServiceLinkedRole", "iam:PassRole", "kms:TagResource", "kms:UntagResource", @@ -311,6 +318,8 @@ "redshift-serverless:GetNamespace", "redshift-serverless:ListSnapshotCopyConfigurations", "redshift-serverless:CreateSnapshotCopyConfiguration", + "redshift-serverless:ListTagsForResource", + "redshift-serverless:TagResource", "redshift:GetResourcePolicy", "redshift:PutResourcePolicy", "secretsmanager:CreateSecret", @@ -323,6 +332,7 @@ "permissions": [ "iam:PassRole", "redshift-serverless:GetNamespace", + "redshift-serverless:ListTagsForResource", "redshift:GetResourcePolicy", "redshift-serverless:ListSnapshotCopyConfigurations" ] @@ -349,6 +359,9 @@ "redshift-serverless:CreateSnapshotCopyConfiguration", "redshift-serverless:UpdateSnapshotCopyConfiguration", "redshift-serverless:DeleteSnapshotCopyConfiguration", + "redshift-serverless:ListTagsForResource", + "redshift-serverless:TagResource", + "redshift-serverless:UntagResource", "redshift:GetResourcePolicy", "redshift:PutResourcePolicy", "redshift:DeleteResourcePolicy", @@ -365,6 +378,8 @@ "iam:PassRole", "redshift-serverless:DeleteNamespace", "redshift-serverless:GetNamespace", + "redshift-serverless:ListTagsForResource", + "redshift-serverless:UntagResource", "kms:RetireGrant", "secretsmanager:DescribeSecret", "secretsmanager:DeleteSecret", @@ -374,7 +389,8 @@ "list": { "permissions": [ "iam:PassRole", - "redshift-serverless:ListNamespaces" + "redshift-serverless:ListNamespaces", + "redshift-serverless:ListTagsForResource" ] } }, diff --git a/server/schema/resources/aws-redshiftserverless-workgroup.json b/server/schema/resources/aws-redshiftserverless-workgroup.json index 93d4e097..85c96c34 100644 --- a/server/schema/resources/aws-redshiftserverless-workgroup.json +++ b/server/schema/resources/aws-redshiftserverless-workgroup.json @@ -68,6 +68,22 @@ "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "PerformanceTarget": { + "type": "object", + "properties": { + "Status": { + "$ref": "#/definitions/PerformanceTargetStatus" + }, + "Level": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "VpcEndpoint": { "type": "object", "properties": { @@ -170,6 +186,9 @@ "CreationDate": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "PricePerformanceTarget": { + "$ref": "#/definitions/PerformanceTarget" } }, "additionalProperties": false, @@ -207,6 +226,14 @@ "DELETING" ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATING | AVAILABLE | MODIFYING | DELETING \nUpdate requires: No interruption" + }, + "PerformanceTargetStatus": { + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" } }, "properties": { @@ -290,6 +317,12 @@ "type": "integer", "markdownDescription": "The custom port to use when connecting to a workgroup. Valid port ranges are 5431-5455 and 8191-8215. The default is 5439.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "PricePerformanceTarget": { + "description": "A property that represents the price performance target settings for the workgroup.", + "type": "object", + "$ref": "#/definitions/PerformanceTarget", + "markdownDescription": "A property that represents the price performance target settings for the workgroup.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "Tags": { "description": "The map of the key-value pairs used to tag the workgroup.", "type": "array", @@ -303,7 +336,16 @@ } }, "tagging": { - "taggable": true + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "redshift-serverless:ListTagsForResource", + "redshift-serverless:TagResource", + "redshift-serverless:UntagResource" + ] }, "additionalProperties": false, "required": [ @@ -343,10 +385,7 @@ "/properties/MaxCapacity", "/properties/ConfigParameters", "/properties/SecurityGroupIds", - "/properties/SubnetIds", - "/properties/Tags", - "/properties/Tags/*/Key", - "/properties/Tags/*/Value" + "/properties/SubnetIds" ], "primaryIdentifier": [ "/properties/WorkgroupName" @@ -364,7 +403,9 @@ "redshift-serverless:CreateNamespace", "redshift-serverless:CreateWorkgroup", "redshift-serverless:GetWorkgroup", - "redshift-serverless:GetNamespace" + "redshift-serverless:GetNamespace", + "redshift-serverless:ListTagsForResource", + "redshift-serverless:TagResource" ] }, "read": { @@ -376,7 +417,8 @@ "ec2:DescribeSubnets", "ec2:DescribeAccountAttributes", "ec2:DescribeAvailabilityZones", - "redshift-serverless:GetWorkgroup" + "redshift-serverless:GetWorkgroup", + "redshift-serverless:ListTagsForResource" ] }, "update": { @@ -392,7 +434,10 @@ "redshift-serverless:TagResource", "redshift-serverless:UntagResource", "redshift-serverless:GetWorkgroup", - "redshift-serverless:UpdateWorkgroup" + "redshift-serverless:UpdateWorkgroup", + "redshift-serverless:ListTagsForResource", + "redshift-serverless:TagResource", + "redshift-serverless:UntagResource" ] }, "delete": { @@ -406,7 +451,9 @@ "ec2:DescribeAvailabilityZones", "redshift-serverless:GetWorkgroup", "redshift-serverless:GetNamespace", - "redshift-serverless:DeleteWorkgroup" + "redshift-serverless:DeleteWorkgroup", + "redshift-serverless:ListTagsForResource", + "redshift-serverless:UntagResource" ] }, "list": { @@ -418,7 +465,8 @@ "ec2:DescribeSubnets", "ec2:DescribeAccountAttributes", "ec2:DescribeAvailabilityZones", - "redshift-serverless:ListWorkgroups" + "redshift-serverless:ListWorkgroups", + "redshift-serverless:ListTagsForResource" ] } }, diff --git a/server/schema/resources/aws-refactorspaces-application.json b/server/schema/resources/aws-refactorspaces-application.json index 80cad43f..fa608ea9 100644 --- a/server/schema/resources/aws-refactorspaces-application.json +++ b/server/schema/resources/aws-refactorspaces-application.json @@ -147,10 +147,6 @@ "apigateway:POST", "apigateway:PUT", "apigateway:UpdateRestApiPolicy", - "apigateway:Update*", - "apigateway:Delete*", - "apigateway:Get*", - "apigateway:Put*", "elasticloadbalancing:CreateLoadBalancer", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTags", @@ -178,10 +174,10 @@ "ec2:DeleteTags", "ec2:RevokeSecurityGroupIngress", "elasticloadbalancing:DeleteLoadBalancer", - "apigateway:Update*", - "apigateway:Delete*", - "apigateway:Get*", - "apigateway:Put*" + "apigateway:DELETE", + "apigateway:GET", + "apigateway:PUT", + "apigateway:UpdateRestApiPolicy" ] }, "list": { diff --git a/server/schema/resources/aws-refactorspaces-environment.json b/server/schema/resources/aws-refactorspaces-environment.json index 1dbfef46..ca79ce12 100644 --- a/server/schema/resources/aws-refactorspaces-environment.json +++ b/server/schema/resources/aws-refactorspaces-environment.json @@ -48,7 +48,7 @@ "type": "string", "maxLength": 63, "minLength": 3, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 3 \nMaximum Length: 63 \nPattern: ^(?!env-)[a-zA-Z0-9]+[a-zA-Z0-9-_ ]+$ \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 3 \nMaximum Length: 63 \nPattern: ^(?!env-)[a-zA-Z0-9]+[a-zA-Z0-9-_ ]+$ \nUpdate requires: Replacement" }, "NetworkFabricType": { "$ref": "#/definitions/NetworkFabricType" @@ -63,10 +63,6 @@ "markdownDescription": "Metadata that you can assign to help organize the frameworks that you create. Each tag is a key-value pair.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "required": [ - "Name", - "NetworkFabricType" - ], "readOnlyProperties": [ "/properties/EnvironmentIdentifier", "/properties/Arn", @@ -124,6 +120,13 @@ "refactor-spaces:ListTagsForResource" ] }, + "update": { + "permissions": [ + "refactor-spaces:GetEnvironment", + "refactor-spaces:TagResource", + "refactor-spaces:UntagResource" + ] + }, "delete": { "permissions": [ "refactor-spaces:GetEnvironment", @@ -145,7 +148,18 @@ ] } }, - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "refactor-spaces:TagResource", + "refactor-spaces:ListTagsForResource", + "refactor-spaces:UntagResource" + ] + }, "attributes": { "EnvironmentIdentifier": { "type": "string", diff --git a/server/schema/resources/aws-refactorspaces-route.json b/server/schema/resources/aws-refactorspaces-route.json index e14cb55e..7cc0fdf9 100644 --- a/server/schema/resources/aws-refactorspaces-route.json +++ b/server/schema/resources/aws-refactorspaces-route.json @@ -288,21 +288,7 @@ ] } }, - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags", - "permissions": [ - "refactor-spaces:ListTagsForResource", - "tag:GetResources", - "elasticloadbalancing:AddTags", - "refactor-spaces:UntagResource", - "refactor-spaces:TagResource", - "elasticloadbalancing:DescribeTags" - ] - }, + "taggable": true, "attributes": { "PathResourceToId": { "type": "string", diff --git a/server/schema/resources/aws-refactorspaces-service.json b/server/schema/resources/aws-refactorspaces-service.json index 46ac708f..5a28a3fe 100644 --- a/server/schema/resources/aws-refactorspaces-service.json +++ b/server/schema/resources/aws-refactorspaces-service.json @@ -180,7 +180,7 @@ }, "read": { "permissions": [ - "refactor-spacess:GetService", + "refactor-spaces:GetService", "refactor-spaces:ListTagsForResource" ] }, diff --git a/server/schema/resources/aws-resiliencehub-app.json b/server/schema/resources/aws-resiliencehub-app.json index e5276e73..95991b5b 100644 --- a/server/schema/resources/aws-resiliencehub-app.json +++ b/server/schema/resources/aws-resiliencehub-app.json @@ -172,6 +172,11 @@ "description": "Amazon Resource Name (ARN) of the Resiliency Policy.", "markdownDescription": "Amazon Resource Name (ARN) of the Resiliency Policy.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$ \nUpdate requires: No interruption" }, + "RegulatoryPolicyArn": { + "type": "string", + "description": "Amazon Resource Name (ARN) of the Regulatory Policy.", + "markdownDescription": "Amazon Resource Name (ARN) of the Regulatory Policy.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$ \nUpdate requires: No interruption" + }, "Tags": { "$ref": "#/definitions/TagMap" }, @@ -220,7 +225,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "resiliencehub:TagResource", + "resiliencehub:ListTagsForResource", + "resiliencehub:UntagResource" + ] }, "additionalProperties": false, "required": [ @@ -260,7 +270,17 @@ "sns:GetTopicAttributes", "route53:List*", "iam:PassRole", - "resiliencehub:*" + "resiliencehub:CreateApp", + "resiliencehub:DescribeApp", + "resiliencehub:DescribeAppVersionTemplate", + "resiliencehub:PutDraftAppVersionTemplate", + "resiliencehub:AddDraftAppVersionResourceMappings", + "resiliencehub:ListAppVersionResourceMappings", + "resiliencehub:ListAppVersions", + "resiliencehub:PublishAppVersion", + "resiliencehub:ListTagsForResource", + "resiliencehub:TagResource", + "resiliencehub:UntagResource" ] }, "read": { @@ -293,7 +313,18 @@ "sns:GetTopicAttributes", "route53:List*", "iam:PassRole", - "resiliencehub:*" + "resiliencehub:UpdateApp", + "resiliencehub:DescribeApp", + "resiliencehub:DescribeAppVersionTemplate", + "resiliencehub:PutDraftAppVersionTemplate", + "resiliencehub:AddDraftAppVersionResourceMappings", + "resiliencehub:RemoveDraftAppVersionResourceMappings", + "resiliencehub:ListAppVersionResourceMappings", + "resiliencehub:ListAppVersions", + "resiliencehub:PublishAppVersion", + "resiliencehub:ListTagsForResource", + "resiliencehub:TagResource", + "resiliencehub:UntagResource" ] }, "delete": { diff --git a/server/schema/resources/aws-resiliencehub-resiliencypolicy.json b/server/schema/resources/aws-resiliencehub-resiliencypolicy.json index e67f35c6..b68a8c1c 100644 --- a/server/schema/resources/aws-resiliencehub-resiliencypolicy.json +++ b/server/schema/resources/aws-resiliencehub-resiliencypolicy.json @@ -111,7 +111,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "resiliencehub:TagResource", + "resiliencehub:ListTagsForResource", + "resiliencehub:UntagResource" + ] }, "additionalProperties": false, "required": [ diff --git a/server/schema/resources/aws-resourcegroups-tagsynctask.json b/server/schema/resources/aws-resourcegroups-tagsynctask.json new file mode 100644 index 00000000..ecac083f --- /dev/null +++ b/server/schema/resources/aws-resourcegroups-tagsynctask.json @@ -0,0 +1,123 @@ +{ + "typeName": "AWS::ResourceGroups::TagSyncTask", + "description": "Schema for ResourceGroups::TagSyncTask", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "properties": { + "Group": { + "description": "The Amazon resource name (ARN) or name of the application group for which you want to create a tag-sync task", + "type": "string", + "maxLength": 1600, + "minLength": 12, + "markdownDescription": "The Amazon resource name (ARN) or name of the application group for which you want to create a tag-sync task\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 12 \nMaximum Length: 1600 \nPattern: ([a-zA-Z0-9_\\\\.-]{1,150}/[a-z0-9]{26})|(arn:aws(-[a-z]+)*:resource-groups(-(test|beta|gamma))?:[a-z]{2}(-[a-z]+)+-\\d{1}:[0-9]{12}:group/[a-zA-Z0-9_\\\\.-]{1,150}/[a-z0-9]{26}) \nUpdate requires: Replacement" + }, + "TagKey": { + "description": "The tag key. Resources tagged with this tag key-value pair will be added to the application. If a resource with this tag is later untagged, the tag-sync task removes the resource from the application.", + "type": "string", + "maxLength": 128, + "minLength": 1, + "markdownDescription": "The tag key. Resources tagged with this tag key-value pair will be added to the application. If a resource with this tag is later untagged, the tag-sync task removes the resource from the application.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$ \nUpdate requires: Replacement" + }, + "TagValue": { + "description": "The tag value. Resources tagged with this tag key-value pair will be added to the application. If a resource with this tag is later untagged, the tag-sync task removes the resource from the application.", + "type": "string", + "maxLength": 256, + "minLength": 0, + "markdownDescription": "The tag value. Resources tagged with this tag key-value pair will be added to the application. If a resource with this tag is later untagged, the tag-sync task removes the resource from the application.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$ \nUpdate requires: Replacement" + }, + "RoleArn": { + "description": "The Amazon resource name (ARN) of the role assumed by the service to tag and untag resources on your behalf.", + "type": "string", + "maxLength": 2048, + "minLength": 20, + "markdownDescription": "The Amazon resource name (ARN) of the role assumed by the service to tag and untag resources on your behalf.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: arn:(aws[a-zA-Z-]*)?:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+ \nUpdate requires: Replacement" + } + }, + "additionalProperties": false, + "required": [ + "Group", + "TagKey", + "TagValue", + "RoleArn" + ], + "createOnlyProperties": [ + "/properties/Group", + "/properties/TagKey", + "/properties/TagValue", + "/properties/RoleArn" + ], + "readOnlyProperties": [ + "/properties/TaskArn", + "/properties/Status", + "/properties/GroupName", + "/properties/GroupArn" + ], + "primaryIdentifier": [ + "/properties/TaskArn" + ], + "propertyTransform": { + "/properties/Group": "$split(Group, \"/\")[1] & \"/\" & $split(Group, \"/\")[2] $OR Group" + }, + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "handlers": { + "create": { + "permissions": [ + "resource-groups:StartTagSyncTask", + "resource-groups:CreateGroup", + "iam:PassRole" + ] + }, + "read": { + "permissions": [ + "resource-groups:GetTagSyncTask" + ] + }, + "delete": { + "permissions": [ + "resource-groups:CancelTagSyncTask", + "resource-groups:DeleteGroup" + ] + }, + "list": { + "permissions": [ + "resource-groups:ListTagSyncTasks" + ] + } + }, + "attributes": { + "GroupArn": { + "description": "The Amazon resource name (ARN) of the ApplicationGroup for which the TagSyncTask is created", + "type": "string", + "maxLength": 1600, + "minLength": 12, + "markdownDescription": "The Amazon resource name (ARN) of the ApplicationGroup for which the TagSyncTask is created\n\n---\n\nRequired: No \nType: String \nMinimum Length: 12 \nMaximum Length: 1600 \nPattern: arn:aws(-[a-z]+)*:resource-groups(-(test|beta|gamma))?:[a-z]{2}(-[a-z]+)+-\\d{1}:[0-9]{12}:group/[a-zA-Z0-9_\\.-]{1,150}/[a-z0-9]{26} \nUpdate requires: No interruption" + }, + "GroupName": { + "description": "The Name of the application group for which the TagSyncTask is created", + "type": "string", + "maxLength": 300, + "minLength": 1, + "markdownDescription": "The Name of the application group for which the TagSyncTask is created\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 300 \nPattern: [a-zA-Z0-9_\\.-]{1,150}/[a-z0-9]{26} \nUpdate requires: No interruption" + }, + "TaskArn": { + "description": "The ARN of the TagSyncTask resource", + "type": "string", + "maxLength": 1600, + "minLength": 12, + "markdownDescription": "The ARN of the TagSyncTask resource\n\n---\n\nRequired: No \nType: String \nMinimum Length: 12 \nMaximum Length: 1600 \nPattern: arn:aws(-[a-z]+)*:resource-groups(-(test|beta|gamma))?:[a-z]{2}(-[a-z]+)+-\\d{1}:[0-9]{12}:group/[a-zA-Z0-9_\\.-]{1,150}/[a-z0-9]{26}/tag-sync-task/[a-z0-9]{26} \nUpdate requires: No interruption" + }, + "Status": { + "description": "The status of the TagSyncTask", + "type": "string", + "enum": [ + "ACTIVE", + "ERROR" + ], + "markdownDescription": "The status of the TagSyncTask\n\n---\n\nRequired: No \nType: String \nAllowed Values: ACTIVE | ERROR \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-rolesanywhere-crl.json b/server/schema/resources/aws-rolesanywhere-crl.json index 79b7fb18..3a941a60 100644 --- a/server/schema/resources/aws-rolesanywhere-crl.json +++ b/server/schema/resources/aws-rolesanywhere-crl.json @@ -58,7 +58,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "rolesanywhere:UntagResource", + "rolesanywhere:TagResource", + "rolesanywhere:ListTagsForResource" + ] }, "required": [ "Name", diff --git a/server/schema/resources/aws-rolesanywhere-profile.json b/server/schema/resources/aws-rolesanywhere-profile.json index d64d120a..ce4cdd65 100644 --- a/server/schema/resources/aws-rolesanywhere-profile.json +++ b/server/schema/resources/aws-rolesanywhere-profile.json @@ -95,7 +95,7 @@ }, "RequireInstanceProperties": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" }, "RoleArns": { "type": "array", @@ -137,12 +137,23 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "rolesanywhere:UntagResource", + "rolesanywhere:TagResource", + "rolesanywhere:ListTagsForResource" + ] }, + "createOnlyProperties": [ + "/properties/RequireInstanceProperties" + ], "readOnlyProperties": [ "/properties/ProfileId", "/properties/ProfileArn" ], + "writeOnlyProperties": [ + "/properties/RequireInstanceProperties" + ], "primaryIdentifier": [ "/properties/ProfileId" ], diff --git a/server/schema/resources/aws-rolesanywhere-trustanchor.json b/server/schema/resources/aws-rolesanywhere-trustanchor.json index bce0518e..e04c263d 100644 --- a/server/schema/resources/aws-rolesanywhere-trustanchor.json +++ b/server/schema/resources/aws-rolesanywhere-trustanchor.json @@ -156,7 +156,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "rolesanywhere:UntagResource", + "rolesanywhere:TagResource", + "rolesanywhere:ListTagsForResource" + ] }, "required": [ "Name", diff --git a/server/schema/resources/aws-route53-hostedzone.json b/server/schema/resources/aws-route53-hostedzone.json index a2ecb3e9..edd6d45e 100644 --- a/server/schema/resources/aws-route53-hostedzone.json +++ b/server/schema/resources/aws-route53-hostedzone.json @@ -172,7 +172,9 @@ "update": { "permissions": [ "route53:GetChange", + "route53:GetHostedZone", "route53:ListTagsForResource", + "route53:ListQueryLoggingConfigs", "route53:UpdateHostedZoneComment", "route53:ChangeTagsForResource", "route53:AssociateVPCWithHostedZone", @@ -194,7 +196,6 @@ "permissions": [ "route53:GetHostedZone", "route53:ListHostedZones", - "route53:ListHostedZonesByName", "route53:ListQueryLoggingConfigs", "route53:ListTagsForResource" ] diff --git a/server/schema/resources/aws-route53profiles-profileassociation.json b/server/schema/resources/aws-route53profiles-profileassociation.json index eba708f5..d0f74bc3 100644 --- a/server/schema/resources/aws-route53profiles-profileassociation.json +++ b/server/schema/resources/aws-route53profiles-profileassociation.json @@ -77,6 +77,7 @@ "/properties/ResourceId", "/properties/ProfileId" ], + "replacementStrategy": "delete_then_create", "primaryIdentifier": [ "/properties/Id" ], diff --git a/server/schema/resources/aws-route53profiles-profileresourceassociation.json b/server/schema/resources/aws-route53profiles-profileresourceassociation.json index bce85e63..331c0dba 100644 --- a/server/schema/resources/aws-route53profiles-profileresourceassociation.json +++ b/server/schema/resources/aws-route53profiles-profileresourceassociation.json @@ -39,6 +39,7 @@ "/properties/Name", "/properties/ResourceArn" ], + "replacementStrategy": "delete_then_create", "primaryIdentifier": [ "/properties/Id" ], diff --git a/server/schema/resources/aws-route53recoverycontrol-cluster.json b/server/schema/resources/aws-route53recoverycontrol-cluster.json index 2968458f..09357e70 100644 --- a/server/schema/resources/aws-route53recoverycontrol-cluster.json +++ b/server/schema/resources/aws-route53recoverycontrol-cluster.json @@ -72,9 +72,6 @@ "/properties/Name", "/properties/Tags" ], - "writeOnlyProperties": [ - "/properties/Tags" - ], "readOnlyProperties": [ "/properties/ClusterArn", "/properties/ClusterEndpoints", @@ -115,7 +112,12 @@ "tagOnCreate": true, "tagUpdatable": false, "tagProperty": "/properties/Tags", - "cloudFormationSystemTags": false + "cloudFormationSystemTags": false, + "permissions": [ + "route53-recovery-control-config:TagResource", + "route53-recovery-control-config:UntagResource", + "route53-recovery-control-config:ListTagsForResource" + ] }, "attributes": { "ClusterArn": { diff --git a/server/schema/resources/aws-route53recoverycontrol-controlpanel.json b/server/schema/resources/aws-route53recoverycontrol-controlpanel.json index d37be17f..e07c3823 100644 --- a/server/schema/resources/aws-route53recoverycontrol-controlpanel.json +++ b/server/schema/resources/aws-route53recoverycontrol-controlpanel.json @@ -58,9 +58,6 @@ "/properties/ClusterArn", "/properties/Tags" ], - "writeOnlyProperties": [ - "/properties/Tags" - ], "primaryIdentifier": [ "/properties/ControlPanelArn" ], @@ -112,7 +109,12 @@ "tagOnCreate": true, "tagUpdatable": true, "tagProperty": "/properties/Tags", - "cloudFormationSystemTags": false + "cloudFormationSystemTags": false, + "permissions": [ + "route53-recovery-control-config:TagResource", + "route53-recovery-control-config:UntagResource", + "route53-recovery-control-config:ListTagsForResource" + ] }, "attributes": { "ControlPanelArn": { diff --git a/server/schema/resources/aws-route53recoverycontrol-safetyrule.json b/server/schema/resources/aws-route53recoverycontrol-safetyrule.json index 88a177ea..1bb55b55 100644 --- a/server/schema/resources/aws-route53recoverycontrol-safetyrule.json +++ b/server/schema/resources/aws-route53recoverycontrol-safetyrule.json @@ -189,9 +189,6 @@ "/properties/GatingRule/GatingControls", "/properties/GatingRule/TargetControls" ], - "writeOnlyProperties": [ - "/properties/Tags" - ], "readOnlyProperties": [ "/properties/SafetyRuleArn", "/properties/Status" @@ -252,7 +249,12 @@ "tagOnCreate": true, "tagUpdatable": true, "tagProperty": "/properties/Tags", - "cloudFormationSystemTags": false + "cloudFormationSystemTags": false, + "permissions": [ + "route53-recovery-control-config:TagResource", + "route53-recovery-control-config:UntagResource", + "route53-recovery-control-config:ListTagsForResource" + ] }, "attributes": { "SafetyRuleArn": { diff --git a/server/schema/resources/aws-route53recoveryreadiness-cell.json b/server/schema/resources/aws-route53recoveryreadiness-cell.json index f4765705..221fe065 100644 --- a/server/schema/resources/aws-route53recoveryreadiness-cell.json +++ b/server/schema/resources/aws-route53recoveryreadiness-cell.json @@ -2,7 +2,6 @@ "typeName": "AWS::Route53RecoveryReadiness::Cell", "description": "The API Schema for AWS Route53 Recovery Readiness Cells.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-reoute53-recovery-readiness.git", - "taggable": true, "definitions": { "Tag": { "type": "object", @@ -100,6 +99,18 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": false, + "permissions": [ + "route53-recovery-readiness:TagResource", + "route53-recovery-readiness:UntagResource", + "route53-recovery-readiness:ListTagsForResource" + ] + }, "attributes": { "CellArn": { "description": "The Amazon Resource Name (ARN) of the cell.", diff --git a/server/schema/resources/aws-route53recoveryreadiness-readinesscheck.json b/server/schema/resources/aws-route53recoveryreadiness-readinesscheck.json index 27c9482f..2dab23a8 100644 --- a/server/schema/resources/aws-route53recoveryreadiness-readinesscheck.json +++ b/server/schema/resources/aws-route53recoveryreadiness-readinesscheck.json @@ -2,7 +2,6 @@ "typeName": "AWS::Route53RecoveryReadiness::ReadinessCheck", "description": "Aws Route53 Recovery Readiness Check Schema and API specification.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53-recovery-readiness.git", - "taggable": true, "definitions": { "Tag": { "type": "object", @@ -99,6 +98,18 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": false, + "permissions": [ + "route53-recovery-readiness:TagResource", + "route53-recovery-readiness:UntagResource", + "route53-recovery-readiness:ListTagsForResource" + ] + }, "attributes": { "ReadinessCheckArn": { "description": "The Amazon Resource Name (ARN) of the readiness check.", diff --git a/server/schema/resources/aws-route53recoveryreadiness-recoverygroup.json b/server/schema/resources/aws-route53recoveryreadiness-recoverygroup.json index c772d47c..b4423376 100644 --- a/server/schema/resources/aws-route53recoveryreadiness-recoverygroup.json +++ b/server/schema/resources/aws-route53recoveryreadiness-recoverygroup.json @@ -2,7 +2,6 @@ "typeName": "AWS::Route53RecoveryReadiness::RecoveryGroup", "description": "AWS Route53 Recovery Readiness Recovery Group Schema and API specifications.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53-recovery-readiness-readiness.git", - "taggable": true, "definitions": { "Tag": { "type": "object", @@ -104,6 +103,18 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": false, + "permissions": [ + "route53-recovery-readiness:TagResource", + "route53-recovery-readiness:UntagResource", + "route53-recovery-readiness:ListTagsForResource" + ] + }, "attributes": { "RecoveryGroupArn": { "description": "A collection of tags associated with a resource.", diff --git a/server/schema/resources/aws-route53recoveryreadiness-resourceset.json b/server/schema/resources/aws-route53recoveryreadiness-resourceset.json index 07db9bb5..1e517135 100644 --- a/server/schema/resources/aws-route53recoveryreadiness-resourceset.json +++ b/server/schema/resources/aws-route53recoveryreadiness-resourceset.json @@ -2,7 +2,6 @@ "typeName": "AWS::Route53RecoveryReadiness::ResourceSet", "description": "Schema for the AWS Route53 Recovery Readiness ResourceSet Resource and API.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53-recovery-readiness.git", - "taggable": true, "definitions": { "Tag": { "type": "object", @@ -232,6 +231,18 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": false, + "permissions": [ + "route53-recovery-readiness:TagResource", + "route53-recovery-readiness:UntagResource", + "route53-recovery-readiness:ListTagsForResource" + ] + }, "attributes": { "ResourceSetArn": { "description": "The Amazon Resource Name (ARN) of the resource set.", diff --git a/server/schema/resources/aws-route53resolver-firewallrulegroup.json b/server/schema/resources/aws-route53resolver-firewallrulegroup.json index 8c2156bf..cb39ed2d 100644 --- a/server/schema/resources/aws-route53resolver-firewallrulegroup.json +++ b/server/schema/resources/aws-route53resolver-firewallrulegroup.json @@ -11,7 +11,14 @@ "type": "string", "minLength": 1, "maxLength": 64, - "markdownDescription": "ResourceId\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + "markdownDescription": "ResourceId\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + }, + "FirewallThreatProtectionId": { + "description": "ResourceId", + "type": "string", + "minLength": 1, + "maxLength": 64, + "markdownDescription": "ResourceId\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" }, "Priority": { "description": "Rule Priority", @@ -67,6 +74,25 @@ "maxLength": 16, "markdownDescription": "Qtype\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 16 \nUpdate requires: No interruption" }, + "ConfidenceThreshold": { + "description": "FirewallDomainRedirectionAction", + "type": "string", + "enum": [ + "LOW", + "MEDIUM", + "HIGH" + ], + "markdownDescription": "FirewallDomainRedirectionAction\n\n---\n\nRequired: No \nType: String \nAllowed Values: LOW | MEDIUM | HIGH \nUpdate requires: No interruption" + }, + "DnsThreatProtection": { + "description": "FirewallDomainRedirectionAction", + "type": "string", + "enum": [ + "DGA", + "DNS_TUNNELING" + ], + "markdownDescription": "FirewallDomainRedirectionAction\n\n---\n\nRequired: No \nType: String \nAllowed Values: DGA | DNS_TUNNELING \nUpdate requires: No interruption" + }, "FirewallDomainRedirectionAction": { "description": "FirewallDomainRedirectionAction", "type": "string", @@ -78,7 +104,6 @@ } }, "required": [ - "FirewallDomainListId", "Priority", "Action" ], @@ -165,7 +190,8 @@ "/properties/ShareStatus", "/properties/CreatorRequestId", "/properties/CreationTime", - "/properties/ModificationTime" + "/properties/ModificationTime", + "/properties/FirewallRules/*/FirewallThreatProtectionId" ], "primaryIdentifier": [ "/properties/Id" diff --git a/server/schema/resources/aws-route53resolver-outpostresolver.json b/server/schema/resources/aws-route53resolver-outpostresolver.json index 8dcdf198..61bea0c3 100644 --- a/server/schema/resources/aws-route53resolver-outpostresolver.json +++ b/server/schema/resources/aws-route53resolver-outpostresolver.json @@ -76,7 +76,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "route53resolver:TagResource", + "route53resolver:UntagResource" + ] }, "required": [ "OutpostArn", @@ -104,7 +108,8 @@ "route53resolver:CreateOutpostResolver", "route53resolver:GetOutpostResolver", "route53resolver:ListTagsForResource", - "outposts:GetOutpost" + "outposts:GetOutpost", + "route53resolver:TagResource" ] }, "read": { diff --git a/server/schema/resources/aws-route53resolver-resolverrule.json b/server/schema/resources/aws-route53resolver-resolverrule.json index 8d920590..ab811b53 100644 --- a/server/schema/resources/aws-route53resolver-resolverrule.json +++ b/server/schema/resources/aws-route53resolver-resolverrule.json @@ -1,5 +1,9 @@ { "tagging": { + "permissions": [ + "route53resolver:TagResource", + "route53resolver:UntagResource" + ], "taggable": true, "tagOnCreate": true, "tagUpdatable": true, @@ -95,6 +99,13 @@ "DoH" ], "markdownDescription": "The protocol that you want to use to forward DNS queries. \n\n---\n\nRequired: No \nType: String \nAllowed Values: Do53 | DoH \nUpdate requires: No interruption" + }, + "ServerNameIndication": { + "minLength": 0, + "description": "The SNI of the target name servers for DoH/DoH-FIPS outbound endpoints", + "type": "string", + "maxLength": 255, + "markdownDescription": "The SNI of the target name servers for DoH/DoH-FIPS outbound endpoints\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -151,13 +162,6 @@ ], "markdownDescription": "When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD. When you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify SYSTEM.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: FORWARD | SYSTEM | RECURSIVE | DELEGATE \nUpdate requires: Replacement" }, - "DelegationRecord": { - "minLength": 1, - "description": "The name server domain for queries to be delegated to if a query matches the delegation record.", - "type": "string", - "maxLength": 256, - "markdownDescription": "The name server domain for queries to be delegated to if a query matches the delegation record.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" - }, "Tags": { "uniqueItems": false, "description": "An array of key-value pairs to apply to this resource.", diff --git a/server/schema/resources/aws-s3-accessgrant.json b/server/schema/resources/aws-s3-accessgrant.json index 3fcfab35..81de236a 100644 --- a/server/schema/resources/aws-s3-accessgrant.json +++ b/server/schema/resources/aws-s3-accessgrant.json @@ -1,7 +1,7 @@ { "typeName": "AWS::S3::AccessGrant", "description": "The AWS::S3::AccessGrant resource is an Amazon S3 resource type representing permissions to a specific S3 bucket or prefix hosted in an S3 Access Grants instance.", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-s3", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "definitions": { "Grantee": { "type": "object", @@ -131,7 +131,6 @@ "/properties/Tags" ], "writeOnlyProperties": [ - "/properties/Tags", "/properties/S3PrefixType" ], "readOnlyProperties": [ @@ -146,7 +145,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "tagProperty": "/properties/Tags" + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "s3:UntagResource", + "s3:TagResource", + "s3:ListTagsForResource" + ] }, "handlers": { "create": { @@ -157,7 +162,8 @@ }, "read": { "permissions": [ - "s3:GetAccessGrant" + "s3:GetAccessGrant", + "s3:ListTagsForResource" ] }, "delete": { @@ -172,7 +178,8 @@ }, "update": { "permissions": [ - "s3:TagResource" + "s3:TagResource", + "s3:UntagResource" ] } }, diff --git a/server/schema/resources/aws-s3-accessgrantsinstance.json b/server/schema/resources/aws-s3-accessgrantsinstance.json index cb2b8977..81164880 100644 --- a/server/schema/resources/aws-s3-accessgrantsinstance.json +++ b/server/schema/resources/aws-s3-accessgrantsinstance.json @@ -70,7 +70,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "tagProperty": "/properties/Tags" + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "s3:UntagResource", + "s3:TagResource", + "s3:ListTagsForResource" + ] }, "handlers": { "create": { @@ -81,7 +87,8 @@ }, "read": { "permissions": [ - "s3:GetAccessGrantsInstance" + "s3:GetAccessGrantsInstance", + "s3:ListTagsForResource" ] }, "delete": { @@ -91,7 +98,8 @@ }, "update": { "permissions": [ - "s3:TagResource" + "s3:TagResource", + "s3:UntagResource" ] }, "list": { diff --git a/server/schema/resources/aws-s3-accessgrantslocation.json b/server/schema/resources/aws-s3-accessgrantslocation.json index 503b0793..aa9fa199 100644 --- a/server/schema/resources/aws-s3-accessgrantslocation.json +++ b/server/schema/resources/aws-s3-accessgrantslocation.json @@ -61,14 +61,17 @@ "createOnlyProperties": [ "/properties/Tags" ], - "writeOnlyProperties": [ - "/properties/Tags" - ], "tagging": { "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "tagProperty": "/properties/Tags" + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "s3:UntagResource", + "s3:TagResource", + "s3:ListTagsForResource" + ] }, "handlers": { "create": { @@ -80,7 +83,8 @@ }, "read": { "permissions": [ - "s3:GetAccessGrantsLocation" + "s3:GetAccessGrantsLocation", + "s3:ListTagsForResource" ] }, "delete": { @@ -97,6 +101,7 @@ "permissions": [ "s3:UpdateAccessGrantsLocation", "s3:TagResource", + "s3:UntagResource", "iam:PassRole" ] } diff --git a/server/schema/resources/aws-s3-accesspoint.json b/server/schema/resources/aws-s3-accesspoint.json index 30550261..e802d176 100644 --- a/server/schema/resources/aws-s3-accesspoint.json +++ b/server/schema/resources/aws-s3-accesspoint.json @@ -138,6 +138,9 @@ ] } }, + "tagging": { + "taggable": false + }, "additionalProperties": false, "attributes": { "Alias": { diff --git a/server/schema/resources/aws-s3-bucket.json b/server/schema/resources/aws-s3-bucket.json index 575d42bc..8f9a9f34 100644 --- a/server/schema/resources/aws-s3-bucket.json +++ b/server/schema/resources/aws-s3-bucket.json @@ -1,857 +1,243 @@ { - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "tagProperty": "/properties/Tags", - "cloudFormationSystemTags": true - }, - "propertyTransform": { - "/properties/NotificationConfiguration/LambdaConfigurations/*/Filter/S3Key/Rules/*/Name": "$replace(Name, \"prefix\", \"Prefix\") $OR $replace(Name, \"suffix\", \"Suffix\")", - "/properties/NotificationConfiguration/QueueConfigurations/*/Filter/S3Key/Rules/*/Name": "$replace(Name, \"prefix\", \"Prefix\") $OR $replace(Name, \"suffix\", \"Suffix\")", - "/properties/NotificationConfiguration/TopicConfigurations/*/Filter/S3Key/Rules/*/Name": "$replace(Name, \"prefix\", \"Prefix\") $OR $replace(Name, \"suffix\", \"Suffix\")" - }, - "handlers": { - "read": { - "permissions": [ - "s3:GetAccelerateConfiguration", - "s3:GetLifecycleConfiguration", - "s3:GetBucketPublicAccessBlock", - "s3:GetAnalyticsConfiguration", - "s3:GetBucketCORS", - "s3:GetEncryptionConfiguration", - "s3:GetInventoryConfiguration", - "s3:GetBucketLogging", - "s3:GetMetricsConfiguration", - "s3:GetBucketNotification", - "s3:GetBucketVersioning", - "s3:GetReplicationConfiguration", - "S3:GetBucketWebsite", - "s3:GetBucketPublicAccessBlock", - "s3:GetBucketObjectLockConfiguration", - "s3:GetBucketTagging", - "s3:GetBucketOwnershipControls", - "s3:GetIntelligentTieringConfiguration", - "s3:ListBucket" - ] - }, - "create": { - "permissions": [ - "s3:CreateBucket", - "s3:PutBucketTagging", - "s3:PutAnalyticsConfiguration", - "s3:PutEncryptionConfiguration", - "s3:PutBucketCORS", - "s3:PutInventoryConfiguration", - "s3:PutLifecycleConfiguration", - "s3:PutMetricsConfiguration", - "s3:PutBucketNotification", - "s3:PutBucketReplication", - "s3:PutBucketWebsite", - "s3:PutAccelerateConfiguration", - "s3:PutBucketPublicAccessBlock", - "s3:PutReplicationConfiguration", - "s3:PutObjectAcl", - "s3:PutBucketObjectLockConfiguration", - "s3:GetBucketAcl", - "s3:ListBucket", - "iam:PassRole", - "s3:DeleteObject", - "s3:PutBucketLogging", - "s3:PutBucketVersioning", - "s3:PutObjectLockConfiguration", - "s3:PutBucketOwnershipControls", - "s3:PutIntelligentTieringConfiguration" - ] - }, - "update": { - "permissions": [ - "s3:PutBucketAcl", - "s3:PutBucketTagging", - "s3:PutAnalyticsConfiguration", - "s3:PutEncryptionConfiguration", - "s3:PutBucketCORS", - "s3:PutInventoryConfiguration", - "s3:PutLifecycleConfiguration", - "s3:PutMetricsConfiguration", - "s3:PutBucketNotification", - "s3:PutBucketReplication", - "s3:PutBucketWebsite", - "s3:PutAccelerateConfiguration", - "s3:PutBucketPublicAccessBlock", - "s3:PutReplicationConfiguration", - "s3:PutBucketOwnershipControls", - "s3:PutIntelligentTieringConfiguration", - "s3:DeleteBucketWebsite", - "s3:PutBucketLogging", - "s3:PutBucketVersioning", - "s3:PutObjectLockConfiguration", - "s3:PutBucketObjectLockConfiguration", - "s3:DeleteBucketAnalyticsConfiguration", - "s3:DeleteBucketCors", - "s3:DeleteBucketMetricsConfiguration", - "s3:DeleteBucketEncryption", - "s3:DeleteBucketLifecycle", - "s3:DeleteBucketReplication", - "iam:PassRole", - "s3:ListBucket" - ] - }, - "list": { - "permissions": [ - "s3:ListAllMyBuckets" - ] - }, - "delete": { - "permissions": [ - "s3:DeleteBucket", - "s3:ListBucket" - ] - } - }, "typeName": "AWS::S3::Bucket", - "readOnlyProperties": [ - "/properties/Arn", - "/properties/DomainName", - "/properties/DualStackDomainName", - "/properties/RegionalDomainName", - "/properties/WebsiteURL" - ], "description": "The ``AWS::S3::Bucket`` resource creates an Amazon S3 bucket in the same AWS Region where you create the AWS CloudFormation stack.\n To control how AWS CloudFormation handles the bucket when the stack is deleted, you can set a deletion policy for your bucket. You can choose to *retain* the bucket or to *delete* the bucket. For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).\n You can only delete empty buckets. Deletion fails for buckets that have contents.", - "writeOnlyProperties": [ - "/properties/AccessControl", - "/properties/LifecycleConfiguration/Rules/*/NoncurrentVersionExpirationInDays", - "/properties/LifecycleConfiguration/Rules/*/NoncurrentVersionTransition", - "/properties/LifecycleConfiguration/Rules/*/Transition", - "/properties/ReplicationConfiguration/Rules/*/Prefix", - "/properties/LifecycleConfiguration/Rules/*/ExpiredObjectDeleteMarker" - ], - "createOnlyProperties": [ - "/properties/BucketName" - ], "additionalProperties": false, - "primaryIdentifier": [ - "/properties/BucketName" - ], - "definitions": { - "DefaultRetention": { - "description": "The container element for optionally specifying the default Object Lock retention settings for new objects placed in the specified bucket.\n + The ``DefaultRetention`` settings require both a mode and a period.\n + The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time.", - "additionalProperties": false, - "type": "object", - "properties": { - "Years": { - "description": "The number of years that you want to specify for the default retention period. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.", - "type": "integer", - "markdownDescription": "The number of years that you want to specify for the default retention period. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Days": { - "description": "The number of days that you want to specify for the default retention period. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.", - "type": "integer", - "markdownDescription": "The number of days that you want to specify for the default retention period. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Mode": { - "description": "The default Object Lock retention mode you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.", - "type": "string", - "enum": [ - "COMPLIANCE", - "GOVERNANCE" - ], - "markdownDescription": "The default Object Lock retention mode you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.\n\n---\n\nRequired: No \nType: String \nAllowed Values: COMPLIANCE | GOVERNANCE \nUpdate requires: No interruption" - } - }, - "markdownDescription": "The container element for optionally specifying the default Object Lock retention settings for new objects placed in the specified bucket.\n + The ``DefaultRetention`` settings require both a mode and a period.\n + The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "SourceSelectionCriteria": { - "description": "A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.", - "additionalProperties": false, - "type": "object", - "properties": { - "ReplicaModifications": { - "description": "A filter that you can specify for selection for modifications on replicas.", - "$ref": "#/definitions/ReplicaModifications", - "markdownDescription": "A filter that you can specify for selection for modifications on replicas.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "SseKmsEncryptedObjects": { - "description": "A container for filter information for the selection of Amazon S3 objects encrypted with AWS KMS.", - "$ref": "#/definitions/SseKmsEncryptedObjects", - "markdownDescription": "A container for filter information for the selection of Amazon S3 objects encrypted with AWS KMS.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - } - }, - "markdownDescription": "A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ReplicationTimeValue": { - "description": "A container specifying the time value for S3 Replication Time Control (S3 RTC) and replication metrics ``EventThreshold``.", - "additionalProperties": false, - "type": "object", - "properties": { - "Minutes": { - "description": "Contains an integer specifying time in minutes. \n Valid value: 15", - "type": "integer", - "markdownDescription": "Contains an integer specifying time in minutes. \n Valid value: 15\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - } - }, - "required": [ - "Minutes" - ], - "markdownDescription": "A container specifying the time value for S3 Replication Time Control (S3 RTC) and replication metrics ``EventThreshold``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "FilterRule": { - "description": "Specifies the Amazon S3 object key name to filter on. An object key name is the name assigned to an object in your Amazon S3 bucket. You specify whether to filter on the suffix or prefix of the object key name. A prefix is a specific string of characters at the beginning of an object key name, which you can use to organize objects. For example, you can start the key names of related objects with a prefix, such as ``2023-`` or ``engineering/``. Then, you can use ``FilterRule`` to find objects in a bucket with key names that have the same prefix. A suffix is similar to a prefix, but it is at the end of the object key name instead of at the beginning.", - "additionalProperties": false, - "type": "object", - "properties": { - "Value": { - "description": "The value that the filter searches for in object key names.", - "type": "string", - "markdownDescription": "The value that the filter searches for in object key names.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "Name": { - "description": "The object key name prefix or suffix identifying one or more objects to which the filtering rule applies. The maximum length is 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, see [Configuring Event Notifications](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.", - "type": "string", - "maxLength": 1024, - "markdownDescription": "The object key name prefix or suffix identifying one or more objects to which the filtering rule applies. The maximum length is 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, see [Configuring Event Notifications](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" - } - }, - "required": [ - "Value", - "Name" - ], - "markdownDescription": "Specifies the Amazon S3 object key name to filter on. An object key name is the name assigned to an object in your Amazon S3 bucket. You specify whether to filter on the suffix or prefix of the object key name. A prefix is a specific string of characters at the beginning of an object key name, which you can use to organize objects. For example, you can start the key names of related objects with a prefix, such as ``2023-`` or ``engineering/``. Then, you can use ``FilterRule`` to find objects in a bucket with key names that have the same prefix. A suffix is similar to a prefix, but it is at the end of the object key name instead of at the beginning.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ReplicationRule": { - "description": "Specifies which Amazon S3 objects to replicate and where to store the replicas.", - "additionalProperties": false, - "type": "object", - "properties": { - "Status": { - "description": "Specifies whether the rule is enabled.", - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ], - "markdownDescription": "Specifies whether the rule is enabled.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" - }, - "Destination": { - "description": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).", - "$ref": "#/definitions/ReplicationDestination", - "markdownDescription": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" - }, - "Filter": { - "description": "A filter that identifies the subset of objects to which the replication rule applies. A ``Filter`` must specify exactly one ``Prefix``, ``TagFilter``, or an ``And`` child element. The use of the filter field indicates that this is a V2 replication configuration. This field isn't supported in a V1 replication configuration.\n V1 replication configuration only supports filtering by key prefix. To filter using a V1 replication configuration, add the ``Prefix`` directly as a child element of the ``Rule`` element.", - "$ref": "#/definitions/ReplicationRuleFilter", - "markdownDescription": "A filter that identifies the subset of objects to which the replication rule applies. A ``Filter`` must specify exactly one ``Prefix``, ``TagFilter``, or an ``And`` child element. The use of the filter field indicates that this is a V2 replication configuration. This field isn't supported in a V1 replication configuration.\n V1 replication configuration only supports filtering by key prefix. To filter using a V1 replication configuration, add the ``Prefix`` directly as a child element of the ``Rule`` element.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Priority": { - "description": "The priority indicates which rule has precedence whenever two or more replication rules conflict. Amazon S3 will attempt to replicate objects according to all replication rules. However, if there are two or more rules with the same destination bucket, then objects will be replicated according to the rule with the highest priority. The higher the number, the higher the priority. \n For more information, see [Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html) in the *Amazon S3 User Guide*.", - "type": "integer", - "markdownDescription": "The priority indicates which rule has precedence whenever two or more replication rules conflict. Amazon S3 will attempt to replicate objects according to all replication rules. However, if there are two or more rules with the same destination bucket, then objects will be replicated according to the rule with the highest priority. The higher the number, the higher the priority. \n For more information, see [Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "SourceSelectionCriteria": { - "description": "A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.", - "$ref": "#/definitions/SourceSelectionCriteria", - "markdownDescription": "A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Id": { - "description": "A unique identifier for the rule. The maximum value is 255 characters. If you don't specify a value, AWS CloudFormation generates a random ID. When using a V2 replication configuration this property is capitalized as \"ID\".", - "type": "string", - "maxLength": 255, - "markdownDescription": "A unique identifier for the rule. The maximum value is 255 characters. If you don't specify a value, AWS CloudFormation generates a random ID. When using a V2 replication configuration this property is capitalized as \"ID\".\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" - }, - "Prefix": { - "description": "An object key name prefix that identifies the object or objects to which the rule applies. The maximum prefix length is 1,024 characters. To include all objects in a bucket, specify an empty string. To filter using a V1 replication configuration, add the ``Prefix`` directly as a child element of the ``Rule`` element.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).", - "type": "string", - "maxLength": 1024, - "markdownDescription": "An object key name prefix that identifies the object or objects to which the rule applies. The maximum prefix length is 1,024 characters. To include all objects in a bucket, specify an empty string. To filter using a V1 replication configuration, add the ``Prefix`` directly as a child element of the ``Rule`` element.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" - }, - "DeleteMarkerReplication": { - "description": "Specifies whether Amazon S3 replicates delete markers. If you specify a ``Filter`` in your replication configuration, you must also include a ``DeleteMarkerReplication`` element. If your ``Filter`` includes a ``Tag`` element, the ``DeleteMarkerReplication`` ``Status`` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). \n For more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). \n If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations).", - "$ref": "#/definitions/DeleteMarkerReplication", - "markdownDescription": "Specifies whether Amazon S3 replicates delete markers. If you specify a ``Filter`` in your replication configuration, you must also include a ``DeleteMarkerReplication`` element. If your ``Filter`` includes a ``Tag`` element, the ``DeleteMarkerReplication`` ``Status`` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). \n For more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). \n If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - } - }, - "required": [ - "Destination", - "Status" - ], - "markdownDescription": "Specifies which Amazon S3 objects to replicate and where to store the replicas.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, + "properties": { "AccelerateConfiguration": { + "$ref": "#/definitions/AccelerateConfiguration", "description": "Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide*.", - "additionalProperties": false, - "type": "object", - "properties": { - "AccelerationStatus": { - "description": "Specifies the transfer acceleration status of the bucket.", - "type": "string", - "enum": [ - "Enabled", - "Suspended" - ], - "markdownDescription": "Specifies the transfer acceleration status of the bucket.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Enabled | Suspended \nUpdate requires: No interruption" - } - }, - "required": [ - "AccelerationStatus" - ], - "markdownDescription": "Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "TargetObjectKeyFormat": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "SimplePrefix": { - "description": "This format defaults the prefix to the given log file prefix for delivering server access log file.", - "additionalProperties": false, - "type": "object" - } - }, - "required": [ - "SimplePrefix" - ] - }, - { - "additionalProperties": false, - "properties": { - "PartitionedPrefix": { - "$ref": "#/definitions/PartitionedPrefix" - } - }, - "required": [ - "PartitionedPrefix" - ] - } - ], - "description": "Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix.", - "type": "object", - "markdownDescription": "Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Metrics": { - "description": "A container specifying replication metrics-related settings enabling replication metrics and events.", - "additionalProperties": false, - "type": "object", - "properties": { - "Status": { - "description": "Specifies whether the replication metrics are enabled.", - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ], - "markdownDescription": "Specifies whether the replication metrics are enabled.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" - }, - "EventThreshold": { - "description": "A container specifying the time threshold for emitting the ``s3:Replication:OperationMissedThreshold`` event.", - "$ref": "#/definitions/ReplicationTimeValue", - "markdownDescription": "A container specifying the time threshold for emitting the ``s3:Replication:OperationMissedThreshold`` event.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - } - }, - "required": [ - "Status" - ], - "markdownDescription": "A container specifying replication metrics-related settings enabling replication metrics and events.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "RoutingRuleCondition": { - "description": "A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the ``/docs`` folder, redirect to the ``/documents`` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.", - "additionalProperties": false, - "type": "object", - "properties": { - "KeyPrefixEquals": { - "description": "The object key name prefix when the redirect is applied. For example, to redirect requests for ``ExamplePage.html``, the key prefix will be ``ExamplePage.html``. To redirect request for all pages with the prefix ``docs/``, the key prefix will be ``/docs``, which identifies all objects in the docs/ folder.\n Required when the parent element ``Condition`` is specified and sibling ``HttpErrorCodeReturnedEquals`` is not specified. If both conditions are specified, both must be true for the redirect to be applied.", - "type": "string", - "markdownDescription": "The object key name prefix when the redirect is applied. For example, to redirect requests for ``ExamplePage.html``, the key prefix will be ``ExamplePage.html``. To redirect request for all pages with the prefix ``docs/``, the key prefix will be ``/docs``, which identifies all objects in the docs/ folder.\n Required when the parent element ``Condition`` is specified and sibling ``HttpErrorCodeReturnedEquals`` is not specified. If both conditions are specified, both must be true for the redirect to be applied.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "HttpErrorCodeReturnedEquals": { - "description": "The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied.\n Required when parent element ``Condition`` is specified and sibling ``KeyPrefixEquals`` is not specified. If both are specified, then both must be true for the redirect to be applied.", - "type": "string", - "markdownDescription": "The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied.\n Required when parent element ``Condition`` is specified and sibling ``KeyPrefixEquals`` is not specified. If both are specified, then both must be true for the redirect to be applied.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "markdownDescription": "A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the ``/docs`` folder, redirect to the ``/documents`` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "OwnershipControls": { - "description": "Specifies the container element for Object Ownership rules.\n S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see [Controlling ownership of objects and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.", - "additionalProperties": false, - "type": "object", - "properties": { - "Rules": { - "uniqueItems": true, - "description": "Specifies the container element for Object Ownership rules.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/OwnershipControlsRule" - }, - "markdownDescription": "Specifies the container element for Object Ownership rules.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - } - }, - "required": [ - "Rules" - ], - "markdownDescription": "Specifies the container element for Object Ownership rules.\n S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see [Controlling ownership of objects and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "DeleteMarkerReplication": { - "description": "Specifies whether Amazon S3 replicates delete markers. If you specify a ``Filter`` in your replication configuration, you must also include a ``DeleteMarkerReplication`` element. If your ``Filter`` includes a ``Tag`` element, the ``DeleteMarkerReplication`` ``Status`` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). \n For more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). \n If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations).", - "additionalProperties": false, - "type": "object", - "properties": { - "Status": { - "description": "Indicates whether to replicate delete markers. Disabled by default.", - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ], - "markdownDescription": "Indicates whether to replicate delete markers. Disabled by default.\n\n---\n\nRequired: No \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" - } - }, - "markdownDescription": "Specifies whether Amazon S3 replicates delete markers. If you specify a ``Filter`` in your replication configuration, you must also include a ``DeleteMarkerReplication`` element. If your ``Filter`` includes a ``Tag`` element, the ``DeleteMarkerReplication`` ``Status`` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). \n For more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). \n If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "RoutingRule": { - "description": "Specifies the redirect behavior and when a redirect is applied. For more information about routing rules, see [Configuring advanced conditional redirects](https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects) in the *Amazon S3 User Guide*.", - "additionalProperties": false, - "type": "object", - "properties": { - "RedirectRule": { - "description": "Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.", - "$ref": "#/definitions/RedirectRule", - "markdownDescription": "Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" - }, - "RoutingRuleCondition": { - "description": "A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the ``/docs`` folder, redirect to the ``/documents`` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.", - "$ref": "#/definitions/RoutingRuleCondition", - "markdownDescription": "A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the ``/docs`` folder, redirect to the ``/documents`` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - } - }, - "required": [ - "RedirectRule" + "AccessControl": { + "description": "This is a legacy property, and it is not recommended for most use cases. A majority of modern use cases in Amazon S3 no longer require the use of ACLs, and we recommend that you keep ACLs disabled. For more information, see [Controlling object ownership](https://docs.aws.amazon.com//AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.\n A canned access control list (ACL) that grants predefined permissions to the bucket. For more information about canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) in the *Amazon S3 User Guide*.\n S3 buckets are created with ACLs disabled by default. Therefore, unless you explicitly set the [AWS::S3::OwnershipControls](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html) property to enable ACLs, your resource will fail to deploy with any value other than Private. Use cases requiring ACLs are uncommon.\n The majority of access control configurations can be successfully and more easily achieved with bucket policies. For more information, see [AWS::S3::BucketPolicy](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html). For examples of common policy configurations, including S3 Server Access Logs buckets and more, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html) in the *Amazon S3 User Guide*.", + "enum": [ + "AuthenticatedRead", + "AwsExecRead", + "BucketOwnerFullControl", + "BucketOwnerRead", + "LogDeliveryWrite", + "Private", + "PublicRead", + "PublicReadWrite" ], - "markdownDescription": "Specifies the redirect behavior and when a redirect is applied. For more information about routing rules, see [Configuring advanced conditional redirects](https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "type": "string", + "markdownDescription": "This is a legacy property, and it is not recommended for most use cases. A majority of modern use cases in Amazon S3 no longer require the use of ACLs, and we recommend that you keep ACLs disabled. For more information, see [Controlling object ownership](https://docs.aws.amazon.com//AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.\n A canned access control list (ACL) that grants predefined permissions to the bucket. For more information about canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) in the *Amazon S3 User Guide*.\n S3 buckets are created with ACLs disabled by default. Therefore, unless you explicitly set the [AWS::S3::OwnershipControls](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html) property to enable ACLs, your resource will fail to deploy with any value other than Private. Use cases requiring ACLs are uncommon.\n The majority of access control configurations can be successfully and more easily achieved with bucket policies. For more information, see [AWS::S3::BucketPolicy](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html). For examples of common policy configurations, including S3 Server Access Logs buckets and more, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AuthenticatedRead | AwsExecRead | BucketOwnerFullControl | BucketOwnerRead | LogDeliveryWrite | Private | PublicRead | PublicReadWrite \nUpdate requires: No interruption" }, - "NotificationFilter": { - "description": "Specifies object key name filtering rules. For information about key name filtering, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.", - "additionalProperties": false, - "type": "object", - "properties": { - "S3Key": { - "description": "A container for object key name prefix and suffix filtering rules.", - "$ref": "#/definitions/S3KeyFilter", - "markdownDescription": "A container for object key name prefix and suffix filtering rules.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" - } + "AnalyticsConfigurations": { + "description": "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.", + "items": { + "$ref": "#/definitions/AnalyticsConfiguration" }, - "required": [ - "S3Key" - ], - "markdownDescription": "Specifies object key name filtering rules. For information about key name filtering, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "markdownDescription": "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "ReplicationConfiguration": { - "description": "A container for replication rules. You can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB. The latest version of the replication configuration XML is V2. For more information about XML V2 replication configurations, see [Replication configuration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-add-config.html) in the *Amazon S3 User Guide*.", - "additionalProperties": false, - "type": "object", - "properties": { - "Role": { - "description": "The Amazon Resource Name (ARN) of the IAMlong (IAM) role that Amazon S3 assumes when replicating objects. For more information, see [How to Set Up Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html) in the *Amazon S3 User Guide*.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the IAMlong (IAM) role that Amazon S3 assumes when replicating objects. For more information, see [How to Set Up Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "Rules": { - "uniqueItems": true, - "description": "A container for one or more replication rules. A replication configuration must have at least one rule and can contain a maximum of 1,000 rules.", - "insertionOrder": true, - "type": "array", - "items": { - "minLength": 1, - "$ref": "#/definitions/ReplicationRule", - "maxLength": 1000 - }, - "markdownDescription": "A container for one or more replication rules. A replication configuration must have at least one rule and can contain a maximum of 1,000 rules.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - } - }, - "required": [ - "Role", - "Rules" - ], - "markdownDescription": "A container for replication rules. You can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB. The latest version of the replication configuration XML is V2. For more information about XML V2 replication configurations, see [Replication configuration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-add-config.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "BucketEncryption": { + "$ref": "#/definitions/BucketEncryption", + "description": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide*.", + "markdownDescription": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "ServerSideEncryptionRule": { - "description": "Specifies the default server-side encryption configuration.\n If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.", - "additionalProperties": false, - "type": "object", - "properties": { - "BucketKeyEnabled": { - "description": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the ``BucketKeyEnabled`` element to ``true`` causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket Key is not enabled.\n For more information, see [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) in the *Amazon S3 User Guide*.", - "type": "boolean", - "markdownDescription": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the ``BucketKeyEnabled`` element to ``true`` causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket Key is not enabled.\n For more information, see [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "ServerSideEncryptionByDefault": { - "description": "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.", - "$ref": "#/definitions/ServerSideEncryptionByDefault", - "markdownDescription": "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - } - }, - "markdownDescription": "Specifies the default server-side encryption configuration.\n If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "BucketName": { + "description": "A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow [Amazon S3 bucket restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html). For more information, see [Rules for naming Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules) in the *Amazon S3 User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.", + "type": "string", + "markdownDescription": "A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow [Amazon S3 bucket restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html). For more information, see [Rules for naming Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules) in the *Amazon S3 User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "ReplicationDestination": { - "description": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).", - "additionalProperties": false, - "type": "object", - "properties": { - "AccessControlTranslation": { - "description": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS-account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS-account that owns the source object.", - "$ref": "#/definitions/AccessControlTranslation", - "markdownDescription": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS-account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS-account that owns the source object.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Account": { - "description": "Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to change replica ownership to the AWS-account that owns the destination bucket by specifying the ``AccessControlTranslation`` property, this is the account ID of the destination bucket owner. For more information, see [Cross-Region Replication Additional Configuration: Change Replica Owner](https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-change-owner.html) in the *Amazon S3 User Guide*.\n If you specify the ``AccessControlTranslation`` property, the ``Account`` property is required.", - "type": "string", - "markdownDescription": "Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to change replica ownership to the AWS-account that owns the destination bucket by specifying the ``AccessControlTranslation`` property, this is the account ID of the destination bucket owner. For more information, see [Cross-Region Replication Additional Configuration: Change Replica Owner](https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-change-owner.html) in the *Amazon S3 User Guide*.\n If you specify the ``AccessControlTranslation`` property, the ``Account`` property is required.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Metrics": { - "description": "A container specifying replication metrics-related settings enabling replication metrics and events.", - "$ref": "#/definitions/Metrics", - "markdownDescription": "A container specifying replication metrics-related settings enabling replication metrics and events.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Bucket": { - "description": "The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "EncryptionConfiguration": { - "description": "Specifies encryption-related information.", - "$ref": "#/definitions/EncryptionConfiguration", - "markdownDescription": "Specifies encryption-related information.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "StorageClass": { - "description": "The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica. \n For valid values, see the ``StorageClass`` element of the [PUT Bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) action in the *Amazon S3 API Reference*.", - "type": "string", - "enum": [ - "DEEP_ARCHIVE", - "GLACIER", - "GLACIER_IR", - "INTELLIGENT_TIERING", - "ONEZONE_IA", - "REDUCED_REDUNDANCY", - "STANDARD", - "STANDARD_IA" - ], - "markdownDescription": "The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica. \n For valid values, see the ``StorageClass`` element of the [PUT Bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) action in the *Amazon S3 API Reference*.\n\n---\n\nRequired: No \nType: String \nAllowed Values: DEEP_ARCHIVE | GLACIER | GLACIER_IR | INTELLIGENT_TIERING | ONEZONE_IA | REDUCED_REDUNDANCY | STANDARD | STANDARD_IA \nUpdate requires: No interruption" - }, - "ReplicationTime": { - "description": "A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a ``Metrics`` block.", - "$ref": "#/definitions/ReplicationTime", - "markdownDescription": "A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a ``Metrics`` block.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - } - }, - "required": [ - "Bucket" - ], - "markdownDescription": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "CorsConfiguration": { + "$ref": "#/definitions/CorsConfiguration", + "description": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide*.", + "markdownDescription": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "OwnershipControlsRule": { - "description": "Specifies an Object Ownership rule.\n S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see [Controlling ownership of objects and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.", - "additionalProperties": false, - "type": "object", - "properties": { - "ObjectOwnership": { - "description": "Specifies an object ownership rule.", - "type": "string", - "enum": [ - "ObjectWriter", - "BucketOwnerPreferred", - "BucketOwnerEnforced" - ], - "markdownDescription": "Specifies an object ownership rule.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ObjectWriter | BucketOwnerPreferred | BucketOwnerEnforced \nUpdate requires: No interruption" - } + "IntelligentTieringConfigurations": { + "description": "Defines how Amazon S3 handles Intelligent-Tiering storage.", + "items": { + "$ref": "#/definitions/IntelligentTieringConfiguration" }, - "markdownDescription": "Specifies an Object Ownership rule.\n S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see [Controlling ownership of objects and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "markdownDescription": "Defines how Amazon S3 handles Intelligent-Tiering storage.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "EventBridgeConfiguration": { - "description": "Amazon S3 can send events to Amazon EventBridge whenever certain events happen in your bucket, see [Using EventBridge](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventBridge.html) in the *Amazon S3 User Guide*.\n Unlike other destinations, delivery of events to EventBridge can be either enabled or disabled for a bucket. If enabled, all events will be sent to EventBridge and you can use EventBridge rules to route events to additional targets. For more information, see [What Is Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) in the *Amazon EventBridge User Guide*", - "additionalProperties": false, - "type": "object", - "properties": { - "EventBridgeEnabled": { - "default": "true", - "description": "Enables delivery of events to Amazon EventBridge.", - "type": "boolean", - "markdownDescription": "Enables delivery of events to Amazon EventBridge.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" - } + "InventoryConfigurations": { + "description": "Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.", + "items": { + "$ref": "#/definitions/InventoryConfiguration" }, - "required": [ - "EventBridgeEnabled" - ], - "markdownDescription": "Amazon S3 can send events to Amazon EventBridge whenever certain events happen in your bucket, see [Using EventBridge](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventBridge.html) in the *Amazon S3 User Guide*.\n Unlike other destinations, delivery of events to EventBridge can be either enabled or disabled for a bucket. If enabled, all events will be sent to EventBridge and you can use EventBridge rules to route events to additional targets. For more information, see [What Is Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) in the *Amazon EventBridge User Guide*\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "markdownDescription": "Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "CorsRule": { - "description": "Specifies a cross-origin access rule for an Amazon S3 bucket.", - "additionalProperties": false, - "type": "object", - "properties": { - "ExposedHeaders": { - "uniqueItems": true, - "description": "One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript ``XMLHttpRequest`` object).", - "insertionOrder": true, - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript ``XMLHttpRequest`` object).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "AllowedMethods": { - "uniqueItems": true, - "description": "An HTTP method that you allow the origin to run.\n *Allowed values*: ``GET`` | ``PUT`` | ``HEAD`` | ``POST`` | ``DELETE``", - "insertionOrder": true, - "type": "array", - "items": { - "type": "string", - "enum": [ - "GET", - "PUT", - "HEAD", - "POST", - "DELETE" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: GET | PUT | HEAD | POST | DELETE \nUpdate requires: No interruption" - }, - "markdownDescription": "An HTTP method that you allow the origin to run.\n *Allowed values*: ``GET`` | ``PUT`` | ``HEAD`` | ``POST`` | ``DELETE``\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "AllowedOrigins": { - "uniqueItems": true, - "description": "One or more origins you want customers to be able to access the bucket from.", - "insertionOrder": true, - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "One or more origins you want customers to be able to access the bucket from.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "AllowedHeaders": { - "uniqueItems": true, - "description": "Headers that are specified in the ``Access-Control-Request-Headers`` header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.", - "insertionOrder": true, - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "Headers that are specified in the ``Access-Control-Request-Headers`` header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "MaxAge": { - "description": "The time in seconds that your browser is to cache the preflight response for the specified resource.", - "type": "integer", - "minimum": 0, - "markdownDescription": "The time in seconds that your browser is to cache the preflight response for the specified resource.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Id": { - "description": "A unique identifier for this rule. The value must be no more than 255 characters.", - "type": "string", - "maxLength": 255, - "markdownDescription": "A unique identifier for this rule. The value must be no more than 255 characters.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" - } + "LifecycleConfiguration": { + "$ref": "#/definitions/LifecycleConfiguration", + "description": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide*.", + "markdownDescription": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/LoggingConfiguration", + "description": "Settings that define where logs are stored.", + "markdownDescription": "Settings that define where logs are stored.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "MetricsConfigurations": { + "description": "Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see [PutBucketMetricsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html).", + "items": { + "$ref": "#/definitions/MetricsConfiguration" }, - "required": [ - "AllowedMethods", - "AllowedOrigins" - ], - "markdownDescription": "Specifies a cross-origin access rule for an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "markdownDescription": "Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see [PutBucketMetricsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "AccessControlTranslation": { - "description": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS-account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS-account that owns the source object.", - "additionalProperties": false, + "NotificationConfiguration": { + "$ref": "#/definitions/NotificationConfiguration", + "description": "Configuration that defines how Amazon S3 handles bucket notifications.", + "markdownDescription": "Configuration that defines how Amazon S3 handles bucket notifications.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ObjectLockConfiguration": { + "$ref": "#/definitions/ObjectLockConfiguration", + "description": "This operation is not supported by directory buckets.\n Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). \n + The ``DefaultRetention`` settings require both a mode and a period.\n + The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time.\n + You can enable Object Lock for new or existing buckets. For more information, see [Configuring Object Lock](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html).", + "markdownDescription": "This operation is not supported by directory buckets.\n Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). \n + The ``DefaultRetention`` settings require both a mode and a period.\n + The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time.\n + You can enable Object Lock for new or existing buckets. For more information, see [Configuring Object Lock](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ObjectLockEnabled": { + "description": "Indicates whether this bucket has an Object Lock configuration enabled. Enable ``ObjectLockEnabled`` when you apply ``ObjectLockConfiguration`` to a bucket.", + "type": "boolean", + "markdownDescription": "Indicates whether this bucket has an Object Lock configuration enabled. Enable ``ObjectLockEnabled`` when you apply ``ObjectLockConfiguration`` to a bucket.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "OwnershipControls": { + "description": "Configuration that defines how Amazon S3 handles Object Ownership rules.", + "$ref": "#/definitions/OwnershipControls", + "markdownDescription": "Configuration that defines how Amazon S3 handles Object Ownership rules.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/PublicAccessBlockConfiguration", + "description": "Configuration that defines how Amazon S3 handles public access.", + "markdownDescription": "Configuration that defines how Amazon S3 handles public access.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ReplicationConfiguration": { + "$ref": "#/definitions/ReplicationConfiguration", + "description": "Configuration for replicating objects in an S3 bucket. To enable replication, you must also enable versioning by using the ``VersioningConfiguration`` property.\n Amazon S3 can store replicated objects in a single destination bucket or multiple destination buckets. The destination bucket or buckets must already exist.", + "markdownDescription": "Configuration for replicating objects in an S3 bucket. To enable replication, you must also enable versioning by using the ``VersioningConfiguration`` property.\n Amazon S3 can store replicated objects in a single destination bucket or multiple destination buckets. The destination bucket or buckets must already exist.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Tags": { + "description": "An arbitrary set of tags (key-value pairs) for this S3 bucket.", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "markdownDescription": "An arbitrary set of tags (key-value pairs) for this S3 bucket.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "VersioningConfiguration": { + "$ref": "#/definitions/VersioningConfiguration", + "description": "Enables multiple versions of all objects in this bucket. You might enable versioning to prevent objects from being deleted or overwritten by mistake or to archive objects so that you can retrieve previous versions of them.\n When you enable versioning on a bucket for the first time, it might take a short amount of time for the change to be fully propagated. We recommend that you wait for 15 minutes after enabling versioning before issuing write operations (``PUT`` or ``DELETE``) on objects in the bucket.", + "markdownDescription": "Enables multiple versions of all objects in this bucket. You might enable versioning to prevent objects from being deleted or overwritten by mistake or to archive objects so that you can retrieve previous versions of them.\n When you enable versioning on a bucket for the first time, it might take a short amount of time for the change to be fully propagated. We recommend that you wait for 15 minutes after enabling versioning before issuing write operations (``PUT`` or ``DELETE``) on objects in the bucket.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "WebsiteConfiguration": { + "$ref": "#/definitions/WebsiteConfiguration", + "description": "Information used to configure the bucket as a static website. For more information, see [Hosting Websites on Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html).", + "markdownDescription": "Information used to configure the bucket as a static website. For more information, see [Hosting Websites on Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "definitions": { + "TagFilter": { + "description": "Specifies tags to use to identify a subset of objects for an Amazon S3 bucket.", "type": "object", + "additionalProperties": false, "properties": { - "Owner": { - "const": "Destination", - "description": "Specifies the replica ownership. For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) in the *Amazon S3 API Reference*.", + "Value": { "type": "string", - "markdownDescription": "Specifies the replica ownership. For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) in the *Amazon S3 API Reference*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The tag value.", + "markdownDescription": "The tag value.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Key": { + "type": "string", + "description": "The tag key.", + "markdownDescription": "The tag key.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "Owner" + "Value", + "Key" ], - "markdownDescription": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS-account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS-account that owns the source object.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies tags to use to identify a subset of objects for an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ObjectLockRule": { - "description": "Specifies the Object Lock rule for the specified object. Enable the this rule when you apply ``ObjectLockConfiguration`` to a bucket.", - "additionalProperties": false, + "Destination": { + "description": "Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket.", "type": "object", - "properties": { - "DefaultRetention": { - "description": "The default Object Lock retention mode and period that you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, bucket settings require both ``Mode`` and a period of either ``Days`` or ``Years``. You cannot specify ``Days`` and ``Years`` at the same time. For more information about allowable values for mode and period, see [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html).", - "$ref": "#/definitions/DefaultRetention", - "markdownDescription": "The default Object Lock retention mode and period that you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, bucket settings require both ``Mode`` and a period of either ``Days`` or ``Years``. You cannot specify ``Days`` and ``Years`` at the same time. For more information about allowable values for mode and period, see [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - } - }, - "markdownDescription": "Specifies the Object Lock rule for the specified object. Enable the this rule when you apply ``ObjectLockConfiguration`` to a bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Rule": { - "description": "Specifies lifecycle rules for an Amazon S3 bucket. For more information, see [Put Bucket Lifecycle Configuration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html) in the *Amazon S3 API Reference*.\n You must specify at least one of the following properties: ``AbortIncompleteMultipartUpload``, ``ExpirationDate``, ``ExpirationInDays``, ``NoncurrentVersionExpirationInDays``, ``NoncurrentVersionTransition``, ``NoncurrentVersionTransitions``, ``Transition``, or ``Transitions``.", "additionalProperties": false, - "type": "object", "properties": { - "Status": { - "description": "If ``Enabled``, the rule is currently being applied. If ``Disabled``, the rule is not currently being applied.", - "type": "string", - "enum": [ - "Enabled", - "Disabled" - ], - "markdownDescription": "If ``Enabled``, the rule is currently being applied. If ``Disabled``, the rule is not currently being applied.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Enabled | Disabled \nUpdate requires: No interruption" - }, - "ExpiredObjectDeleteMarker": { - "description": "Indicates whether Amazon S3 will remove a delete marker without any noncurrent versions. If set to true, the delete marker will be removed if there are no noncurrent versions. This cannot be specified with ``ExpirationInDays``, ``ExpirationDate``, or ``TagFilters``.", - "type": "boolean", - "markdownDescription": "Indicates whether Amazon S3 will remove a delete marker without any noncurrent versions. If set to true, the delete marker will be removed if there are no noncurrent versions. This cannot be specified with ``ExpirationInDays``, ``ExpirationDate``, or ``TagFilters``.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "NoncurrentVersionExpirationInDays": { - "description": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies the time, in days, between when a new version of the object is uploaded to the bucket and when old versions of the object expire. When object versions expire, Amazon S3 permanently deletes them. If you specify a transition and expiration time, the expiration time must be later than the transition time.", - "type": "integer", - "markdownDescription": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies the time, in days, between when a new version of the object is uploaded to the bucket and when old versions of the object expire. When object versions expire, Amazon S3 permanently deletes them. If you specify a transition and expiration time, the expiration time must be later than the transition time.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Transitions": { - "uniqueItems": true, - "description": "One or more transition rules that specify when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the ``Transition`` property.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/Transition" - }, - "markdownDescription": "One or more transition rules that specify when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the ``Transition`` property.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "ObjectSizeGreaterThan": { - "description": "Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. For more information about size based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide*.", + "BucketArn": { + "description": "The Amazon Resource Name (ARN) of the bucket to which data is exported.", "type": "string", - "maxLength": 20, - "markdownDescription": "Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. For more information about size based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 20 \nPattern: [0-9]+ \nUpdate requires: No interruption" - }, - "TagFilters": { - "uniqueItems": true, - "description": "Tags to use to identify a subset of objects to which the lifecycle rule applies.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/TagFilter" - }, - "markdownDescription": "Tags to use to identify a subset of objects to which the lifecycle rule applies.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "NoncurrentVersionTransitions": { - "uniqueItems": true, - "description": "For buckets with versioning enabled (or suspended), one or more transition rules that specify when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the ``NoncurrentVersionTransition`` property.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/NoncurrentVersionTransition" - }, - "markdownDescription": "For buckets with versioning enabled (or suspended), one or more transition rules that specify when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the ``NoncurrentVersionTransition`` property.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the bucket to which data is exported.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "Prefix": { - "description": "Object key prefix that identifies one or more objects to which this rule applies.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).", + "BucketAccountId": { + "description": "The account ID that owns the destination S3 bucket. If no account ID is provided, the owner is not validated before exporting data.\n Although this value is optional, we strongly recommend that you set it to help prevent problems if the destination bucket ownership changes.", "type": "string", - "markdownDescription": "Object key prefix that identifies one or more objects to which this rule applies.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The account ID that owns the destination S3 bucket. If no account ID is provided, the owner is not validated before exporting data.\n Although this value is optional, we strongly recommend that you set it to help prevent problems if the destination bucket ownership changes.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ObjectSizeLessThan": { - "description": "Specifies the maximum object size in bytes for this rule to apply to. Objects must be smaller than this value in bytes. For more information about sized based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide*.", + "Format": { + "description": "Specifies the file format used when exporting data to Amazon S3.\n *Allowed values*: ``CSV`` | ``ORC`` | ``Parquet``", "type": "string", - "maxLength": 20, - "markdownDescription": "Specifies the maximum object size in bytes for this rule to apply to. Objects must be smaller than this value in bytes. For more information about sized based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 20 \nPattern: [0-9]+ \nUpdate requires: No interruption" - }, - "NoncurrentVersionTransition": { - "description": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the ``NoncurrentVersionTransitions`` property.", - "$ref": "#/definitions/NoncurrentVersionTransition", - "markdownDescription": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the ``NoncurrentVersionTransitions`` property.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "ExpirationDate": { - "description": "Indicates when objects are deleted from Amazon S3 and Amazon S3 Glacier. The date value must be in ISO 8601 format. The time is always midnight UTC. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", - "$ref": "#/definitions/iso8601UTC", - "markdownDescription": "Indicates when objects are deleted from Amazon S3 and Amazon S3 Glacier. The date value must be in ISO 8601 format. The time is always midnight UTC. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "NoncurrentVersionExpiration": { - "description": "Specifies when noncurrent object versions expire. Upon expiration, S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that S3 delete noncurrent object versions at a specific period in the object's lifetime.", - "$ref": "#/definitions/NoncurrentVersionExpiration", - "markdownDescription": "Specifies when noncurrent object versions expire. Upon expiration, S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that S3 delete noncurrent object versions at a specific period in the object's lifetime.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "ExpirationInDays": { - "description": "Indicates the number of days after creation when objects are deleted from Amazon S3 and Amazon S3 Glacier. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", - "type": "integer", - "markdownDescription": "Indicates the number of days after creation when objects are deleted from Amazon S3 and Amazon S3 Glacier. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Transition": { - "description": "(Deprecated.) Specifies when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the ``Transitions`` property.", - "$ref": "#/definitions/Transition", - "markdownDescription": "(Deprecated.) Specifies when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the ``Transitions`` property.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "enum": [ + "CSV", + "ORC", + "Parquet" + ], + "markdownDescription": "Specifies the file format used when exporting data to Amazon S3.\n *Allowed values*: ``CSV`` | ``ORC`` | ``Parquet``\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: CSV | ORC | Parquet \nUpdate requires: No interruption" }, - "Id": { - "description": "Unique identifier for the rule. The value can't be longer than 255 characters.", + "Prefix": { + "description": "The prefix to use when exporting data. The prefix is prepended to all results.", "type": "string", - "maxLength": 255, - "markdownDescription": "Unique identifier for the rule. The value can't be longer than 255 characters.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" - }, - "AbortIncompleteMultipartUpload": { - "description": "Specifies a lifecycle rule that stops incomplete multipart uploads to an Amazon S3 bucket.", - "$ref": "#/definitions/AbortIncompleteMultipartUpload", - "markdownDescription": "Specifies a lifecycle rule that stops incomplete multipart uploads to an Amazon S3 bucket.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "The prefix to use when exporting data. The prefix is prepended to all results.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ - "Status" + "BucketArn", + "Format" ], - "markdownDescription": "Specifies lifecycle rules for an Amazon S3 bucket. For more information, see [Put Bucket Lifecycle Configuration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html) in the *Amazon S3 API Reference*.\n You must specify at least one of the following properties: ``AbortIncompleteMultipartUpload``, ``ExpirationDate``, ``ExpirationInDays``, ``NoncurrentVersionExpirationInDays``, ``NoncurrentVersionTransition``, ``NoncurrentVersionTransitions``, ``Transition``, or ``Transitions``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Arn": { - "description": "the Amazon Resource Name (ARN) of the specified bucket.", - "type": "string", - "markdownDescription": "the Amazon Resource Name (ARN) of the specified bucket.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "S3KeyFilter": { - "description": "A container for object key name prefix and suffix filtering rules. For more information about object key name filtering, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.\n The same type of filter rule cannot be used more than once. For example, you cannot specify two prefix rules.", - "additionalProperties": false, + "AccelerateConfiguration": { "type": "object", + "additionalProperties": false, "properties": { - "Rules": { - "uniqueItems": true, - "description": "A list of containers for the key-value pair that defines the criteria for the filter rule.", - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/FilterRule" - }, - "markdownDescription": "A list of containers for the key-value pair that defines the criteria for the filter rule.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "AccelerationStatus": { + "description": "Specifies the transfer acceleration status of the bucket.", + "type": "string", + "enum": [ + "Enabled", + "Suspended" + ], + "markdownDescription": "Specifies the transfer acceleration status of the bucket.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Enabled | Suspended \nUpdate requires: No interruption" } }, "required": [ - "Rules" + "AccelerationStatus" ], - "markdownDescription": "A container for object key name prefix and suffix filtering rules. For more information about object key name filtering, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.\n The same type of filter rule cannot be used more than once. For example, you cannot specify two prefix rules.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "iso8601UTC": { - "description": "The date value in ISO 8601 format. The timezone is always UTC. (YYYY-MM-DDThh:mm:ssZ)", - "type": "string", - "markdownDescription": "The date value in ISO 8601 format. The timezone is always UTC. (YYYY-MM-DDThh:mm:ssZ)\n\n---\n\nRequired: No \nType: String \nPattern: ^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$ \nUpdate requires: No interruption" + "description": "Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide*.", + "markdownDescription": "Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AnalyticsConfiguration": { "description": "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.", - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { - "StorageClassAnalysis": { - "description": "Contains data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes.", - "$ref": "#/definitions/StorageClassAnalysis", - "markdownDescription": "Contains data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" - }, "TagFilters": { + "type": "array", "uniqueItems": true, - "description": "The tags to use when evaluating an analytics filter.\n The analytics only includes objects that meet the filter's criteria. If no filter is specified, all of the contents of the bucket are included in the analysis.", "insertionOrder": true, - "type": "array", "items": { "$ref": "#/definitions/TagFilter" }, + "description": "The tags to use when evaluating an analytics filter.\n The analytics only includes objects that meet the filter's criteria. If no filter is specified, all of the contents of the bucket are included in the analysis.", "markdownDescription": "The tags to use when evaluating an analytics filter.\n The analytics only includes objects that meet the filter's criteria. If no filter is specified, all of the contents of the bucket are included in the analysis.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "StorageClassAnalysis": { + "$ref": "#/definitions/StorageClassAnalysis", + "description": "Contains data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes.", + "markdownDescription": "Contains data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, "Id": { "description": "The ID that identifies the analytics configuration.", "type": "string", @@ -869,250 +255,553 @@ ], "markdownDescription": "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Destination": { - "description": "Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket.", + "StorageClassAnalysis": { + "description": "Specifies data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes for an Amazon S3 bucket.", + "type": "object", "additionalProperties": false, + "properties": { + "DataExport": { + "$ref": "#/definitions/DataExport", + "description": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.", + "markdownDescription": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specifies data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes for an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DataExport": { + "description": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.", "type": "object", + "additionalProperties": false, "properties": { - "BucketArn": { - "description": "The Amazon Resource Name (ARN) of the bucket to which data is exported.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the bucket to which data is exported.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "Destination": { + "$ref": "#/definitions/Destination", + "description": "The place to store the data for an analysis.", + "markdownDescription": "The place to store the data for an analysis.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, - "Format": { - "description": "Specifies the file format used when exporting data to Amazon S3.\n *Allowed values*: ``CSV`` | ``ORC`` | ``Parquet``", + "OutputSchemaVersion": { + "description": "The version of the output schema to use when exporting data. Must be ``V_1``.", "type": "string", - "enum": [ - "CSV", - "ORC", - "Parquet" - ], - "markdownDescription": "Specifies the file format used when exporting data to Amazon S3.\n *Allowed values*: ``CSV`` | ``ORC`` | ``Parquet``\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: CSV | ORC | Parquet \nUpdate requires: No interruption" + "const": "V_1", + "markdownDescription": "The version of the output schema to use when exporting data. Must be ``V_1``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Destination", + "OutputSchemaVersion" + ], + "markdownDescription": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "BucketEncryption": { + "description": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide*.", + "type": "object", + "additionalProperties": false, + "properties": { + "ServerSideEncryptionConfiguration": { + "description": "Specifies the default server-side-encryption configuration.", + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/ServerSideEncryptionRule" + }, + "markdownDescription": "Specifies the default server-side-encryption configuration.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "ServerSideEncryptionConfiguration" + ], + "markdownDescription": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ServerSideEncryptionRule": { + "description": "Specifies the default server-side encryption configuration.\n + *General purpose buckets* - If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.\n + *Directory buckets* - When you specify an [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.", + "type": "object", + "additionalProperties": false, + "properties": { + "BucketKeyEnabled": { + "description": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the ``BucketKeyEnabled`` element to ``true`` causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket Key is not enabled.\n For more information, see [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) in the *Amazon S3 User Guide*.", + "type": "boolean", + "markdownDescription": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the ``BucketKeyEnabled`` element to ``true`` causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket Key is not enabled.\n For more information, see [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "BucketAccountId": { - "description": "The account ID that owns the destination S3 bucket. If no account ID is provided, the owner is not validated before exporting data.\n Although this value is optional, we strongly recommend that you set it to help prevent problems if the destination bucket ownership changes.", + "ServerSideEncryptionByDefault": { + "$ref": "#/definitions/ServerSideEncryptionByDefault", + "description": "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.", + "markdownDescription": "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specifies the default server-side encryption configuration.\n + *General purpose buckets* - If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.\n + *Directory buckets* - When you specify an [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ServerSideEncryptionByDefault": { + "description": "Describes the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied. For more information, see [PutBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html).\n + *General purpose buckets* - If you don't specify a customer managed key at configuration, Amazon S3 automatically creates an AWS KMS key (``aws/s3``) in your AWS account the first time that you add an object encrypted with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS. \n + *Directory buckets* - Your SSE-KMS configuration can only support 1 [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) per directory bucket for the lifetime of the bucket. The [managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) (``aws/s3``) isn't supported. \n + *Directory buckets* - For directory buckets, there are only two supported options for server-side encryption: SSE-S3 and SSE-KMS.", + "type": "object", + "properties": { + "KMSMasterKeyID": { + "description": "AWS Key Management Service (KMS) customer managed key ID to use for the default encryption. \n + *General purpose buckets* - This parameter is allowed if and only if ``SSEAlgorithm`` is set to ``aws:kms`` or ``aws:kms:dsse``.\n + *Directory buckets* - This parameter is allowed if and only if ``SSEAlgorithm`` is set to ``aws:kms``.\n \n You can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS key.\n + Key ID: ``1234abcd-12ab-34cd-56ef-1234567890ab`` \n + Key ARN: ``arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`` \n + Key Alias: ``alias/alias-name`` \n \n If you are using encryption with cross-account or AWS service operations, you must use a fully qualified KMS key ARN. For more information, see [Using encryption for cross-account operations](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy).\n + *General purpose buckets* - If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner. Also, if you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log. \n + *Directory buckets* - When you specify an [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.\n \n Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *Key Management Service Developer Guide*.", "type": "string", - "markdownDescription": "The account ID that owns the destination S3 bucket. If no account ID is provided, the owner is not validated before exporting data.\n Although this value is optional, we strongly recommend that you set it to help prevent problems if the destination bucket ownership changes.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "AWS Key Management Service (KMS) customer managed key ID to use for the default encryption. \n + *General purpose buckets* - This parameter is allowed if and only if ``SSEAlgorithm`` is set to ``aws:kms`` or ``aws:kms:dsse``.\n + *Directory buckets* - This parameter is allowed if and only if ``SSEAlgorithm`` is set to ``aws:kms``.\n \n You can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS key.\n + Key ID: ``1234abcd-12ab-34cd-56ef-1234567890ab`` \n + Key ARN: ``arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`` \n + Key Alias: ``alias/alias-name`` \n \n If you are using encryption with cross-account or AWS service operations, you must use a fully qualified KMS key ARN. For more information, see [Using encryption for cross-account operations](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy).\n + *General purpose buckets* - If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner. Also, if you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log. \n + *Directory buckets* - When you specify an [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.\n \n Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *Key Management Service Developer Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Prefix": { - "description": "The prefix to use when exporting data. The prefix is prepended to all results.", + "SSEAlgorithm": { "type": "string", - "markdownDescription": "The prefix to use when exporting data. The prefix is prepended to all results.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "enum": [ + "aws:kms", + "AES256", + "aws:kms:dsse" + ], + "description": "Server-side encryption algorithm to use for the default encryption.\n For directory buckets, there are only two supported values for server-side encryption: ``AES256`` and ``aws:kms``.", + "markdownDescription": "Server-side encryption algorithm to use for the default encryption.\n For directory buckets, there are only two supported values for server-side encryption: ``AES256`` and ``aws:kms``.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: aws:kms | AES256 | aws:kms:dsse \nUpdate requires: No interruption" } }, + "additionalProperties": false, "required": [ - "BucketArn", - "Format" + "SSEAlgorithm" ], - "markdownDescription": "Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Describes the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied. For more information, see [PutBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html).\n + *General purpose buckets* - If you don't specify a customer managed key at configuration, Amazon S3 automatically creates an AWS KMS key (``aws/s3``) in your AWS account the first time that you add an object encrypted with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS. \n + *Directory buckets* - Your SSE-KMS configuration can only support 1 [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) per directory bucket for the lifetime of the bucket. The [managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) (``aws/s3``) isn't supported. \n + *Directory buckets* - For directory buckets, there are only two supported options for server-side encryption: SSE-S3 and SSE-KMS.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "PartitionedPrefix": { - "description": "Amazon S3 keys for log objects are partitioned in the following format:\n ``[DestinationPrefix][SourceAccountId]/[SourceRegion]/[SourceBucket]/[YYYY]/[MM]/[DD]/[YYYY]-[MM]-[DD]-[hh]-[mm]-[ss]-[UniqueString]`` \n PartitionedPrefix defaults to EventTime delivery when server access logs are delivered.", + "CorsConfiguration": { + "type": "object", "additionalProperties": false, + "properties": { + "CorsRules": { + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/CorsRule", + "maxLength": 100 + }, + "description": "A set of origins and methods (cross-origin access that you want to allow). You can add up to 100 rules to the configuration.", + "markdownDescription": "A set of origins and methods (cross-origin access that you want to allow). You can add up to 100 rules to the configuration.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "CorsRules" + ], + "description": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide*.", + "markdownDescription": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CorsRule": { "type": "object", + "description": "Specifies a cross-origin access rule for an Amazon S3 bucket.", + "additionalProperties": false, "properties": { - "PartitionDateSource": { - "description": "Specifies the partition date source for the partitioned prefix. ``PartitionDateSource`` can be ``EventTime`` or ``DeliveryTime``.\n For ``DeliveryTime``, the time in the log file names corresponds to the delivery time for the log files. \n For ``EventTime``, The logs delivered are for a specific day only. The year, month, and day correspond to the day on which the event occurred, and the hour, minutes and seconds are set to 00 in the key.", + "AllowedHeaders": { + "description": "Headers that are specified in the ``Access-Control-Request-Headers`` header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.", + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "Headers that are specified in the ``Access-Control-Request-Headers`` header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AllowedMethods": { + "description": "An HTTP method that you allow the origin to run.\n *Allowed values*: ``GET`` | ``PUT`` | ``HEAD`` | ``POST`` | ``DELETE``", + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "type": "string", + "enum": [ + "GET", + "PUT", + "HEAD", + "POST", + "DELETE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: GET | PUT | HEAD | POST | DELETE \nUpdate requires: No interruption" + }, + "markdownDescription": "An HTTP method that you allow the origin to run.\n *Allowed values*: ``GET`` | ``PUT`` | ``HEAD`` | ``POST`` | ``DELETE``\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "AllowedOrigins": { + "description": "One or more origins you want customers to be able to access the bucket from.", + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "One or more origins you want customers to be able to access the bucket from.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "ExposedHeaders": { + "description": "One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript ``XMLHttpRequest`` object).", + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript ``XMLHttpRequest`` object).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Id": { + "description": "A unique identifier for this rule. The value must be no more than 255 characters.", "type": "string", - "enum": [ - "EventTime", - "DeliveryTime" - ], - "markdownDescription": "Specifies the partition date source for the partitioned prefix. ``PartitionDateSource`` can be ``EventTime`` or ``DeliveryTime``.\n For ``DeliveryTime``, the time in the log file names corresponds to the delivery time for the log files. \n For ``EventTime``, The logs delivered are for a specific day only. The year, month, and day correspond to the day on which the event occurred, and the hour, minutes and seconds are set to 00 in the key.\n\n---\n\nRequired: No \nType: String \nAllowed Values: EventTime | DeliveryTime \nUpdate requires: No interruption" + "maxLength": 255, + "markdownDescription": "A unique identifier for this rule. The value must be no more than 255 characters.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" + }, + "MaxAge": { + "description": "The time in seconds that your browser is to cache the preflight response for the specified resource.", + "type": "integer", + "minimum": 0, + "markdownDescription": "The time in seconds that your browser is to cache the preflight response for the specified resource.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "markdownDescription": "Amazon S3 keys for log objects are partitioned in the following format:\n ``[DestinationPrefix][SourceAccountId]/[SourceRegion]/[SourceBucket]/[YYYY]/[MM]/[DD]/[YYYY]-[MM]-[DD]-[hh]-[mm]-[ss]-[UniqueString]`` \n PartitionedPrefix defaults to EventTime delivery when server access logs are delivered.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "required": [ + "AllowedMethods", + "AllowedOrigins" + ], + "markdownDescription": "Specifies a cross-origin access rule for an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "RedirectAllRequestsTo": { - "description": "Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.", - "additionalProperties": false, + "IntelligentTieringConfiguration": { "type": "object", + "additionalProperties": false, "properties": { - "Protocol": { - "description": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", + "Id": { + "description": "The ID used to identify the S3 Intelligent-Tiering configuration.", + "type": "string", + "markdownDescription": "The ID used to identify the S3 Intelligent-Tiering configuration.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Prefix": { + "description": "An object key name prefix that identifies the subset of objects to which the rule applies.", + "type": "string", + "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Status": { + "description": "Specifies the status of the configuration.", "type": "string", "enum": [ - "http", - "https" + "Disabled", + "Enabled" ], - "markdownDescription": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.\n\n---\n\nRequired: No \nType: String \nAllowed Values: http | https \nUpdate requires: No interruption" + "markdownDescription": "Specifies the status of the configuration.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" + }, + "TagFilters": { + "description": "A container for a key-value pair.", + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/TagFilter" + }, + "markdownDescription": "A container for a key-value pair.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "HostName": { - "description": "Name of the host where requests are redirected.", - "type": "string", - "markdownDescription": "Name of the host where requests are redirected.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "Tierings": { + "description": "Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: ``ARCHIVE_ACCESS`` and ``DEEP_ARCHIVE_ACCESS``.\n You only need Intelligent Tiering Configuration enabled on a bucket if you want to automatically move objects stored in the Intelligent-Tiering storage class to Archive Access or Deep Archive Access tiers.", + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Tiering" + }, + "markdownDescription": "Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: ``ARCHIVE_ACCESS`` and ``DEEP_ARCHIVE_ACCESS``.\n You only need Intelligent Tiering Configuration enabled on a bucket if you want to automatically move objects stored in the Intelligent-Tiering storage class to Archive Access or Deep Archive Access tiers.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ - "HostName" + "Id", + "Status", + "Tierings" ], - "markdownDescription": "Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket.\n For information about the S3 Intelligent-Tiering storage class, see [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access).", + "markdownDescription": "Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket.\n For information about the S3 Intelligent-Tiering storage class, see [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TagFilter": { - "description": "Specifies tags to use to identify a subset of objects for an Amazon S3 bucket.", - "additionalProperties": false, + "Tiering": { "type": "object", + "additionalProperties": false, "properties": { - "Value": { - "description": "The tag value.", + "AccessTier": { + "description": "S3 Intelligent-Tiering access tier. See [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) for a list of access tiers in the S3 Intelligent-Tiering storage class.", "type": "string", - "markdownDescription": "The tag value.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "enum": [ + "ARCHIVE_ACCESS", + "DEEP_ARCHIVE_ACCESS" + ], + "markdownDescription": "S3 Intelligent-Tiering access tier. See [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) for a list of access tiers in the S3 Intelligent-Tiering storage class.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ARCHIVE_ACCESS | DEEP_ARCHIVE_ACCESS \nUpdate requires: No interruption" }, - "Key": { - "description": "The tag key.", - "type": "string", - "markdownDescription": "The tag key.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "Days": { + "description": "The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).", + "type": "integer", + "markdownDescription": "The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" } }, "required": [ - "Value", - "Key" + "AccessTier", + "Days" ], - "markdownDescription": "Specifies tags to use to identify a subset of objects for an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead.", + "markdownDescription": "The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "WebsiteConfiguration": { - "description": "Specifies website configuration parameters for an Amazon S3 bucket.", - "additionalProperties": false, + "InventoryConfiguration": { "type": "object", + "additionalProperties": false, "properties": { - "IndexDocument": { - "description": "The name of the index document for the website.", + "Destination": { + "$ref": "#/definitions/Destination", + "description": "Contains information about where to publish the inventory results.", + "markdownDescription": "Contains information about where to publish the inventory results.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, + "Enabled": { + "description": "Specifies whether the inventory is enabled or disabled. If set to ``True``, an inventory list is generated. If set to ``False``, no inventory list is generated.", + "type": "boolean", + "markdownDescription": "Specifies whether the inventory is enabled or disabled. If set to ``True``, an inventory list is generated. If set to ``False``, no inventory list is generated.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + }, + "Id": { + "description": "The ID used to identify the inventory configuration.", "type": "string", - "markdownDescription": "The name of the index document for the website.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ID used to identify the inventory configuration.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "RedirectAllRequestsTo": { - "description": "The redirect behavior for every request to this bucket's website endpoint.\n If you specify this property, you can't specify any other property.", - "$ref": "#/definitions/RedirectAllRequestsTo", - "markdownDescription": "The redirect behavior for every request to this bucket's website endpoint.\n If you specify this property, you can't specify any other property.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "IncludedObjectVersions": { + "description": "Object versions to include in the inventory list. If set to ``All``, the list includes all the object versions, which adds the version-related fields ``VersionId``, ``IsLatest``, and ``DeleteMarker`` to the list. If set to ``Current``, the list does not contain these version-related fields.", + "type": "string", + "enum": [ + "All", + "Current" + ], + "markdownDescription": "Object versions to include in the inventory list. If set to ``All``, the list includes all the object versions, which adds the version-related fields ``VersionId``, ``IsLatest``, and ``DeleteMarker`` to the list. If set to ``Current``, the list does not contain these version-related fields.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: All | Current \nUpdate requires: No interruption" }, - "RoutingRules": { - "description": "Rules that define when a redirect is applied and the redirect behavior.", - "insertionOrder": true, + "OptionalFields": { + "description": "Contains the optional fields that are included in the inventory results.", "type": "array", + "uniqueItems": true, + "insertionOrder": true, "items": { - "$ref": "#/definitions/RoutingRule" + "type": "string", + "enum": [ + "Size", + "LastModifiedDate", + "StorageClass", + "ETag", + "IsMultipartUploaded", + "ReplicationStatus", + "EncryptionStatus", + "ObjectLockRetainUntilDate", + "ObjectLockMode", + "ObjectLockLegalHoldStatus", + "IntelligentTieringAccessTier", + "BucketKeyStatus", + "ChecksumAlgorithm", + "ObjectAccessControlList", + "ObjectOwner" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: Size | LastModifiedDate | StorageClass | ETag | IsMultipartUploaded | ReplicationStatus | EncryptionStatus | ObjectLockRetainUntilDate | ObjectLockMode | ObjectLockLegalHoldStatus | IntelligentTieringAccessTier | BucketKeyStatus | ChecksumAlgorithm | ObjectAccessControlList | ObjectOwner \nUpdate requires: No interruption" }, - "markdownDescription": "Rules that define when a redirect is applied and the redirect behavior.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Contains the optional fields that are included in the inventory results.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "ErrorDocument": { - "description": "The name of the error document for the website.", + "Prefix": { + "description": "Specifies the inventory filter prefix.", "type": "string", - "markdownDescription": "The name of the error document for the website.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Specifies the inventory filter prefix.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ScheduleFrequency": { + "description": "Specifies the schedule for generating inventory results.", + "type": "string", + "enum": [ + "Daily", + "Weekly" + ], + "markdownDescription": "Specifies the schedule for generating inventory results.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Daily | Weekly \nUpdate requires: No interruption" } }, - "markdownDescription": "Specifies website configuration parameters for an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "required": [ + "Destination", + "Enabled", + "Id", + "IncludedObjectVersions", + "ScheduleFrequency" + ], + "description": "Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.", + "markdownDescription": "Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TopicConfiguration": { - "description": "A container for specifying the configuration for publication of messages to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 detects specified events.", - "additionalProperties": false, + "LifecycleConfiguration": { "type": "object", + "additionalProperties": false, "properties": { - "Filter": { - "description": "The filtering rules that determine for which objects to send notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a ``.jpg`` extension are added to the bucket.", - "$ref": "#/definitions/NotificationFilter", - "markdownDescription": "The filtering rules that determine for which objects to send notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a ``.jpg`` extension are added to the bucket.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Event": { - "description": "The Amazon S3 bucket event about which to send notifications. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.", - "type": "string", - "markdownDescription": "The Amazon S3 bucket event about which to send notifications. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "Rules": { + "description": "A lifecycle rule for individual objects in an Amazon S3 bucket.", + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Rule" + }, + "markdownDescription": "A lifecycle rule for individual objects in an Amazon S3 bucket.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, - "Topic": { - "description": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.", + "TransitionDefaultMinimumObjectSize": { + "description": "", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "enum": [ + "varies_by_storage_class", + "all_storage_classes_128K" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: varies_by_storage_class | all_storage_classes_128K \nUpdate requires: No interruption" } }, "required": [ - "Event", - "Topic" + "Rules" ], - "markdownDescription": "A container for specifying the configuration for publication of messages to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 detects specified events.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide*.", + "markdownDescription": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "IntelligentTieringConfiguration": { - "description": "Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket.\n For information about the S3 Intelligent-Tiering storage class, see [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access).", - "additionalProperties": false, + "Rule": { "type": "object", + "description": "Specifies lifecycle rules for an Amazon S3 bucket. For more information, see [Put Bucket Lifecycle Configuration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html) in the *Amazon S3 API Reference*.\n You must specify at least one of the following properties: ``AbortIncompleteMultipartUpload``, ``ExpirationDate``, ``ExpirationInDays``, ``NoncurrentVersionExpirationInDays``, ``NoncurrentVersionTransition``, ``NoncurrentVersionTransitions``, ``Transition``, or ``Transitions``.", + "additionalProperties": false, "properties": { - "Status": { - "description": "Specifies the status of the configuration.", + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AbortIncompleteMultipartUpload", + "description": "Specifies a lifecycle rule that stops incomplete multipart uploads to an Amazon S3 bucket.", + "markdownDescription": "Specifies a lifecycle rule that stops incomplete multipart uploads to an Amazon S3 bucket.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ExpirationDate": { + "$ref": "#/definitions/iso8601UTC", + "description": "Indicates when objects are deleted from Amazon S3 and Amazon S3 Glacier. The date value must be in ISO 8601 format. The time is always midnight UTC. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", + "markdownDescription": "Indicates when objects are deleted from Amazon S3 and Amazon S3 Glacier. The date value must be in ISO 8601 format. The time is always midnight UTC. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ExpirationInDays": { + "type": "integer", + "description": "Indicates the number of days after creation when objects are deleted from Amazon S3 and Amazon S3 Glacier. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", + "markdownDescription": "Indicates the number of days after creation when objects are deleted from Amazon S3 and Amazon S3 Glacier. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "ExpiredObjectDeleteMarker": { + "type": "boolean", + "description": "Indicates whether Amazon S3 will remove a delete marker without any noncurrent versions. If set to true, the delete marker will be removed if there are no noncurrent versions. This cannot be specified with ``ExpirationInDays``, ``ExpirationDate``, or ``TagFilters``.", + "markdownDescription": "Indicates whether Amazon S3 will remove a delete marker without any noncurrent versions. If set to true, the delete marker will be removed if there are no noncurrent versions. This cannot be specified with ``ExpirationInDays``, ``ExpirationDate``, or ``TagFilters``.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "Id": { "type": "string", - "enum": [ - "Disabled", - "Enabled" - ], - "markdownDescription": "Specifies the status of the configuration.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" + "maxLength": 255, + "description": "Unique identifier for the rule. The value can't be longer than 255 characters.", + "markdownDescription": "Unique identifier for the rule. The value can't be longer than 255 characters.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" }, - "Tierings": { + "NoncurrentVersionExpirationInDays": { + "type": "integer", + "description": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies the time, in days, between when a new version of the object is uploaded to the bucket and when old versions of the object expire. When object versions expire, Amazon S3 permanently deletes them. If you specify a transition and expiration time, the expiration time must be later than the transition time.", + "markdownDescription": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies the time, in days, between when a new version of the object is uploaded to the bucket and when old versions of the object expire. When object versions expire, Amazon S3 permanently deletes them. If you specify a transition and expiration time, the expiration time must be later than the transition time.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "NoncurrentVersionExpiration": { + "$ref": "#/definitions/NoncurrentVersionExpiration", + "description": "Specifies when noncurrent object versions expire. Upon expiration, S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that S3 delete noncurrent object versions at a specific period in the object's lifetime.", + "markdownDescription": "Specifies when noncurrent object versions expire. Upon expiration, S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that S3 delete noncurrent object versions at a specific period in the object's lifetime.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "NoncurrentVersionTransition": { + "$ref": "#/definitions/NoncurrentVersionTransition", + "description": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the ``NoncurrentVersionTransitions`` property.", + "markdownDescription": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the ``NoncurrentVersionTransitions`` property.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "NoncurrentVersionTransitions": { + "type": "array", "uniqueItems": true, - "description": "Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: ``ARCHIVE_ACCESS`` and ``DEEP_ARCHIVE_ACCESS``.\n You only need Intelligent Tiering Configuration enabled on a bucket if you want to automatically move objects stored in the Intelligent-Tiering storage class to Archive Access or Deep Archive Access tiers.", "insertionOrder": true, - "type": "array", "items": { - "$ref": "#/definitions/Tiering" + "$ref": "#/definitions/NoncurrentVersionTransition" }, - "markdownDescription": "Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: ``ARCHIVE_ACCESS`` and ``DEEP_ARCHIVE_ACCESS``.\n You only need Intelligent Tiering Configuration enabled on a bucket if you want to automatically move objects stored in the Intelligent-Tiering storage class to Archive Access or Deep Archive Access tiers.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "description": "For buckets with versioning enabled (or suspended), one or more transition rules that specify when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the ``NoncurrentVersionTransition`` property.", + "markdownDescription": "For buckets with versioning enabled (or suspended), one or more transition rules that specify when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the ``NoncurrentVersionTransition`` property.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Prefix": { + "type": "string", + "description": "Object key prefix that identifies one or more objects to which this rule applies.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).", + "markdownDescription": "Object key prefix that identifies one or more objects to which this rule applies.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Status": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "description": "If ``Enabled``, the rule is currently being applied. If ``Disabled``, the rule is not currently being applied.", + "markdownDescription": "If ``Enabled``, the rule is currently being applied. If ``Disabled``, the rule is not currently being applied.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Enabled | Disabled \nUpdate requires: No interruption" }, "TagFilters": { + "type": "array", "uniqueItems": true, - "description": "A container for a key-value pair.", "insertionOrder": true, - "type": "array", "items": { "$ref": "#/definitions/TagFilter" }, - "markdownDescription": "A container for a key-value pair.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "Tags to use to identify a subset of objects to which the lifecycle rule applies.", + "markdownDescription": "Tags to use to identify a subset of objects to which the lifecycle rule applies.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Id": { - "description": "The ID used to identify the S3 Intelligent-Tiering configuration.", + "ObjectSizeGreaterThan": { "type": "string", - "markdownDescription": "The ID used to identify the S3 Intelligent-Tiering configuration.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "maxLength": 20, + "description": "Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. For more information about size based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide*.", + "markdownDescription": "Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. For more information about size based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 20 \nPattern: [0-9]+ \nUpdate requires: No interruption" }, - "Prefix": { - "description": "An object key name prefix that identifies the subset of objects to which the rule applies.", + "ObjectSizeLessThan": { "type": "string", - "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "maxLength": 20, + "description": "Specifies the maximum object size in bytes for this rule to apply to. Objects must be smaller than this value in bytes. For more information about sized based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide*.", + "markdownDescription": "Specifies the maximum object size in bytes for this rule to apply to. Objects must be smaller than this value in bytes. For more information about sized based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 20 \nPattern: [0-9]+ \nUpdate requires: No interruption" + }, + "Transition": { + "$ref": "#/definitions/Transition", + "description": "(Deprecated.) Specifies when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the ``Transitions`` property.", + "markdownDescription": "(Deprecated.) Specifies when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the ``Transitions`` property.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Transitions": { + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Transition" + }, + "description": "One or more transition rules that specify when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the ``Transition`` property.", + "markdownDescription": "One or more transition rules that specify when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the ``Transition`` property.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ - "Id", - "Status", - "Tierings" + "Status" ], - "markdownDescription": "Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket.\n For information about the S3 Intelligent-Tiering storage class, see [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies lifecycle rules for an Amazon S3 bucket. For more information, see [Put Bucket Lifecycle Configuration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html) in the *Amazon S3 API Reference*.\n You must specify at least one of the following properties: ``AbortIncompleteMultipartUpload``, ``ExpirationDate``, ``ExpirationInDays``, ``NoncurrentVersionExpirationInDays``, ``NoncurrentVersionTransition``, ``NoncurrentVersionTransitions``, ``Transition``, or ``Transitions``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "PublicAccessBlockConfiguration": { - "description": "The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide*.", + "AbortIncompleteMultipartUpload": { + "description": "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. For more information, see [Stopping Incomplete Multipart Uploads Using a Bucket Lifecycle Policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) in the *Amazon S3 User Guide*.", + "type": "object", "additionalProperties": false, + "properties": { + "DaysAfterInitiation": { + "description": "Specifies the number of days after which Amazon S3 stops an incomplete multipart upload.", + "type": "integer", + "minimum": 0, + "markdownDescription": "Specifies the number of days after which Amazon S3 stops an incomplete multipart upload.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "markdownDescription": "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. For more information, see [Stopping Incomplete Multipart Uploads Using a Bucket Lifecycle Policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "iso8601UTC": { + "description": "The date value in ISO 8601 format. The timezone is always UTC. (YYYY-MM-DDThh:mm:ssZ)", + "type": "string", + "markdownDescription": "The date value in ISO 8601 format. The timezone is always UTC. (YYYY-MM-DDThh:mm:ssZ)\n\n---\n\nRequired: No \nType: String \nPattern: ^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$ \nUpdate requires: No interruption" + }, + "NoncurrentVersionExpiration": { "type": "object", + "description": "Specifies when noncurrent object versions expire. Upon expiration, S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that S3 delete noncurrent object versions at a specific period in the object's lifetime. For more information about setting a lifecycle rule configuration, see [AWS::S3::Bucket Rule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html).", + "additionalProperties": false, "properties": { - "RestrictPublicBuckets": { - "description": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to ``TRUE`` restricts access to this bucket to only AWS-service principals and authorized users within this account if the bucket has a public policy.\n Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", - "type": "boolean", - "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to ``TRUE`` restricts access to this bucket to only AWS-service principals and authorized users within this account if the bucket has a public policy.\n Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "BlockPublicPolicy": { - "description": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to ``TRUE`` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access. \n Enabling this setting doesn't affect existing bucket policies.", - "type": "boolean", - "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to ``TRUE`` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access. \n Enabling this setting doesn't affect existing bucket policies.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "BlockPublicAcls": { - "description": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes the following behavior:\n + PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n + PUT Object calls fail if the request includes a public ACL.\n + PUT Bucket calls fail if the request includes a public ACL.\n \n Enabling this setting doesn't affect existing policies or ACLs.", - "type": "boolean", - "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes the following behavior:\n + PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n + PUT Object calls fail if the request includes a public ACL.\n + PUT Bucket calls fail if the request includes a public ACL.\n \n Enabling this setting doesn't affect existing policies or ACLs.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "NoncurrentDays": { + "description": "Specifies the number of days an object is noncurrent before S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates When an Object Became Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide*.", + "type": "integer", + "markdownDescription": "Specifies the number of days an object is noncurrent before S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates When an Object Became Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, - "IgnorePublicAcls": { - "description": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", - "type": "boolean", - "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "NewerNoncurrentVersions": { + "description": "Specifies how many noncurrent versions S3 will retain. If there are this many more recent noncurrent versions, S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide*.", + "type": "integer", + "markdownDescription": "Specifies how many noncurrent versions S3 will retain. If there are this many more recent noncurrent versions, S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "markdownDescription": "The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "required": [ + "NoncurrentDays" + ], + "markdownDescription": "Specifies when noncurrent object versions expire. Upon expiration, S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that S3 delete noncurrent object versions at a specific period in the object's lifetime. For more information about setting a lifecycle rule configuration, see [AWS::S3::Bucket Rule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "NoncurrentVersionTransition": { + "type": "object", "description": "Container for the transition rule that describes when noncurrent objects transition to the ``STANDARD_IA``, ``ONEZONE_IA``, ``INTELLIGENT_TIERING``, ``GLACIER_IR``, ``GLACIER``, or ``DEEP_ARCHIVE`` storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the ``STANDARD_IA``, ``ONEZONE_IA``, ``INTELLIGENT_TIERING``, ``GLACIER_IR``, ``GLACIER``, or ``DEEP_ARCHIVE`` storage class at a specific period in the object's lifetime. If you specify this property, don't specify the ``NoncurrentVersionTransitions`` property.", "additionalProperties": false, - "type": "object", "properties": { "StorageClass": { "description": "The class of storage used to store the object.", @@ -1145,142 +834,227 @@ ], "markdownDescription": "Container for the transition rule that describes when noncurrent objects transition to the ``STANDARD_IA``, ``ONEZONE_IA``, ``INTELLIGENT_TIERING``, ``GLACIER_IR``, ``GLACIER``, or ``DEEP_ARCHIVE`` storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the ``STANDARD_IA``, ``ONEZONE_IA``, ``INTELLIGENT_TIERING``, ``GLACIER_IR``, ``GLACIER``, or ``DEEP_ARCHIVE`` storage class at a specific period in the object's lifetime. If you specify this property, don't specify the ``NoncurrentVersionTransitions`` property.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "StorageClassAnalysis": { - "description": "Specifies data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes for an Amazon S3 bucket.", - "additionalProperties": false, + "Transition": { "type": "object", "properties": { - "DataExport": { - "description": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.", - "$ref": "#/definitions/DataExport", - "markdownDescription": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "StorageClass": { + "type": "string", + "enum": [ + "DEEP_ARCHIVE", + "GLACIER", + "Glacier", + "GLACIER_IR", + "INTELLIGENT_TIERING", + "ONEZONE_IA", + "STANDARD_IA" + ], + "description": "The storage class to which you want the object to transition.", + "markdownDescription": "The storage class to which you want the object to transition.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: DEEP_ARCHIVE | GLACIER | Glacier | GLACIER_IR | INTELLIGENT_TIERING | ONEZONE_IA | STANDARD_IA \nUpdate requires: No interruption" + }, + "TransitionDate": { + "$ref": "#/definitions/iso8601UTC", + "description": "Indicates when objects are transitioned to the specified storage class. The date value must be in ISO 8601 format. The time is always midnight UTC.", + "markdownDescription": "Indicates when objects are transitioned to the specified storage class. The date value must be in ISO 8601 format. The time is always midnight UTC.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "TransitionInDays": { + "type": "integer", + "description": "Indicates the number of days after creation when objects are transitioned to the specified storage class. The value must be a positive integer.", + "markdownDescription": "Indicates the number of days after creation when objects are transitioned to the specified storage class. The value must be a positive integer.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "markdownDescription": "Specifies data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes for an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ServerSideEncryptionByDefault": { - "description": "Describes the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied. If you don't specify a customer managed key at configuration, Amazon S3 automatically creates an AWS KMS key in your AWS account the first time that you add an object encrypted with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS. For more information, see [PUT Bucket encryption](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html) in the *Amazon S3 API Reference*.\n If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.", "additionalProperties": false, + "description": "Specifies when an object transitions to a specified storage class. For more information about Amazon S3 lifecycle configuration rules, see [Transitioning Objects Using Amazon S3 Lifecycle](https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) in the *Amazon S3 User Guide*.", + "required": [ + "StorageClass" + ], + "markdownDescription": "Specifies when an object transitions to a specified storage class. For more information about Amazon S3 lifecycle configuration rules, see [Transitioning Objects Using Amazon S3 Lifecycle](https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LoggingConfiguration": { "type": "object", "properties": { - "SSEAlgorithm": { - "description": "Server-side encryption algorithm to use for the default encryption.", + "DestinationBucketName": { "type": "string", - "enum": [ - "aws:kms", - "AES256", - "aws:kms:dsse" - ], - "markdownDescription": "Server-side encryption algorithm to use for the default encryption.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: aws:kms | AES256 | aws:kms:dsse \nUpdate requires: No interruption" + "description": "The name of the bucket where Amazon S3 should store server access log files. You can store log files in any bucket that you own. By default, logs are stored in the bucket where the ``LoggingConfiguration`` property is defined.", + "markdownDescription": "The name of the bucket where Amazon S3 should store server access log files. You can store log files in any bucket that you own. By default, logs are stored in the bucket where the ``LoggingConfiguration`` property is defined.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "KMSMasterKeyID": { - "description": "AWS Key Management Service (KMS) customer AWS KMS key ID to use for the default encryption. This parameter is allowed if and only if ``SSEAlgorithm`` is set to ``aws:kms`` or ``aws:kms:dsse``.\n You can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS key.\n + Key ID: ``1234abcd-12ab-34cd-56ef-1234567890ab`` \n + Key ARN: ``arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`` \n + Key Alias: ``alias/alias-name`` \n \n If you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log. \n If you are using encryption with cross-account or AWS service operations you must use a fully qualified KMS key ARN. For more information, see [Using encryption for cross-account operations](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy).\n Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *Key Management Service Developer Guide*.", + "LogFilePrefix": { "type": "string", - "markdownDescription": "AWS Key Management Service (KMS) customer AWS KMS key ID to use for the default encryption. This parameter is allowed if and only if ``SSEAlgorithm`` is set to ``aws:kms`` or ``aws:kms:dsse``.\n You can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS key.\n + Key ID: ``1234abcd-12ab-34cd-56ef-1234567890ab`` \n + Key ARN: ``arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`` \n + Key Alias: ``alias/alias-name`` \n \n If you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log. \n If you are using encryption with cross-account or AWS service operations you must use a fully qualified KMS key ARN. For more information, see [Using encryption for cross-account operations](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy).\n Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *Key Management Service Developer Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A prefix for all log object keys. If you store log files from multiple Amazon S3 buckets in a single bucket, you can use a prefix to distinguish which log files came from which bucket.", + "markdownDescription": "A prefix for all log object keys. If you store log files from multiple Amazon S3 buckets in a single bucket, you can use a prefix to distinguish which log files came from which bucket.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TargetObjectKeyFormat": { + "$ref": "#/definitions/TargetObjectKeyFormat", + "description": "Amazon S3 key format for log objects. Only one format, either PartitionedPrefix or SimplePrefix, is allowed.", + "markdownDescription": "Amazon S3 key format for log objects. Only one format, either PartitionedPrefix or SimplePrefix, is allowed.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "required": [ - "SSEAlgorithm" + "additionalProperties": false, + "description": "Describes where logs are stored and the prefix that Amazon S3 assigns to all log object keys for a bucket. For examples and more information, see [PUT Bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) in the *Amazon S3 API Reference*.\n To successfully complete the ``AWS::S3::Bucket LoggingConfiguration`` request, you must have ``s3:PutObject`` and ``s3:PutObjectAcl`` in your IAM permissions.", + "markdownDescription": "Describes where logs are stored and the prefix that Amazon S3 assigns to all log object keys for a bucket. For examples and more information, see [PUT Bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) in the *Amazon S3 API Reference*.\n To successfully complete the ``AWS::S3::Bucket LoggingConfiguration`` request, you must have ``s3:PutObject`` and ``s3:PutObjectAcl`` in your IAM permissions.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TargetObjectKeyFormat": { + "type": "object", + "description": "Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix.", + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "SimplePrefix": { + "description": "This format defaults the prefix to the given log file prefix for delivering server access log file.", + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "SimplePrefix" + ] + }, + { + "additionalProperties": false, + "properties": { + "PartitionedPrefix": { + "$ref": "#/definitions/PartitionedPrefix" + } + }, + "required": [ + "PartitionedPrefix" + ] + } ], - "markdownDescription": "Describes the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied. If you don't specify a customer managed key at configuration, Amazon S3 automatically creates an AWS KMS key in your AWS account the first time that you add an object encrypted with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS. For more information, see [PUT Bucket encryption](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html) in the *Amazon S3 API Reference*.\n If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "MetricsConfiguration": { - "description": "Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For examples, see [AWS::S3::Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#aws-properties-s3-bucket--examples). For more information, see [PUT Bucket metrics](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html) in the *Amazon S3 API Reference*.", + "PartitionedPrefix": { + "type": "object", + "description": "Amazon S3 keys for log objects are partitioned in the following format:\n ``[DestinationPrefix][SourceAccountId]/[SourceRegion]/[SourceBucket]/[YYYY]/[MM]/[DD]/[YYYY]-[MM]-[DD]-[hh]-[mm]-[ss]-[UniqueString]`` \n PartitionedPrefix defaults to EventTime delivery when server access logs are delivered.", + "properties": { + "PartitionDateSource": { + "type": "string", + "description": "Specifies the partition date source for the partitioned prefix. ``PartitionDateSource`` can be ``EventTime`` or ``DeliveryTime``.\n For ``DeliveryTime``, the time in the log file names corresponds to the delivery time for the log files. \n For ``EventTime``, The logs delivered are for a specific day only. The year, month, and day correspond to the day on which the event occurred, and the hour, minutes and seconds are set to 00 in the key.", + "enum": [ + "EventTime", + "DeliveryTime" + ], + "markdownDescription": "Specifies the partition date source for the partitioned prefix. ``PartitionDateSource`` can be ``EventTime`` or ``DeliveryTime``.\n For ``DeliveryTime``, the time in the log file names corresponds to the delivery time for the log files. \n For ``EventTime``, The logs delivered are for a specific day only. The year, month, and day correspond to the day on which the event occurred, and the hour, minutes and seconds are set to 00 in the key.\n\n---\n\nRequired: No \nType: String \nAllowed Values: EventTime | DeliveryTime \nUpdate requires: No interruption" + } + }, "additionalProperties": false, + "markdownDescription": "Amazon S3 keys for log objects are partitioned in the following format:\n ``[DestinationPrefix][SourceAccountId]/[SourceRegion]/[SourceBucket]/[YYYY]/[MM]/[DD]/[YYYY]-[MM]-[DD]-[hh]-[mm]-[ss]-[UniqueString]`` \n PartitionedPrefix defaults to EventTime delivery when server access logs are delivered.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MetricsConfiguration": { "type": "object", + "additionalProperties": false, "properties": { "AccessPointArn": { - "description": "The access point that was used while performing operations on the object. The metrics configuration only includes objects that meet the filter's criteria.", "type": "string", + "description": "The access point that was used while performing operations on the object. The metrics configuration only includes objects that meet the filter's criteria.", "markdownDescription": "The access point that was used while performing operations on the object. The metrics configuration only includes objects that meet the filter's criteria.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "TagFilters": { - "uniqueItems": true, - "description": "Specifies a list of tag filters to use as a metrics configuration filter. The metrics configuration includes only objects that meet the filter's criteria.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/TagFilter" - }, - "markdownDescription": "Specifies a list of tag filters to use as a metrics configuration filter. The metrics configuration includes only objects that meet the filter's criteria.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, "Id": { - "description": "The ID used to identify the metrics configuration. This can be any value you choose that helps you identify your metrics configuration.", "type": "string", + "description": "The ID used to identify the metrics configuration. This can be any value you choose that helps you identify your metrics configuration.", "markdownDescription": "The ID used to identify the metrics configuration. This can be any value you choose that helps you identify your metrics configuration.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Prefix": { - "description": "The prefix that an object must have to be included in the metrics results.", "type": "string", + "description": "The prefix that an object must have to be included in the metrics results.", "markdownDescription": "The prefix that an object must have to be included in the metrics results.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TagFilters": { + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/TagFilter" + }, + "description": "Specifies a list of tag filters to use as a metrics configuration filter. The metrics configuration includes only objects that meet the filter's criteria.", + "markdownDescription": "Specifies a list of tag filters to use as a metrics configuration filter. The metrics configuration includes only objects that meet the filter's criteria.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ "Id" ], + "description": "Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For examples, see [AWS::S3::Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#aws-properties-s3-bucket--examples). For more information, see [PUT Bucket metrics](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html) in the *Amazon S3 API Reference*.", "markdownDescription": "Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For examples, see [AWS::S3::Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#aws-properties-s3-bucket--examples). For more information, see [PUT Bucket metrics](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html) in the *Amazon S3 API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ObjectLockConfiguration": { - "description": "Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html).", - "additionalProperties": false, + "NotificationConfiguration": { + "description": "Describes the notification configuration for an Amazon S3 bucket.\n If you create the target resource and related permissions in the same template, you might have a circular dependency.\n For example, you might use the ``AWS::Lambda::Permission`` resource to grant the bucket permission to invoke an AWS Lambda function. However, AWS CloudFormation can't create the bucket until the bucket has permission to invoke the function (AWS CloudFormation checks whether the bucket can invoke the function). If you're using Refs to pass the bucket name, this leads to a circular dependency.\n To avoid this dependency, you can create all resources without specifying the notification configuration. Then, update the stack with a notification configuration.\n For more information on permissions, see [AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html) and [Granting Permissions to Publish Event Notification Messages to a Destination](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#grant-destinations-permissions-to-s3).", "type": "object", + "additionalProperties": false, "properties": { - "ObjectLockEnabled": { - "const": "Enabled", - "description": "Indicates whether this bucket has an Object Lock configuration enabled. Enable ``ObjectLockEnabled`` when you apply ``ObjectLockConfiguration`` to a bucket.", - "type": "string", - "markdownDescription": "Indicates whether this bucket has an Object Lock configuration enabled. Enable ``ObjectLockEnabled`` when you apply ``ObjectLockConfiguration`` to a bucket.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "EventBridgeConfiguration": { + "$ref": "#/definitions/EventBridgeConfiguration", + "description": "Enables delivery of events to Amazon EventBridge.", + "markdownDescription": "Enables delivery of events to Amazon EventBridge.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "LambdaConfigurations": { + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/LambdaConfiguration" + }, + "description": "Describes the LAMlong functions to invoke and the events for which to invoke them.", + "markdownDescription": "Describes the LAMlong functions to invoke and the events for which to invoke them.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Rule": { - "description": "Specifies the Object Lock rule for the specified object. Enable this rule when you apply ``ObjectLockConfiguration`` to a bucket. If Object Lock is turned on, bucket settings require both ``Mode`` and a period of either ``Days`` or ``Years``. You cannot specify ``Days`` and ``Years`` at the same time. For more information, see [ObjectLockRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html) and [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html).", - "$ref": "#/definitions/ObjectLockRule", - "markdownDescription": "Specifies the Object Lock rule for the specified object. Enable this rule when you apply ``ObjectLockConfiguration`` to a bucket. If Object Lock is turned on, bucket settings require both ``Mode`` and a period of either ``Days`` or ``Years``. You cannot specify ``Days`` and ``Years`` at the same time. For more information, see [ObjectLockRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html) and [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "QueueConfigurations": { + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/QueueConfiguration" + }, + "description": "The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.", + "markdownDescription": "The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "TopicConfigurations": { + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/TopicConfiguration" + }, + "description": "The topic to which notifications are sent and the events for which notifications are generated.", + "markdownDescription": "The topic to which notifications are sent and the events for which notifications are generated.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Describes the notification configuration for an Amazon S3 bucket.\n If you create the target resource and related permissions in the same template, you might have a circular dependency.\n For example, you might use the ``AWS::Lambda::Permission`` resource to grant the bucket permission to invoke an AWS Lambda function. However, AWS CloudFormation can't create the bucket until the bucket has permission to invoke the function (AWS CloudFormation checks whether the bucket can invoke the function). If you're using Refs to pass the bucket name, this leads to a circular dependency.\n To avoid this dependency, you can create all resources without specifying the notification configuration. Then, update the stack with a notification configuration.\n For more information on permissions, see [AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html) and [Granting Permissions to Publish Event Notification Messages to a Destination](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#grant-destinations-permissions-to-s3).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "LoggingConfiguration": { - "description": "Describes where logs are stored and the prefix that Amazon S3 assigns to all log object keys for a bucket. For examples and more information, see [PUT Bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) in the *Amazon S3 API Reference*.\n To successfully complete the ``AWS::S3::Bucket LoggingConfiguration`` request, you must have ``s3:PutObject`` and ``s3:PutObjectAcl`` in your IAM permissions.", - "additionalProperties": false, + "EventBridgeConfiguration": { "type": "object", + "description": "Amazon S3 can send events to Amazon EventBridge whenever certain events happen in your bucket, see [Using EventBridge](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventBridge.html) in the *Amazon S3 User Guide*.\n Unlike other destinations, delivery of events to EventBridge can be either enabled or disabled for a bucket. If enabled, all events will be sent to EventBridge and you can use EventBridge rules to route events to additional targets. For more information, see [What Is Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) in the *Amazon EventBridge User Guide*", + "additionalProperties": false, "properties": { - "TargetObjectKeyFormat": { - "description": "Amazon S3 key format for log objects. Only one format, either PartitionedPrefix or SimplePrefix, is allowed.", - "$ref": "#/definitions/TargetObjectKeyFormat", - "markdownDescription": "Amazon S3 key format for log objects. Only one format, either PartitionedPrefix or SimplePrefix, is allowed.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "LogFilePrefix": { - "description": "A prefix for all log object keys. If you store log files from multiple Amazon S3 buckets in a single bucket, you can use a prefix to distinguish which log files came from which bucket.", - "type": "string", - "markdownDescription": "A prefix for all log object keys. If you store log files from multiple Amazon S3 buckets in a single bucket, you can use a prefix to distinguish which log files came from which bucket.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "DestinationBucketName": { - "description": "The name of the bucket where Amazon S3 should store server access log files. You can store log files in any bucket that you own. By default, logs are stored in the bucket where the ``LoggingConfiguration`` property is defined.", - "type": "string", - "markdownDescription": "The name of the bucket where Amazon S3 should store server access log files. You can store log files in any bucket that you own. By default, logs are stored in the bucket where the ``LoggingConfiguration`` property is defined.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "EventBridgeEnabled": { + "description": "Enables delivery of events to Amazon EventBridge.", + "type": "boolean", + "default": "true", + "markdownDescription": "Enables delivery of events to Amazon EventBridge.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" } }, - "markdownDescription": "Describes where logs are stored and the prefix that Amazon S3 assigns to all log object keys for a bucket. For examples and more information, see [PUT Bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) in the *Amazon S3 API Reference*.\n To successfully complete the ``AWS::S3::Bucket LoggingConfiguration`` request, you must have ``s3:PutObject`` and ``s3:PutObjectAcl`` in your IAM permissions.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "required": [ + "EventBridgeEnabled" + ], + "markdownDescription": "Amazon S3 can send events to Amazon EventBridge whenever certain events happen in your bucket, see [Using EventBridge](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventBridge.html) in the *Amazon S3 User Guide*.\n Unlike other destinations, delivery of events to EventBridge can be either enabled or disabled for a bucket. If enabled, all events will be sent to EventBridge and you can use EventBridge rules to route events to additional targets. For more information, see [What Is Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) in the *Amazon EventBridge User Guide*\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "LambdaConfiguration": { + "type": "object", "description": "Describes the LAMlong functions to invoke and the events for which to invoke them.", "additionalProperties": false, - "type": "object", "properties": { - "Function": { - "description": "The Amazon Resource Name (ARN) of the LAMlong function that Amazon S3 invokes when the specified event type occurs.", + "Event": { + "description": "The Amazon S3 bucket event for which to invoke the LAMlong function. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the LAMlong function that Amazon S3 invokes when the specified event type occurs.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Amazon S3 bucket event for which to invoke the LAMlong function. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Filter": { "description": "The filtering rules that determine which objects invoke the AWS Lambda function. For example, you can create a filter so that only image files with a ``.jpg`` extension invoke the function when they are added to the Amazon S3 bucket.", "$ref": "#/definitions/NotificationFilter", "markdownDescription": "The filtering rules that determine which objects invoke the AWS Lambda function. For example, you can create a filter so that only image files with a ``.jpg`` extension invoke the function when they are added to the Amazon S3 bucket.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "Event": { - "description": "The Amazon S3 bucket event for which to invoke the LAMlong function. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.", + "Function": { + "description": "The Amazon Resource Name (ARN) of the LAMlong function that Amazon S3 invokes when the specified event type occurs.", "type": "string", - "markdownDescription": "The Amazon S3 bucket event for which to invoke the LAMlong function. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the LAMlong function that Amazon S3 invokes when the specified event type occurs.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -1289,496 +1063,594 @@ ], "markdownDescription": "Describes the LAMlong functions to invoke and the events for which to invoke them.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "DataExport": { - "description": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.", - "additionalProperties": false, + "QueueConfiguration": { "type": "object", + "description": "Specifies the configuration for publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when Amazon S3 detects specified events.", + "additionalProperties": false, "properties": { - "Destination": { - "description": "The place to store the data for an analysis.", - "$ref": "#/definitions/Destination", - "markdownDescription": "The place to store the data for an analysis.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + "Event": { + "description": "The Amazon S3 bucket event about which you want to publish messages to Amazon SQS. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.", + "type": "string", + "markdownDescription": "The Amazon S3 bucket event about which you want to publish messages to Amazon SQS. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "OutputSchemaVersion": { - "const": "V_1", - "description": "The version of the output schema to use when exporting data. Must be ``V_1``.", + "Filter": { + "description": "The filtering rules that determine which objects trigger notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a ``.jpg`` extension are added to the bucket. For more information, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.", + "$ref": "#/definitions/NotificationFilter", + "markdownDescription": "The filtering rules that determine which objects trigger notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a ``.jpg`` extension are added to the bucket. For more information, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Queue": { + "description": "The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type. FIFO queues are not allowed when enabling an SQS queue as the event notification destination.", "type": "string", - "markdownDescription": "The version of the output schema to use when exporting data. Must be ``V_1``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type. FIFO queues are not allowed when enabling an SQS queue as the event notification destination.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "Destination", - "OutputSchemaVersion" + "Event", + "Queue" ], - "markdownDescription": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies the configuration for publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when Amazon S3 detects specified events.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Tiering": { - "description": "The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead.", - "additionalProperties": false, + "TopicConfiguration": { "type": "object", + "description": "A container for specifying the configuration for publication of messages to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 detects specified events.", + "additionalProperties": false, "properties": { - "AccessTier": { - "description": "S3 Intelligent-Tiering access tier. See [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) for a list of access tiers in the S3 Intelligent-Tiering storage class.", + "Event": { + "description": "The Amazon S3 bucket event about which to send notifications. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.", "type": "string", - "enum": [ - "ARCHIVE_ACCESS", - "DEEP_ARCHIVE_ACCESS" - ], - "markdownDescription": "S3 Intelligent-Tiering access tier. See [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) for a list of access tiers in the S3 Intelligent-Tiering storage class.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ARCHIVE_ACCESS | DEEP_ARCHIVE_ACCESS \nUpdate requires: No interruption" + "markdownDescription": "The Amazon S3 bucket event about which to send notifications. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "Days": { - "description": "The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).", - "type": "integer", - "markdownDescription": "The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "Filter": { + "description": "The filtering rules that determine for which objects to send notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a ``.jpg`` extension are added to the bucket.", + "$ref": "#/definitions/NotificationFilter", + "markdownDescription": "The filtering rules that determine for which objects to send notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a ``.jpg`` extension are added to the bucket.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Topic": { + "description": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "AccessTier", - "Days" + "Event", + "Topic" ], - "markdownDescription": "The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A container for specifying the configuration for publication of messages to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 detects specified events.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ReplicationTime": { - "description": "A container specifying S3 Replication Time Control (S3 RTC) related information, including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a ``Metrics`` block.", - "additionalProperties": false, + "NotificationFilter": { "type": "object", + "description": "Specifies object key name filtering rules. For information about key name filtering, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.", + "additionalProperties": false, "properties": { - "Status": { - "description": "Specifies whether the replication time is enabled.", - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ], - "markdownDescription": "Specifies whether the replication time is enabled.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" - }, - "Time": { - "description": "A container specifying the time by which replication should be complete for all objects and operations on objects.", - "$ref": "#/definitions/ReplicationTimeValue", - "markdownDescription": "A container specifying the time by which replication should be complete for all objects and operations on objects.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + "S3Key": { + "$ref": "#/definitions/S3KeyFilter", + "description": "A container for object key name prefix and suffix filtering rules.", + "markdownDescription": "A container for object key name prefix and suffix filtering rules.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ - "Status", - "Time" + "S3Key" ], - "markdownDescription": "A container specifying S3 Replication Time Control (S3 RTC) related information, including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a ``Metrics`` block.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies object key name filtering rules. For information about key name filtering, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ReplicationRuleFilter": { - "description": "A filter that identifies the subset of objects to which the replication rule applies. A ``Filter`` must specify exactly one ``Prefix``, ``TagFilter``, or an ``And`` child element.", - "additionalProperties": false, + "S3KeyFilter": { "type": "object", + "description": "A container for object key name prefix and suffix filtering rules. For more information about object key name filtering, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.\n The same type of filter rule cannot be used more than once. For example, you cannot specify two prefix rules.", + "additionalProperties": false, "properties": { - "And": { - "description": "A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. For example: \n + If you specify both a ``Prefix`` and a ``TagFilter``, wrap these filters in an ``And`` tag.\n + If you specify a filter based on multiple tags, wrap the ``TagFilter`` elements in an ``And`` tag.", - "$ref": "#/definitions/ReplicationRuleAndOperator", - "markdownDescription": "A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. For example: \n + If you specify both a ``Prefix`` and a ``TagFilter``, wrap these filters in an ``And`` tag.\n + If you specify a filter based on multiple tags, wrap the ``TagFilter`` elements in an ``And`` tag.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "TagFilter": { - "description": "A container for specifying a tag key and value. \n The rule applies only to objects that have the tag in their tag set.", - "$ref": "#/definitions/TagFilter", - "markdownDescription": "A container for specifying a tag key and value. \n The rule applies only to objects that have the tag in their tag set.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Prefix": { - "description": "An object key name prefix that identifies the subset of objects to which the rule applies.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).", - "type": "string", - "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "Rules": { + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/FilterRule" + }, + "description": "A list of containers for the key-value pair that defines the criteria for the filter rule.", + "markdownDescription": "A list of containers for the key-value pair that defines the criteria for the filter rule.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "A filter that identifies the subset of objects to which the replication rule applies. A ``Filter`` must specify exactly one ``Prefix``, ``TagFilter``, or an ``And`` child element.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "required": [ + "Rules" + ], + "markdownDescription": "A container for object key name prefix and suffix filtering rules. For more information about object key name filtering, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.\n The same type of filter rule cannot be used more than once. For example, you cannot specify two prefix rules.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "RedirectRule": { - "description": "Specifies how requests are redirected. In the event of an error, you can specify a different error code to return.", - "additionalProperties": false, + "FilterRule": { "type": "object", + "description": "Specifies the Amazon S3 object key name to filter on. An object key name is the name assigned to an object in your Amazon S3 bucket. You specify whether to filter on the suffix or prefix of the object key name. A prefix is a specific string of characters at the beginning of an object key name, which you can use to organize objects. For example, you can start the key names of related objects with a prefix, such as ``2023-`` or ``engineering/``. Then, you can use ``FilterRule`` to find objects in a bucket with key names that have the same prefix. A suffix is similar to a prefix, but it is at the end of the object key name instead of at the beginning.", + "additionalProperties": false, "properties": { - "ReplaceKeyWith": { - "description": "The specific object key to use in the redirect request. For example, redirect request to ``error.html``. Not required if one of the siblings is present. Can be present only if ``ReplaceKeyPrefixWith`` is not provided.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).", - "type": "string", - "markdownDescription": "The specific object key to use in the redirect request. For example, redirect request to ``error.html``. Not required if one of the siblings is present. Can be present only if ``ReplaceKeyPrefixWith`` is not provided.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "HttpRedirectCode": { - "description": "The HTTP redirect code to use on the response. Not required if one of the siblings is present.", - "type": "string", - "markdownDescription": "The HTTP redirect code to use on the response. Not required if one of the siblings is present.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Protocol": { - "description": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", + "Name": { "type": "string", - "enum": [ - "http", - "https" - ], - "markdownDescription": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.\n\n---\n\nRequired: No \nType: String \nAllowed Values: http | https \nUpdate requires: No interruption" + "maxLength": 1024, + "description": "The object key name prefix or suffix identifying one or more objects to which the filtering rule applies. The maximum length is 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, see [Configuring Event Notifications](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.", + "markdownDescription": "The object key name prefix or suffix identifying one or more objects to which the filtering rule applies. The maximum length is 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, see [Configuring Event Notifications](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" }, - "HostName": { - "description": "The host name to use in the redirect request.", + "Value": { "type": "string", - "markdownDescription": "The host name to use in the redirect request.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "ReplaceKeyPrefixWith": { - "description": "The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix ``docs/`` (objects in the ``docs/`` folder) to ``documents/``, you can set a condition block with ``KeyPrefixEquals`` set to ``docs/`` and in the Redirect set ``ReplaceKeyPrefixWith`` to ``/documents``. Not required if one of the siblings is present. Can be present only if ``ReplaceKeyWith`` is not provided.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).", + "description": "The value that the filter searches for in object key names.", + "markdownDescription": "The value that the filter searches for in object key names.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Value", + "Name" + ], + "markdownDescription": "Specifies the Amazon S3 object key name to filter on. An object key name is the name assigned to an object in your Amazon S3 bucket. You specify whether to filter on the suffix or prefix of the object key name. A prefix is a specific string of characters at the beginning of an object key name, which you can use to organize objects. For example, you can start the key names of related objects with a prefix, such as ``2023-`` or ``engineering/``. Then, you can use ``FilterRule`` to find objects in a bucket with key names that have the same prefix. A suffix is similar to a prefix, but it is at the end of the object key name instead of at the beginning.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ObjectLockConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "ObjectLockEnabled": { "type": "string", - "markdownDescription": "The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix ``docs/`` (objects in the ``docs/`` folder) to ``documents/``, you can set a condition block with ``KeyPrefixEquals`` set to ``docs/`` and in the Redirect set ``ReplaceKeyPrefixWith`` to ``/documents``. Not required if one of the siblings is present. Can be present only if ``ReplaceKeyWith`` is not provided.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "const": "Enabled", + "description": "Indicates whether this bucket has an Object Lock configuration enabled. Enable ``ObjectLockEnabled`` when you apply ``ObjectLockConfiguration`` to a bucket.", + "markdownDescription": "Indicates whether this bucket has an Object Lock configuration enabled. Enable ``ObjectLockEnabled`` when you apply ``ObjectLockConfiguration`` to a bucket.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Rule": { + "$ref": "#/definitions/ObjectLockRule", + "description": "Specifies the Object Lock rule for the specified object. Enable this rule when you apply ``ObjectLockConfiguration`` to a bucket. If Object Lock is turned on, bucket settings require both ``Mode`` and a period of either ``Days`` or ``Years``. You cannot specify ``Days`` and ``Years`` at the same time. For more information, see [ObjectLockRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html) and [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html).", + "markdownDescription": "Specifies the Object Lock rule for the specified object. Enable this rule when you apply ``ObjectLockConfiguration`` to a bucket. If Object Lock is turned on, bucket settings require both ``Mode`` and a period of either ``Days`` or ``Years``. You cannot specify ``Days`` and ``Years`` at the same time. For more information, see [ObjectLockRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html) and [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "markdownDescription": "Specifies how requests are redirected. In the event of an error, you can specify a different error code to return.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html).", + "markdownDescription": "Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "EncryptionConfiguration": { - "description": "Specifies encryption-related information for an Amazon S3 bucket that is a destination for replicated objects.\n If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.", + "ObjectLockRule": { + "type": "object", + "description": "Specifies the Object Lock rule for the specified object. Enable the this rule when you apply ``ObjectLockConfiguration`` to a bucket.", "additionalProperties": false, + "properties": { + "DefaultRetention": { + "$ref": "#/definitions/DefaultRetention", + "description": "The default Object Lock retention mode and period that you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, bucket settings require both ``Mode`` and a period of either ``Days`` or ``Years``. You cannot specify ``Days`` and ``Years`` at the same time. For more information about allowable values for mode and period, see [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html).", + "markdownDescription": "The default Object Lock retention mode and period that you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, bucket settings require both ``Mode`` and a period of either ``Days`` or ``Years``. You cannot specify ``Days`` and ``Years`` at the same time. For more information about allowable values for mode and period, see [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specifies the Object Lock rule for the specified object. Enable the this rule when you apply ``ObjectLockConfiguration`` to a bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DefaultRetention": { "type": "object", + "description": "The container element for optionally specifying the default Object Lock retention settings for new objects placed in the specified bucket.\n + The ``DefaultRetention`` settings require both a mode and a period.\n + The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time.", + "additionalProperties": false, "properties": { - "ReplicaKmsKeyID": { - "description": "Specifies the ID (Key ARN or Alias ARN) of the customer managed AWS KMS key stored in AWS Key Management Service (KMS) for the destination bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *Key Management Service Developer Guide*.", + "Years": { + "type": "integer", + "description": "The number of years that you want to specify for the default retention period. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.", + "markdownDescription": "The number of years that you want to specify for the default retention period. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Days": { + "type": "integer", + "description": "The number of days that you want to specify for the default retention period. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.", + "markdownDescription": "The number of days that you want to specify for the default retention period. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Mode": { "type": "string", - "markdownDescription": "Specifies the ID (Key ARN or Alias ARN) of the customer managed AWS KMS key stored in AWS Key Management Service (KMS) for the destination bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *Key Management Service Developer Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "enum": [ + "COMPLIANCE", + "GOVERNANCE" + ], + "description": "The default Object Lock retention mode you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.", + "markdownDescription": "The default Object Lock retention mode you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.\n\n---\n\nRequired: No \nType: String \nAllowed Values: COMPLIANCE | GOVERNANCE \nUpdate requires: No interruption" } }, - "required": [ - "ReplicaKmsKeyID" - ], - "markdownDescription": "Specifies encryption-related information for an Amazon S3 bucket that is a destination for replicated objects.\n If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The container element for optionally specifying the default Object Lock retention settings for new objects placed in the specified bucket.\n + The ``DefaultRetention`` settings require both a mode and a period.\n + The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "BucketEncryption": { - "description": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide*.", - "additionalProperties": false, + "OwnershipControls": { "type": "object", + "additionalProperties": false, "properties": { - "ServerSideEncryptionConfiguration": { + "Rules": { + "type": "array", "uniqueItems": true, - "description": "Specifies the default server-side-encryption configuration.", "insertionOrder": true, - "type": "array", "items": { - "$ref": "#/definitions/ServerSideEncryptionRule" + "$ref": "#/definitions/OwnershipControlsRule" }, - "markdownDescription": "Specifies the default server-side-encryption configuration.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "description": "Specifies the container element for Object Ownership rules.", + "markdownDescription": "Specifies the container element for Object Ownership rules.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ - "ServerSideEncryptionConfiguration" + "Rules" ], - "markdownDescription": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Specifies the container element for Object Ownership rules.\n S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see [Controlling ownership of objects and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.", + "markdownDescription": "Specifies the container element for Object Ownership rules.\n S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see [Controlling ownership of objects and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "NotificationConfiguration": { - "description": "Describes the notification configuration for an Amazon S3 bucket.\n If you create the target resource and related permissions in the same template, you might have a circular dependency.\n For example, you might use the ``AWS::Lambda::Permission`` resource to grant the bucket permission to invoke an AWS Lambda function. However, AWS CloudFormation can't create the bucket until the bucket has permission to invoke the function (AWS CloudFormation checks whether the bucket can invoke the function). If you're using Refs to pass the bucket name, this leads to a circular dependency.\n To avoid this dependency, you can create all resources without specifying the notification configuration. Then, update the stack with a notification configuration.\n For more information on permissions, see [AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html) and [Granting Permissions to Publish Event Notification Messages to a Destination](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#grant-destinations-permissions-to-s3).", + "OwnershipControlsRule": { + "type": "object", "additionalProperties": false, + "properties": { + "ObjectOwnership": { + "description": "Specifies an object ownership rule.", + "type": "string", + "enum": [ + "ObjectWriter", + "BucketOwnerPreferred", + "BucketOwnerEnforced" + ], + "markdownDescription": "Specifies an object ownership rule.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ObjectWriter | BucketOwnerPreferred | BucketOwnerEnforced \nUpdate requires: No interruption" + } + }, + "description": "Specifies an Object Ownership rule.\n S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see [Controlling ownership of objects and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.", + "markdownDescription": "Specifies an Object Ownership rule.\n S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see [Controlling ownership of objects and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PublicAccessBlockConfiguration": { + "description": "The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide*.", "type": "object", + "additionalProperties": false, "properties": { - "TopicConfigurations": { - "uniqueItems": true, - "description": "The topic to which notifications are sent and the events for which notifications are generated.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/TopicConfiguration" - }, - "markdownDescription": "The topic to which notifications are sent and the events for which notifications are generated.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "BlockPublicAcls": { + "type": "boolean", + "description": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes the following behavior:\n + PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n + PUT Object calls fail if the request includes a public ACL.\n + PUT Bucket calls fail if the request includes a public ACL.\n \n Enabling this setting doesn't affect existing policies or ACLs.", + "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes the following behavior:\n + PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n + PUT Object calls fail if the request includes a public ACL.\n + PUT Bucket calls fail if the request includes a public ACL.\n \n Enabling this setting doesn't affect existing policies or ACLs.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "QueueConfigurations": { - "uniqueItems": true, - "description": "The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/QueueConfiguration" - }, - "markdownDescription": "The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "BlockPublicPolicy": { + "type": "boolean", + "description": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to ``TRUE`` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access. \n Enabling this setting doesn't affect existing bucket policies.", + "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to ``TRUE`` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access. \n Enabling this setting doesn't affect existing bucket policies.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "LambdaConfigurations": { - "uniqueItems": true, - "description": "Describes the LAMlong functions to invoke and the events for which to invoke them.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/LambdaConfiguration" - }, - "markdownDescription": "Describes the LAMlong functions to invoke and the events for which to invoke them.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "IgnorePublicAcls": { + "type": "boolean", + "description": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", + "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "EventBridgeConfiguration": { - "description": "Enables delivery of events to Amazon EventBridge.", - "$ref": "#/definitions/EventBridgeConfiguration", - "markdownDescription": "Enables delivery of events to Amazon EventBridge.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "RestrictPublicBuckets": { + "type": "boolean", + "description": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to ``TRUE`` restricts access to this bucket to only AWS-service principals and authorized users within this account if the bucket has a public policy.\n Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", + "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to ``TRUE`` restricts access to this bucket to only AWS-service principals and authorized users within this account if the bucket has a public policy.\n Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, - "markdownDescription": "Describes the notification configuration for an Amazon S3 bucket.\n If you create the target resource and related permissions in the same template, you might have a circular dependency.\n For example, you might use the ``AWS::Lambda::Permission`` resource to grant the bucket permission to invoke an AWS Lambda function. However, AWS CloudFormation can't create the bucket until the bucket has permission to invoke the function (AWS CloudFormation checks whether the bucket can invoke the function). If you're using Refs to pass the bucket name, this leads to a circular dependency.\n To avoid this dependency, you can create all resources without specifying the notification configuration. Then, update the stack with a notification configuration.\n For more information on permissions, see [AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html) and [Granting Permissions to Publish Event Notification Messages to a Destination](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#grant-destinations-permissions-to-s3).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "LifecycleConfiguration": { - "description": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide*.", - "additionalProperties": false, + "ReplicationConfiguration": { "type": "object", + "description": "A container for replication rules. You can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB. The latest version of the replication configuration XML is V2. For more information about XML V2 replication configurations, see [Replication configuration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-add-config.html) in the *Amazon S3 User Guide*.", + "additionalProperties": false, "properties": { + "Role": { + "description": "The Amazon Resource Name (ARN) of the IAMlong (IAM) role that Amazon S3 assumes when replicating objects. For more information, see [How to Set Up Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html) in the *Amazon S3 User Guide*.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the IAMlong (IAM) role that Amazon S3 assumes when replicating objects. For more information, see [How to Set Up Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, "Rules": { + "description": "A container for one or more replication rules. A replication configuration must have at least one rule and can contain a maximum of 1,000 rules.", + "type": "array", "uniqueItems": true, - "description": "A lifecycle rule for individual objects in an Amazon S3 bucket.", "insertionOrder": true, - "type": "array", "items": { - "$ref": "#/definitions/Rule" + "$ref": "#/definitions/ReplicationRule", + "maxLength": 1000, + "minLength": 1 }, - "markdownDescription": "A lifecycle rule for individual objects in an Amazon S3 bucket.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A container for one or more replication rules. A replication configuration must have at least one rule and can contain a maximum of 1,000 rules.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ + "Role", "Rules" ], - "markdownDescription": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A container for replication rules. You can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB. The latest version of the replication configuration XML is V2. For more information about XML V2 replication configurations, see [Replication configuration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-add-config.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "InventoryConfiguration": { - "description": "Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.", - "additionalProperties": false, + "ReplicationRule": { "type": "object", + "description": "Specifies which Amazon S3 objects to replicate and where to store the replicas.", + "additionalProperties": false, "properties": { + "DeleteMarkerReplication": { + "$ref": "#/definitions/DeleteMarkerReplication", + "description": "Specifies whether Amazon S3 replicates delete markers. If you specify a ``Filter`` in your replication configuration, you must also include a ``DeleteMarkerReplication`` element. If your ``Filter`` includes a ``Tag`` element, the ``DeleteMarkerReplication`` ``Status`` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). \n For more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). \n If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations).", + "markdownDescription": "Specifies whether Amazon S3 replicates delete markers. If you specify a ``Filter`` in your replication configuration, you must also include a ``DeleteMarkerReplication`` element. If your ``Filter`` includes a ``Tag`` element, the ``DeleteMarkerReplication`` ``Status`` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). \n For more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). \n If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "Destination": { - "description": "Contains information about where to publish the inventory results.", - "$ref": "#/definitions/Destination", - "markdownDescription": "Contains information about where to publish the inventory results.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + "$ref": "#/definitions/ReplicationDestination", + "description": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).", + "markdownDescription": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, - "OptionalFields": { - "uniqueItems": true, - "description": "Contains the optional fields that are included in the inventory results.", - "insertionOrder": true, - "type": "array", - "items": { - "type": "string", - "enum": [ - "Size", - "LastModifiedDate", - "StorageClass", - "ETag", - "IsMultipartUploaded", - "ReplicationStatus", - "EncryptionStatus", - "ObjectLockRetainUntilDate", - "ObjectLockMode", - "ObjectLockLegalHoldStatus", - "IntelligentTieringAccessTier", - "BucketKeyStatus", - "ChecksumAlgorithm", - "ObjectAccessControlList", - "ObjectOwner" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: Size | LastModifiedDate | StorageClass | ETag | IsMultipartUploaded | ReplicationStatus | EncryptionStatus | ObjectLockRetainUntilDate | ObjectLockMode | ObjectLockLegalHoldStatus | IntelligentTieringAccessTier | BucketKeyStatus | ChecksumAlgorithm | ObjectAccessControlList | ObjectOwner \nUpdate requires: No interruption" - }, - "markdownDescription": "Contains the optional fields that are included in the inventory results.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "Filter": { + "$ref": "#/definitions/ReplicationRuleFilter", + "description": "A filter that identifies the subset of objects to which the replication rule applies. A ``Filter`` must specify exactly one ``Prefix``, ``TagFilter``, or an ``And`` child element. The use of the filter field indicates that this is a V2 replication configuration. This field isn't supported in a V1 replication configuration.\n V1 replication configuration only supports filtering by key prefix. To filter using a V1 replication configuration, add the ``Prefix`` directly as a child element of the ``Rule`` element.", + "markdownDescription": "A filter that identifies the subset of objects to which the replication rule applies. A ``Filter`` must specify exactly one ``Prefix``, ``TagFilter``, or an ``And`` child element. The use of the filter field indicates that this is a V2 replication configuration. This field isn't supported in a V1 replication configuration.\n V1 replication configuration only supports filtering by key prefix. To filter using a V1 replication configuration, add the ``Prefix`` directly as a child element of the ``Rule`` element.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "IncludedObjectVersions": { - "description": "Object versions to include in the inventory list. If set to ``All``, the list includes all the object versions, which adds the version-related fields ``VersionId``, ``IsLatest``, and ``DeleteMarker`` to the list. If set to ``Current``, the list does not contain these version-related fields.", + "Id": { + "description": "A unique identifier for the rule. The maximum value is 255 characters. If you don't specify a value, AWS CloudFormation generates a random ID. When using a V2 replication configuration this property is capitalized as \"ID\".", + "type": "string", + "maxLength": 255, + "markdownDescription": "A unique identifier for the rule. The maximum value is 255 characters. If you don't specify a value, AWS CloudFormation generates a random ID. When using a V2 replication configuration this property is capitalized as \"ID\".\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" + }, + "Prefix": { + "description": "An object key name prefix that identifies the object or objects to which the rule applies. The maximum prefix length is 1,024 characters. To include all objects in a bucket, specify an empty string. To filter using a V1 replication configuration, add the ``Prefix`` directly as a child element of the ``Rule`` element.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).", + "type": "string", + "maxLength": 1024, + "markdownDescription": "An object key name prefix that identifies the object or objects to which the rule applies. The maximum prefix length is 1,024 characters. To include all objects in a bucket, specify an empty string. To filter using a V1 replication configuration, add the ``Prefix`` directly as a child element of the ``Rule`` element.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, + "Priority": { + "type": "integer", + "description": "The priority indicates which rule has precedence whenever two or more replication rules conflict. Amazon S3 will attempt to replicate objects according to all replication rules. However, if there are two or more rules with the same destination bucket, then objects will be replicated according to the rule with the highest priority. The higher the number, the higher the priority. \n For more information, see [Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html) in the *Amazon S3 User Guide*.", + "markdownDescription": "The priority indicates which rule has precedence whenever two or more replication rules conflict. Amazon S3 will attempt to replicate objects according to all replication rules. However, if there are two or more rules with the same destination bucket, then objects will be replicated according to the rule with the highest priority. The higher the number, the higher the priority. \n For more information, see [Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "SourceSelectionCriteria": { + "$ref": "#/definitions/SourceSelectionCriteria", + "description": "A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.", + "markdownDescription": "A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Status": { + "description": "Specifies whether the rule is enabled.", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "markdownDescription": "Specifies whether the rule is enabled.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" + } + }, + "required": [ + "Destination", + "Status" + ], + "markdownDescription": "Specifies which Amazon S3 objects to replicate and where to store the replicas.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DeleteMarkerReplication": { + "type": "object", + "additionalProperties": false, + "properties": { + "Status": { "type": "string", "enum": [ - "All", - "Current" + "Disabled", + "Enabled" ], - "markdownDescription": "Object versions to include in the inventory list. If set to ``All``, the list includes all the object versions, which adds the version-related fields ``VersionId``, ``IsLatest``, and ``DeleteMarker`` to the list. If set to ``Current``, the list does not contain these version-related fields.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: All | Current \nUpdate requires: No interruption" - }, - "Enabled": { - "description": "Specifies whether the inventory is enabled or disabled. If set to ``True``, an inventory list is generated. If set to ``False``, no inventory list is generated.", - "type": "boolean", - "markdownDescription": "Specifies whether the inventory is enabled or disabled. If set to ``True``, an inventory list is generated. If set to ``False``, no inventory list is generated.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + "description": "Indicates whether to replicate delete markers. Disabled by default.", + "markdownDescription": "Indicates whether to replicate delete markers. Disabled by default.\n\n---\n\nRequired: No \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" + } + }, + "description": "Specifies whether Amazon S3 replicates delete markers. If you specify a ``Filter`` in your replication configuration, you must also include a ``DeleteMarkerReplication`` element. If your ``Filter`` includes a ``Tag`` element, the ``DeleteMarkerReplication`` ``Status`` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). \n For more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). \n If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations).", + "markdownDescription": "Specifies whether Amazon S3 replicates delete markers. If you specify a ``Filter`` in your replication configuration, you must also include a ``DeleteMarkerReplication`` element. If your ``Filter`` includes a ``Tag`` element, the ``DeleteMarkerReplication`` ``Status`` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). \n For more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). \n If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ReplicationDestination": { + "type": "object", + "description": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).", + "additionalProperties": false, + "properties": { + "AccessControlTranslation": { + "$ref": "#/definitions/AccessControlTranslation", + "description": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS-account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS-account that owns the source object.", + "markdownDescription": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS-account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS-account that owns the source object.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "Id": { - "description": "The ID used to identify the inventory configuration.", + "Account": { "type": "string", - "markdownDescription": "The ID used to identify the inventory configuration.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to change replica ownership to the AWS-account that owns the destination bucket by specifying the ``AccessControlTranslation`` property, this is the account ID of the destination bucket owner. For more information, see [Cross-Region Replication Additional Configuration: Change Replica Owner](https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-change-owner.html) in the *Amazon S3 User Guide*.\n If you specify the ``AccessControlTranslation`` property, the ``Account`` property is required.", + "markdownDescription": "Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to change replica ownership to the AWS-account that owns the destination bucket by specifying the ``AccessControlTranslation`` property, this is the account ID of the destination bucket owner. For more information, see [Cross-Region Replication Additional Configuration: Change Replica Owner](https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-change-owner.html) in the *Amazon S3 User Guide*.\n If you specify the ``AccessControlTranslation`` property, the ``Account`` property is required.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Prefix": { - "description": "Specifies the inventory filter prefix.", + "Bucket": { "type": "string", - "markdownDescription": "Specifies the inventory filter prefix.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results.", + "markdownDescription": "The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "ScheduleFrequency": { - "description": "Specifies the schedule for generating inventory results.", + "EncryptionConfiguration": { + "$ref": "#/definitions/EncryptionConfiguration", + "description": "Specifies encryption-related information.", + "markdownDescription": "Specifies encryption-related information.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Metrics": { + "$ref": "#/definitions/Metrics", + "description": "A container specifying replication metrics-related settings enabling replication metrics and events.", + "markdownDescription": "A container specifying replication metrics-related settings enabling replication metrics and events.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ReplicationTime": { + "$ref": "#/definitions/ReplicationTime", + "description": "A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a ``Metrics`` block.", + "markdownDescription": "A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a ``Metrics`` block.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "StorageClass": { + "description": "The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica. \n For valid values, see the ``StorageClass`` element of the [PUT Bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) action in the *Amazon S3 API Reference*.", "type": "string", "enum": [ - "Daily", - "Weekly" + "DEEP_ARCHIVE", + "GLACIER", + "GLACIER_IR", + "INTELLIGENT_TIERING", + "ONEZONE_IA", + "REDUCED_REDUNDANCY", + "STANDARD", + "STANDARD_IA" ], - "markdownDescription": "Specifies the schedule for generating inventory results.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Daily | Weekly \nUpdate requires: No interruption" + "markdownDescription": "The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica. \n For valid values, see the ``StorageClass`` element of the [PUT Bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) action in the *Amazon S3 API Reference*.\n\n---\n\nRequired: No \nType: String \nAllowed Values: DEEP_ARCHIVE | GLACIER | GLACIER_IR | INTELLIGENT_TIERING | ONEZONE_IA | REDUCED_REDUNDANCY | STANDARD | STANDARD_IA \nUpdate requires: No interruption" } }, "required": [ - "Destination", - "Enabled", - "Id", - "IncludedObjectVersions", - "ScheduleFrequency" + "Bucket" ], - "markdownDescription": "Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ReplicationRuleAndOperator": { - "description": "A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. \n For example:\n + If you specify both a ``Prefix`` and a ``TagFilter``, wrap these filters in an ``And`` tag. \n + If you specify a filter based on multiple tags, wrap the ``TagFilter`` elements in an ``And`` tag", - "additionalProperties": false, + "AccessControlTranslation": { "type": "object", + "description": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS-account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS-account that owns the source object.", + "additionalProperties": false, "properties": { - "TagFilters": { - "uniqueItems": true, - "description": "An array of tags containing key and value pairs.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/TagFilter" - }, - "markdownDescription": "An array of tags containing key and value pairs.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Prefix": { - "description": "An object key name prefix that identifies the subset of objects to which the rule applies.", + "Owner": { "type": "string", - "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "const": "Destination", + "description": "Specifies the replica ownership. For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) in the *Amazon S3 API Reference*.", + "markdownDescription": "Specifies the replica ownership. For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) in the *Amazon S3 API Reference*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. \n For example:\n + If you specify both a ``Prefix`` and a ``TagFilter``, wrap these filters in an ``And`` tag. \n + If you specify a filter based on multiple tags, wrap the ``TagFilter`` elements in an ``And`` tag\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "required": [ + "Owner" + ], + "markdownDescription": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS-account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS-account that owns the source object.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "VersioningConfiguration": { - "description": "Describes the versioning state of an Amazon S3 bucket. For more information, see [PUT Bucket versioning](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html) in the *Amazon S3 API Reference*.\n When you enable versioning on a bucket for the first time, it might take a short amount of time for the change to be fully propagated. We recommend that you wait for 15 minutes after enabling versioning before issuing write operations (``PUT`` or ``DELETE``) on objects in the bucket.", + "EncryptionConfiguration": { + "type": "object", + "description": "Specifies encryption-related information for an Amazon S3 bucket that is a destination for replicated objects.\n If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.", "additionalProperties": false, + "properties": { + "ReplicaKmsKeyID": { + "description": "Specifies the ID (Key ARN or Alias ARN) of the customer managed AWS KMS key stored in AWS Key Management Service (KMS) for the destination bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *Key Management Service Developer Guide*.", + "type": "string", + "markdownDescription": "Specifies the ID (Key ARN or Alias ARN) of the customer managed AWS KMS key stored in AWS Key Management Service (KMS) for the destination bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *Key Management Service Developer Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "ReplicaKmsKeyID" + ], + "markdownDescription": "Specifies encryption-related information for an Amazon S3 bucket that is a destination for replicated objects.\n If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Metrics": { "type": "object", + "additionalProperties": false, "properties": { + "EventThreshold": { + "$ref": "#/definitions/ReplicationTimeValue", + "description": "A container specifying the time threshold for emitting the ``s3:Replication:OperationMissedThreshold`` event.", + "markdownDescription": "A container specifying the time threshold for emitting the ``s3:Replication:OperationMissedThreshold`` event.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "Status": { - "default": "Suspended", - "description": "The versioning state of the bucket.", "type": "string", "enum": [ - "Enabled", - "Suspended" + "Disabled", + "Enabled" ], - "markdownDescription": "The versioning state of the bucket.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Enabled | Suspended \nUpdate requires: No interruption" + "description": "Specifies whether the replication metrics are enabled.", + "markdownDescription": "Specifies whether the replication metrics are enabled.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" } }, "required": [ "Status" ], - "markdownDescription": "Describes the versioning state of an Amazon S3 bucket. For more information, see [PUT Bucket versioning](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html) in the *Amazon S3 API Reference*.\n When you enable versioning on a bucket for the first time, it might take a short amount of time for the change to be fully propagated. We recommend that you wait for 15 minutes after enabling versioning before issuing write operations (``PUT`` or ``DELETE``) on objects in the bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A container specifying replication metrics-related settings enabling replication metrics and events.", + "markdownDescription": "A container specifying replication metrics-related settings enabling replication metrics and events.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "CorsConfiguration": { - "description": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide*.", - "additionalProperties": false, + "ReplicationTimeValue": { "type": "object", + "additionalProperties": false, "properties": { - "CorsRules": { - "uniqueItems": true, - "description": "A set of origins and methods (cross-origin access that you want to allow). You can add up to 100 rules to the configuration.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/CorsRule", - "maxLength": 100 - }, - "markdownDescription": "A set of origins and methods (cross-origin access that you want to allow). You can add up to 100 rules to the configuration.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "Minutes": { + "type": "integer", + "description": "Contains an integer specifying time in minutes. \n Valid value: 15", + "markdownDescription": "Contains an integer specifying time in minutes. \n Valid value: 15\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" } }, "required": [ - "CorsRules" + "Minutes" ], - "markdownDescription": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A container specifying the time value for S3 Replication Time Control (S3 RTC) and replication metrics ``EventThreshold``.", + "markdownDescription": "A container specifying the time value for S3 Replication Time Control (S3 RTC) and replication metrics ``EventThreshold``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ReplicaModifications": { - "description": "A filter that you can specify for selection for modifications on replicas.", - "additionalProperties": false, + "ReplicationTime": { "type": "object", + "additionalProperties": false, "properties": { "Status": { - "description": "Specifies whether Amazon S3 replicates modifications on replicas.\n *Allowed values*: ``Enabled`` | ``Disabled``", "type": "string", "enum": [ - "Enabled", - "Disabled" + "Disabled", + "Enabled" ], - "markdownDescription": "Specifies whether Amazon S3 replicates modifications on replicas.\n *Allowed values*: ``Enabled`` | ``Disabled``\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Enabled | Disabled \nUpdate requires: No interruption" + "description": "Specifies whether the replication time is enabled.", + "markdownDescription": "Specifies whether the replication time is enabled.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" + }, + "Time": { + "$ref": "#/definitions/ReplicationTimeValue", + "description": "A container specifying the time by which replication should be complete for all objects and operations on objects.", + "markdownDescription": "A container specifying the time by which replication should be complete for all objects and operations on objects.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ - "Status" + "Status", + "Time" ], - "markdownDescription": "A filter that you can specify for selection for modifications on replicas.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A container specifying S3 Replication Time Control (S3 RTC) related information, including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a ``Metrics`` block.", + "markdownDescription": "A container specifying S3 Replication Time Control (S3 RTC) related information, including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a ``Metrics`` block.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "NoncurrentVersionExpiration": { - "description": "Specifies when noncurrent object versions expire. Upon expiration, S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that S3 delete noncurrent object versions at a specific period in the object's lifetime. For more information about setting a lifecycle rule configuration, see [AWS::S3::Bucket Rule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html).", - "additionalProperties": false, + "ReplicationRuleFilter": { "type": "object", + "additionalProperties": false, "properties": { - "NoncurrentDays": { - "description": "Specifies the number of days an object is noncurrent before S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates When an Object Became Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide*.", - "type": "integer", - "markdownDescription": "Specifies the number of days an object is noncurrent before S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates When an Object Became Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "And": { + "$ref": "#/definitions/ReplicationRuleAndOperator", + "description": "A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. For example: \n + If you specify both a ``Prefix`` and a ``TagFilter``, wrap these filters in an ``And`` tag.\n + If you specify a filter based on multiple tags, wrap the ``TagFilter`` elements in an ``And`` tag.", + "markdownDescription": "A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. For example: \n + If you specify both a ``Prefix`` and a ``TagFilter``, wrap these filters in an ``And`` tag.\n + If you specify a filter based on multiple tags, wrap the ``TagFilter`` elements in an ``And`` tag.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "NewerNoncurrentVersions": { - "description": "Specifies how many noncurrent versions S3 will retain. If there are this many more recent noncurrent versions, S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide*.", - "type": "integer", - "markdownDescription": "Specifies how many noncurrent versions S3 will retain. If there are this many more recent noncurrent versions, S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "Prefix": { + "type": "string", + "description": "An object key name prefix that identifies the subset of objects to which the rule applies.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).", + "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TagFilter": { + "$ref": "#/definitions/TagFilter", + "description": "A container for specifying a tag key and value. \n The rule applies only to objects that have the tag in their tag set.", + "markdownDescription": "A container for specifying a tag key and value. \n The rule applies only to objects that have the tag in their tag set.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "required": [ - "NoncurrentDays" - ], - "markdownDescription": "Specifies when noncurrent object versions expire. Upon expiration, S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that S3 delete noncurrent object versions at a specific period in the object's lifetime. For more information about setting a lifecycle rule configuration, see [AWS::S3::Bucket Rule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A filter that identifies the subset of objects to which the replication rule applies. A ``Filter`` must specify exactly one ``Prefix``, ``TagFilter``, or an ``And`` child element.", + "markdownDescription": "A filter that identifies the subset of objects to which the replication rule applies. A ``Filter`` must specify exactly one ``Prefix``, ``TagFilter``, or an ``And`` child element.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "QueueConfiguration": { - "description": "Specifies the configuration for publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when Amazon S3 detects specified events.", - "additionalProperties": false, + "ReplicationRuleAndOperator": { "type": "object", + "additionalProperties": false, "properties": { - "Filter": { - "description": "The filtering rules that determine which objects trigger notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a ``.jpg`` extension are added to the bucket. For more information, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.", - "$ref": "#/definitions/NotificationFilter", - "markdownDescription": "The filtering rules that determine which objects trigger notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a ``.jpg`` extension are added to the bucket. For more information, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Event": { - "description": "The Amazon S3 bucket event about which you want to publish messages to Amazon SQS. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.", + "Prefix": { "type": "string", - "markdownDescription": "The Amazon S3 bucket event about which you want to publish messages to Amazon SQS. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "An object key name prefix that identifies the subset of objects to which the rule applies.", + "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TagFilters": { + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/TagFilter" + }, + "description": "An array of tags containing key and value pairs.", + "markdownDescription": "An array of tags containing key and value pairs.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "description": "A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. \n For example:\n + If you specify both a ``Prefix`` and a ``TagFilter``, wrap these filters in an ``And`` tag. \n + If you specify a filter based on multiple tags, wrap the ``TagFilter`` elements in an ``And`` tag", + "markdownDescription": "A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. \n For example:\n + If you specify both a ``Prefix`` and a ``TagFilter``, wrap these filters in an ``And`` tag. \n + If you specify a filter based on multiple tags, wrap the ``TagFilter`` elements in an ``And`` tag\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SourceSelectionCriteria": { + "description": "A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.", + "type": "object", + "additionalProperties": false, + "properties": { + "ReplicaModifications": { + "description": "A filter that you can specify for selection for modifications on replicas.", + "$ref": "#/definitions/ReplicaModifications", + "markdownDescription": "A filter that you can specify for selection for modifications on replicas.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "Queue": { - "description": "The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type. FIFO queues are not allowed when enabling an SQS queue as the event notification destination.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type. FIFO queues are not allowed when enabling an SQS queue as the event notification destination.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "SseKmsEncryptedObjects": { + "description": "A container for filter information for the selection of Amazon S3 objects encrypted with AWS KMS.", + "$ref": "#/definitions/SseKmsEncryptedObjects", + "markdownDescription": "A container for filter information for the selection of Amazon S3 objects encrypted with AWS KMS.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "required": [ - "Event", - "Queue" - ], - "markdownDescription": "Specifies the configuration for publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when Amazon S3 detects specified events.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Transition": { - "description": "Specifies when an object transitions to a specified storage class. For more information about Amazon S3 lifecycle configuration rules, see [Transitioning Objects Using Amazon S3 Lifecycle](https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) in the *Amazon S3 User Guide*.", - "additionalProperties": false, + "ReplicaModifications": { "type": "object", + "additionalProperties": false, "properties": { - "TransitionDate": { - "description": "Indicates when objects are transitioned to the specified storage class. The date value must be in ISO 8601 format. The time is always midnight UTC.", - "$ref": "#/definitions/iso8601UTC", - "markdownDescription": "Indicates when objects are transitioned to the specified storage class. The date value must be in ISO 8601 format. The time is always midnight UTC.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "StorageClass": { - "description": "The storage class to which you want the object to transition.", + "Status": { + "description": "Specifies whether Amazon S3 replicates modifications on replicas.\n *Allowed values*: ``Enabled`` | ``Disabled``", "type": "string", "enum": [ - "DEEP_ARCHIVE", - "GLACIER", - "Glacier", - "GLACIER_IR", - "INTELLIGENT_TIERING", - "ONEZONE_IA", - "STANDARD_IA" + "Enabled", + "Disabled" ], - "markdownDescription": "The storage class to which you want the object to transition.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: DEEP_ARCHIVE | GLACIER | Glacier | GLACIER_IR | INTELLIGENT_TIERING | ONEZONE_IA | STANDARD_IA \nUpdate requires: No interruption" - }, - "TransitionInDays": { - "description": "Indicates the number of days after creation when objects are transitioned to the specified storage class. The value must be a positive integer.", - "type": "integer", - "markdownDescription": "Indicates the number of days after creation when objects are transitioned to the specified storage class. The value must be a positive integer.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "Specifies whether Amazon S3 replicates modifications on replicas.\n *Allowed values*: ``Enabled`` | ``Disabled``\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Enabled | Disabled \nUpdate requires: No interruption" } }, "required": [ - "StorageClass" + "Status" ], - "markdownDescription": "Specifies when an object transitions to a specified storage class. For more information about Amazon S3 lifecycle configuration rules, see [Transitioning Objects Using Amazon S3 Lifecycle](https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A filter that you can specify for selection for modifications on replicas.", + "markdownDescription": "A filter that you can specify for selection for modifications on replicas.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SseKmsEncryptedObjects": { + "type": "object", "description": "A container for filter information for the selection of S3 objects encrypted with AWS KMS.", "additionalProperties": false, - "type": "object", "properties": { "Status": { "description": "Specifies whether Amazon S3 replicates objects created with server-side encryption using an AWS KMS key stored in AWS Key Management Service.", @@ -1796,226 +1668,363 @@ "markdownDescription": "A container for filter information for the selection of S3 objects encrypted with AWS KMS.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { - "description": "A container of a key value name pair.", - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { - "Value": { - "description": "Value of the tag.", - "type": "string", - "maxLength": 256, - "markdownDescription": "Value of the tag.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" - }, "Key": { - "minLength": 1, - "description": "Name of the object key.", "type": "string", + "minLength": 1, "maxLength": 128, + "description": "Name of the object key.", "markdownDescription": "Name of the object key.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "description": "Value of the tag.", + "markdownDescription": "Value of the tag.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" } }, "required": [ "Value", "Key" ], + "description": "A container of a key value name pair.", "markdownDescription": "A container of a key value name pair.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "AbortIncompleteMultipartUpload": { - "description": "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. For more information, see [Stopping Incomplete Multipart Uploads Using a Bucket Lifecycle Policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) in the *Amazon S3 User Guide*.", - "additionalProperties": false, + "VersioningConfiguration": { + "description": "Describes the versioning state of an Amazon S3 bucket. For more information, see [PUT Bucket versioning](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html) in the *Amazon S3 API Reference*.\n When you enable versioning on a bucket for the first time, it might take a short amount of time for the change to be fully propagated. We recommend that you wait for 15 minutes after enabling versioning before issuing write operations (``PUT`` or ``DELETE``) on objects in the bucket.", "type": "object", + "additionalProperties": false, "properties": { - "DaysAfterInitiation": { - "description": "Specifies the number of days after which Amazon S3 stops an incomplete multipart upload.", - "type": "integer", - "minimum": 0, - "markdownDescription": "Specifies the number of days after which Amazon S3 stops an incomplete multipart upload.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "Status": { + "description": "The versioning state of the bucket.", + "type": "string", + "default": "Suspended", + "enum": [ + "Enabled", + "Suspended" + ], + "markdownDescription": "The versioning state of the bucket.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Enabled | Suspended \nUpdate requires: No interruption" } }, "required": [ - "DaysAfterInitiation" + "Status" ], - "markdownDescription": "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. For more information, see [Stopping Incomplete Multipart Uploads Using a Bucket Lifecycle Policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - } - }, - "properties": { - "InventoryConfigurations": { - "uniqueItems": true, - "description": "Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/InventoryConfiguration" - }, - "markdownDescription": "Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Describes the versioning state of an Amazon S3 bucket. For more information, see [PUT Bucket versioning](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html) in the *Amazon S3 API Reference*.\n When you enable versioning on a bucket for the first time, it might take a short amount of time for the change to be fully propagated. We recommend that you wait for 15 minutes after enabling versioning before issuing write operations (``PUT`` or ``DELETE``) on objects in the bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "WebsiteConfiguration": { - "description": "Information used to configure the bucket as a static website. For more information, see [Hosting Websites on Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html).", - "$ref": "#/definitions/WebsiteConfiguration", - "markdownDescription": "Information used to configure the bucket as a static website. For more information, see [Hosting Websites on Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "AccessControl": { - "description": "This is a legacy property, and it is not recommended for most use cases. A majority of modern use cases in Amazon S3 no longer require the use of ACLs, and we recommend that you keep ACLs disabled. For more information, see [Controlling object ownership](https://docs.aws.amazon.com//AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.\n A canned access control list (ACL) that grants predefined permissions to the bucket. For more information about canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) in the *Amazon S3 User Guide*.\n S3 buckets are created with ACLs disabled by default. Therefore, unless you explicitly set the [AWS::S3::OwnershipControls](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html) property to enable ACLs, your resource will fail to deploy with any value other than Private. Use cases requiring ACLs are uncommon.\n The majority of access control configurations can be successfully and more easily achieved with bucket policies. For more information, see [AWS::S3::BucketPolicy](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html). For examples of common policy configurations, including S3 Server Access Logs buckets and more, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html) in the *Amazon S3 User Guide*.", - "type": "string", - "enum": [ - "AuthenticatedRead", - "AwsExecRead", - "BucketOwnerFullControl", - "BucketOwnerRead", - "LogDeliveryWrite", - "Private", - "PublicRead", - "PublicReadWrite" - ], - "markdownDescription": "This is a legacy property, and it is not recommended for most use cases. A majority of modern use cases in Amazon S3 no longer require the use of ACLs, and we recommend that you keep ACLs disabled. For more information, see [Controlling object ownership](https://docs.aws.amazon.com//AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.\n A canned access control list (ACL) that grants predefined permissions to the bucket. For more information about canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) in the *Amazon S3 User Guide*.\n S3 buckets are created with ACLs disabled by default. Therefore, unless you explicitly set the [AWS::S3::OwnershipControls](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html) property to enable ACLs, your resource will fail to deploy with any value other than Private. Use cases requiring ACLs are uncommon.\n The majority of access control configurations can be successfully and more easily achieved with bucket policies. For more information, see [AWS::S3::BucketPolicy](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html). For examples of common policy configurations, including S3 Server Access Logs buckets and more, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AuthenticatedRead | AwsExecRead | BucketOwnerFullControl | BucketOwnerRead | LogDeliveryWrite | Private | PublicRead | PublicReadWrite \nUpdate requires: No interruption" - }, - "AnalyticsConfigurations": { - "uniqueItems": true, - "description": "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/AnalyticsConfiguration" + "type": "object", + "description": "Specifies website configuration parameters for an Amazon S3 bucket.", + "additionalProperties": false, + "properties": { + "ErrorDocument": { + "description": "The name of the error document for the website.", + "type": "string", + "markdownDescription": "The name of the error document for the website.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "IndexDocument": { + "description": "The name of the index document for the website.", + "type": "string", + "markdownDescription": "The name of the index document for the website.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "RoutingRules": { + "type": "array", + "insertionOrder": true, + "items": { + "$ref": "#/definitions/RoutingRule" + }, + "description": "Rules that define when a redirect is applied and the redirect behavior.", + "markdownDescription": "Rules that define when a redirect is applied and the redirect behavior.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "RedirectAllRequestsTo": { + "$ref": "#/definitions/RedirectAllRequestsTo", + "description": "The redirect behavior for every request to this bucket's website endpoint.\n If you specify this property, you can't specify any other property.", + "markdownDescription": "The redirect behavior for every request to this bucket's website endpoint.\n If you specify this property, you can't specify any other property.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } }, - "markdownDescription": "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "AccelerateConfiguration": { - "description": "Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide*.", - "$ref": "#/definitions/AccelerateConfiguration", - "markdownDescription": "Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "PublicAccessBlockConfiguration": { - "description": "Configuration that defines how Amazon S3 handles public access.", - "$ref": "#/definitions/PublicAccessBlockConfiguration", - "markdownDescription": "Configuration that defines how Amazon S3 handles public access.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "BucketName": { - "description": "A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow [Amazon S3 bucket restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html). For more information, see [Rules for naming Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules) in the *Amazon S3 User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.", - "type": "string", - "markdownDescription": "A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow [Amazon S3 bucket restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html). For more information, see [Rules for naming Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules) in the *Amazon S3 User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, - "OwnershipControls": { - "description": "Configuration that defines how Amazon S3 handles Object Ownership rules.", - "$ref": "#/definitions/OwnershipControls", - "markdownDescription": "Configuration that defines how Amazon S3 handles Object Ownership rules.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "ObjectLockConfiguration": { - "description": "This operation is not supported by directory buckets.\n Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). \n + The ``DefaultRetention`` settings require both a mode and a period.\n + The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time.\n + You can enable Object Lock for new or existing buckets. For more information, see [Configuring Object Lock](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html).", - "$ref": "#/definitions/ObjectLockConfiguration", - "markdownDescription": "This operation is not supported by directory buckets.\n Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). \n + The ``DefaultRetention`` settings require both a mode and a period.\n + The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time.\n + You can enable Object Lock for new or existing buckets. For more information, see [Configuring Object Lock](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "ObjectLockEnabled": { - "description": "Indicates whether this bucket has an Object Lock configuration enabled. Enable ``ObjectLockEnabled`` when you apply ``ObjectLockConfiguration`` to a bucket.", - "type": "boolean", - "markdownDescription": "Indicates whether this bucket has an Object Lock configuration enabled. Enable ``ObjectLockEnabled`` when you apply ``ObjectLockConfiguration`` to a bucket.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "LoggingConfiguration": { - "description": "Settings that define where logs are stored.", - "$ref": "#/definitions/LoggingConfiguration", - "markdownDescription": "Settings that define where logs are stored.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "Specifies website configuration parameters for an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ReplicationConfiguration": { - "description": "Configuration for replicating objects in an S3 bucket. To enable replication, you must also enable versioning by using the ``VersioningConfiguration`` property.\n Amazon S3 can store replicated objects in a single destination bucket or multiple destination buckets. The destination bucket or buckets must already exist.", - "$ref": "#/definitions/ReplicationConfiguration", - "markdownDescription": "Configuration for replicating objects in an S3 bucket. To enable replication, you must also enable versioning by using the ``VersioningConfiguration`` property.\n Amazon S3 can store replicated objects in a single destination bucket or multiple destination buckets. The destination bucket or buckets must already exist.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "RoutingRule": { + "description": "Specifies the redirect behavior and when a redirect is applied. For more information about routing rules, see [Configuring advanced conditional redirects](https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects) in the *Amazon S3 User Guide*.", + "type": "object", + "additionalProperties": false, + "properties": { + "RedirectRule": { + "description": "Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.", + "$ref": "#/definitions/RedirectRule", + "markdownDescription": "Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, + "RoutingRuleCondition": { + "$ref": "#/definitions/RoutingRuleCondition", + "description": "A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the ``/docs`` folder, redirect to the ``/documents`` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.", + "markdownDescription": "A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the ``/docs`` folder, redirect to the ``/documents`` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "required": [ + "RedirectRule" + ], + "markdownDescription": "Specifies the redirect behavior and when a redirect is applied. For more information about routing rules, see [Configuring advanced conditional redirects](https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Tags": { - "description": "An arbitrary set of tags (key-value pairs) for this S3 bucket.", - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/Tag" + "RedirectRule": { + "type": "object", + "description": "Specifies how requests are redirected. In the event of an error, you can specify a different error code to return.", + "additionalProperties": false, + "properties": { + "HostName": { + "description": "The host name to use in the redirect request.", + "type": "string", + "markdownDescription": "The host name to use in the redirect request.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "HttpRedirectCode": { + "description": "The HTTP redirect code to use on the response. Not required if one of the siblings is present.", + "type": "string", + "markdownDescription": "The HTTP redirect code to use on the response. Not required if one of the siblings is present.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Protocol": { + "description": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", + "enum": [ + "http", + "https" + ], + "type": "string", + "markdownDescription": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.\n\n---\n\nRequired: No \nType: String \nAllowed Values: http | https \nUpdate requires: No interruption" + }, + "ReplaceKeyPrefixWith": { + "description": "The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix ``docs/`` (objects in the ``docs/`` folder) to ``documents/``, you can set a condition block with ``KeyPrefixEquals`` set to ``docs/`` and in the Redirect set ``ReplaceKeyPrefixWith`` to ``/documents``. Not required if one of the siblings is present. Can be present only if ``ReplaceKeyWith`` is not provided.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).", + "type": "string", + "markdownDescription": "The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix ``docs/`` (objects in the ``docs/`` folder) to ``documents/``, you can set a condition block with ``KeyPrefixEquals`` set to ``docs/`` and in the Redirect set ``ReplaceKeyPrefixWith`` to ``/documents``. Not required if one of the siblings is present. Can be present only if ``ReplaceKeyWith`` is not provided.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ReplaceKeyWith": { + "description": "The specific object key to use in the redirect request. For example, redirect request to ``error.html``. Not required if one of the siblings is present. Can be present only if ``ReplaceKeyPrefixWith`` is not provided.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).", + "type": "string", + "markdownDescription": "The specific object key to use in the redirect request. For example, redirect request to ``error.html``. Not required if one of the siblings is present. Can be present only if ``ReplaceKeyPrefixWith`` is not provided.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } }, - "markdownDescription": "An arbitrary set of tags (key-value pairs) for this S3 bucket.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies how requests are redirected. In the event of an error, you can specify a different error code to return.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "BucketEncryption": { - "description": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide*.", - "$ref": "#/definitions/BucketEncryption", - "markdownDescription": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "RoutingRuleCondition": { + "description": "A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the ``/docs`` folder, redirect to the ``/documents`` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.", + "type": "object", + "additionalProperties": false, + "properties": { + "KeyPrefixEquals": { + "description": "The object key name prefix when the redirect is applied. For example, to redirect requests for ``ExamplePage.html``, the key prefix will be ``ExamplePage.html``. To redirect request for all pages with the prefix ``docs/``, the key prefix will be ``/docs``, which identifies all objects in the docs/ folder.\n Required when the parent element ``Condition`` is specified and sibling ``HttpErrorCodeReturnedEquals`` is not specified. If both conditions are specified, both must be true for the redirect to be applied.", + "type": "string", + "markdownDescription": "The object key name prefix when the redirect is applied. For example, to redirect requests for ``ExamplePage.html``, the key prefix will be ``ExamplePage.html``. To redirect request for all pages with the prefix ``docs/``, the key prefix will be ``/docs``, which identifies all objects in the docs/ folder.\n Required when the parent element ``Condition`` is specified and sibling ``HttpErrorCodeReturnedEquals`` is not specified. If both conditions are specified, both must be true for the redirect to be applied.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "HttpErrorCodeReturnedEquals": { + "description": "The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied.\n Required when parent element ``Condition`` is specified and sibling ``KeyPrefixEquals`` is not specified. If both are specified, then both must be true for the redirect to be applied.", + "type": "string", + "markdownDescription": "The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied.\n Required when parent element ``Condition`` is specified and sibling ``KeyPrefixEquals`` is not specified. If both are specified, then both must be true for the redirect to be applied.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the ``/docs`` folder, redirect to the ``/documents`` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "NotificationConfiguration": { - "description": "Configuration that defines how Amazon S3 handles bucket notifications.", - "$ref": "#/definitions/NotificationConfiguration", - "markdownDescription": "Configuration that defines how Amazon S3 handles bucket notifications.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "RedirectAllRequestsTo": { + "description": "Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.", + "type": "object", + "additionalProperties": false, + "properties": { + "HostName": { + "description": "Name of the host where requests are redirected.", + "type": "string", + "markdownDescription": "Name of the host where requests are redirected.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Protocol": { + "description": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", + "type": "string", + "enum": [ + "http", + "https" + ], + "markdownDescription": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.\n\n---\n\nRequired: No \nType: String \nAllowed Values: http | https \nUpdate requires: No interruption" + } + }, + "required": [ + "HostName" + ], + "markdownDescription": "Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "LifecycleConfiguration": { - "description": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide*.", - "$ref": "#/definitions/LifecycleConfiguration", - "markdownDescription": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "Arn": { + "description": "the Amazon Resource Name (ARN) of the specified bucket.", + "type": "string", + "markdownDescription": "the Amazon Resource Name (ARN) of the specified bucket.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags" + }, + "createOnlyProperties": [ + "/properties/BucketName" + ], + "primaryIdentifier": [ + "/properties/BucketName" + ], + "readOnlyProperties": [ + "/properties/Arn", + "/properties/DomainName", + "/properties/DualStackDomainName", + "/properties/RegionalDomainName", + "/properties/WebsiteURL" + ], + "writeOnlyProperties": [ + "/properties/AccessControl", + "/properties/LifecycleConfiguration/Rules/*/NoncurrentVersionExpirationInDays", + "/properties/LifecycleConfiguration/Rules/*/NoncurrentVersionTransition", + "/properties/LifecycleConfiguration/Rules/*/Transition", + "/properties/ReplicationConfiguration/Rules/*/Prefix", + "/properties/LifecycleConfiguration/Rules/*/ExpiredObjectDeleteMarker" + ], + "propertyTransform": { + "/properties/NotificationConfiguration/QueueConfigurations/*/Filter/S3Key/Rules/*/Name": "$replace(Name, \"prefix\", \"Prefix\") $OR $replace(Name, \"suffix\", \"Suffix\")", + "/properties/NotificationConfiguration/LambdaConfigurations/*/Filter/S3Key/Rules/*/Name": "$replace(Name, \"prefix\", \"Prefix\") $OR $replace(Name, \"suffix\", \"Suffix\")", + "/properties/NotificationConfiguration/TopicConfigurations/*/Filter/S3Key/Rules/*/Name": "$replace(Name, \"prefix\", \"Prefix\") $OR $replace(Name, \"suffix\", \"Suffix\")" + }, + "handlers": { + "create": { + "permissions": [ + "s3:CreateBucket", + "s3:PutBucketTagging", + "s3:PutAnalyticsConfiguration", + "s3:PutEncryptionConfiguration", + "s3:PutBucketCORS", + "s3:PutInventoryConfiguration", + "s3:PutLifecycleConfiguration", + "s3:PutMetricsConfiguration", + "s3:PutBucketNotification", + "s3:PutBucketReplication", + "s3:PutBucketWebsite", + "s3:PutAccelerateConfiguration", + "s3:PutBucketPublicAccessBlock", + "s3:PutReplicationConfiguration", + "s3:PutObjectAcl", + "s3:PutBucketObjectLockConfiguration", + "s3:GetBucketAcl", + "s3:ListBucket", + "iam:PassRole", + "s3:DeleteObject", + "s3:PutBucketLogging", + "s3:PutBucketVersioning", + "s3:PutObjectLockConfiguration", + "s3:PutBucketOwnershipControls", + "s3:PutIntelligentTieringConfiguration" + ] }, - "VersioningConfiguration": { - "description": "Enables multiple versions of all objects in this bucket. You might enable versioning to prevent objects from being deleted or overwritten by mistake or to archive objects so that you can retrieve previous versions of them.\n When you enable versioning on a bucket for the first time, it might take a short amount of time for the change to be fully propagated. We recommend that you wait for 15 minutes after enabling versioning before issuing write operations (``PUT`` or ``DELETE``) on objects in the bucket.", - "$ref": "#/definitions/VersioningConfiguration", - "markdownDescription": "Enables multiple versions of all objects in this bucket. You might enable versioning to prevent objects from being deleted or overwritten by mistake or to archive objects so that you can retrieve previous versions of them.\n When you enable versioning on a bucket for the first time, it might take a short amount of time for the change to be fully propagated. We recommend that you wait for 15 minutes after enabling versioning before issuing write operations (``PUT`` or ``DELETE``) on objects in the bucket.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "read": { + "permissions": [ + "s3:GetAccelerateConfiguration", + "s3:GetLifecycleConfiguration", + "s3:GetBucketPublicAccessBlock", + "s3:GetAnalyticsConfiguration", + "s3:GetBucketCORS", + "s3:GetEncryptionConfiguration", + "s3:GetInventoryConfiguration", + "s3:GetBucketLogging", + "s3:GetMetricsConfiguration", + "s3:GetBucketNotification", + "s3:GetBucketVersioning", + "s3:GetReplicationConfiguration", + "S3:GetBucketWebsite", + "s3:GetBucketPublicAccessBlock", + "s3:GetBucketObjectLockConfiguration", + "s3:GetBucketTagging", + "s3:GetBucketOwnershipControls", + "s3:GetIntelligentTieringConfiguration", + "s3:ListBucket" + ] }, - "MetricsConfigurations": { - "uniqueItems": true, - "description": "Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see [PutBucketMetricsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html).", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/MetricsConfiguration" - }, - "markdownDescription": "Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see [PutBucketMetricsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "update": { + "permissions": [ + "s3:PutBucketAcl", + "s3:PutBucketTagging", + "s3:PutAnalyticsConfiguration", + "s3:PutEncryptionConfiguration", + "s3:PutBucketCORS", + "s3:PutInventoryConfiguration", + "s3:PutLifecycleConfiguration", + "s3:PutMetricsConfiguration", + "s3:PutBucketNotification", + "s3:PutBucketReplication", + "s3:PutBucketWebsite", + "s3:PutAccelerateConfiguration", + "s3:PutBucketPublicAccessBlock", + "s3:PutReplicationConfiguration", + "s3:PutBucketOwnershipControls", + "s3:PutIntelligentTieringConfiguration", + "s3:DeleteBucketWebsite", + "s3:PutBucketLogging", + "s3:PutBucketVersioning", + "s3:PutObjectLockConfiguration", + "s3:PutBucketObjectLockConfiguration", + "s3:DeleteBucketAnalyticsConfiguration", + "s3:DeleteBucketCors", + "s3:DeleteBucketMetricsConfiguration", + "s3:DeleteBucketEncryption", + "s3:DeleteBucketLifecycle", + "s3:DeleteBucketReplication", + "iam:PassRole", + "s3:ListBucket" + ] }, - "IntelligentTieringConfigurations": { - "uniqueItems": true, - "description": "Defines how Amazon S3 handles Intelligent-Tiering storage.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/IntelligentTieringConfiguration" - }, - "markdownDescription": "Defines how Amazon S3 handles Intelligent-Tiering storage.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "delete": { + "permissions": [ + "s3:DeleteBucket", + "s3:ListBucket" + ] }, - "CorsConfiguration": { - "description": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide*.", - "$ref": "#/definitions/CorsConfiguration", - "markdownDescription": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "list": { + "permissions": [ + "s3:ListAllMyBuckets" + ] } }, "attributes": { - "DualStackDomainName": { + "Arn": { + "$ref": "#/definitions/Arn", + "description": "", "examples": [ - "mystack-mybucket-kdwwxmddtr2g.s3.dualstack.us-east-2.amazonaws.com" + "arn:aws:s3:::mybucket" ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "DomainName": { "description": "", + "examples": [ + "mystack-mybucket-kdwwxmddtr2g.s3.amazonaws.com" + ], "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "RegionalDomainName": { + "DualStackDomainName": { + "description": "", "examples": [ - "mystack-mybucket-kdwwxmddtr2g.s3.us-east-2.amazonaws.com" + "mystack-mybucket-kdwwxmddtr2g.s3.dualstack.us-east-2.amazonaws.com" ], - "description": "", "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "DomainName": { + "RegionalDomainName": { + "description": "", "examples": [ - "mystack-mybucket-kdwwxmddtr2g.s3.amazonaws.com" + "mystack-mybucket-kdwwxmddtr2g.s3.us-east-2.amazonaws.com" ], - "description": "", "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "WebsiteURL": { + "description": "", "examples": [ "Example (IPv4): http://mystack-mybucket-kdwwxmddtr2g.s3-website-us-east-2.amazonaws.com/", "Example (IPv6): http://mystack-mybucket-kdwwxmddtr2g.s3.dualstack.us-east-2.amazonaws.com/" ], "format": "uri", - "description": "", "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Arn": { - "examples": [ - "arn:aws:s3:::mybucket" - ], - "description": "", - "$ref": "#/definitions/Arn", - "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-s3express-directorybucket.json b/server/schema/resources/aws-s3express-directorybucket.json index 4f4a5777..11f5dfd1 100644 --- a/server/schema/resources/aws-s3express-directorybucket.json +++ b/server/schema/resources/aws-s3express-directorybucket.json @@ -1,110 +1,277 @@ { + "typeName": "AWS::S3Express::DirectoryBucket", + "description": "Resource Type definition for AWS::S3Express::DirectoryBucket.", + "additionalProperties": false, + "properties": { + "BucketName": { + "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone or Local Zone. The bucket name must also follow the format 'bucket_base_name--zone_id--x-s3'. The zone_id can be the ID of an Availability Zone or a Local Zone. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", + "maxLength": 63, + "type": "string", + "markdownDescription": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone or Local Zone. The bucket name must also follow the format 'bucket_base_name--zone_id--x-s3'. The zone_id can be the ID of an Availability Zone or a Local Zone. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 63 \nPattern: ^[a-z0-9][a-z0-9//.//-]*[a-z0-9]$ \nUpdate requires: Replacement" + }, + "LocationName": { + "description": "Specifies the Zone ID of the Availability Zone or Local Zone where the directory bucket will be created. An example Availability Zone ID value is 'use1-az5'.", + "type": "string", + "markdownDescription": "Specifies the Zone ID of the Availability Zone or Local Zone where the directory bucket will be created. An example Availability Zone ID value is 'use1-az5'.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "DataRedundancy": { + "description": "Specifies the number of Availability Zone or Local Zone that's used for redundancy for the bucket.", + "type": "string", + "enum": [ + "SingleAvailabilityZone", + "SingleLocalZone" + ], + "markdownDescription": "Specifies the number of Availability Zone or Local Zone that's used for redundancy for the bucket.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: SingleAvailabilityZone | SingleLocalZone \nUpdate requires: Replacement" + }, + "BucketEncryption": { + "$ref": "#/definitions/BucketEncryption" + }, + "LifecycleConfiguration": { + "$ref": "#/definitions/LifecycleConfiguration", + "description": "Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime.", + "markdownDescription": "Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "definitions": { + "Arn": { + "description": "The Amazon Resource Name (ARN) of the specified bucket.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the specified bucket.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "BucketEncryption": { + "description": "Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS).", + "type": "object", + "additionalProperties": false, + "properties": { + "ServerSideEncryptionConfiguration": { + "description": "Specifies the default server-side-encryption configuration.", + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/ServerSideEncryptionRule" + }, + "markdownDescription": "Specifies the default server-side-encryption configuration.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "ServerSideEncryptionConfiguration" + ], + "markdownDescription": "Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ServerSideEncryptionRule": { + "description": "Specifies the default server-side encryption configuration.", + "type": "object", + "additionalProperties": false, + "properties": { + "BucketKeyEnabled": { + "description": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Amazon S3 Express One Zone uses an S3 Bucket Key with SSE-KMS and S3 Bucket Key cannot be disabled. It's only allowed to set the BucketKeyEnabled element to true.", + "type": "boolean", + "markdownDescription": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Amazon S3 Express One Zone uses an S3 Bucket Key with SSE-KMS and S3 Bucket Key cannot be disabled. It's only allowed to set the BucketKeyEnabled element to true.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "ServerSideEncryptionByDefault": { + "$ref": "#/definitions/ServerSideEncryptionByDefault" + } + }, + "markdownDescription": "Specifies the default server-side encryption configuration.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ServerSideEncryptionByDefault": { + "description": "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.", + "type": "object", + "properties": { + "KMSMasterKeyID": { + "description": "AWS Key Management Service (KMS) customer managed key ID to use for the default encryption. This parameter is allowed only if SSEAlgorithm is set to aws:kms. You can specify this parameter with the key ID or the Amazon Resource Name (ARN) of the KMS key", + "type": "string", + "anyOf": [ + { + "relationshipRef": { + "typeName": "AWS::KMS::Key", + "propertyPath": "/properties/KeyId" + } + }, + { + "relationshipRef": { + "typeName": "AWS::KMS::Key", + "propertyPath": "/properties/Arn" + } + } + ], + "markdownDescription": "AWS Key Management Service (KMS) customer managed key ID to use for the default encryption. This parameter is allowed only if SSEAlgorithm is set to aws:kms. You can specify this parameter with the key ID or the Amazon Resource Name (ARN) of the KMS key\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SSEAlgorithm": { + "type": "string", + "enum": [ + "aws:kms", + "AES256" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: aws:kms | AES256 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "SSEAlgorithm" + ], + "markdownDescription": "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LifecycleConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "Rules": { + "description": "A lifecycle rule for individual objects in an Amazon S3 Express bucket.", + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Rule" + }, + "markdownDescription": "A lifecycle rule for individual objects in an Amazon S3 Express bucket.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Rules" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Rule": { + "type": "object", + "description": "You must specify at least one of the following properties: AbortIncompleteMultipartUpload, or ExpirationInDays.", + "additionalProperties": false, + "properties": { + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AbortIncompleteMultipartUpload" + }, + "ExpirationInDays": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Id": { + "type": "string", + "maxLength": 255, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" + }, + "Prefix": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Status": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Enabled | Disabled \nUpdate requires: No interruption" + }, + "ObjectSizeGreaterThan": { + "type": "string", + "maxLength": 20, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 20 \nPattern: [0-9]+ \nUpdate requires: No interruption" + }, + "ObjectSizeLessThan": { + "type": "string", + "maxLength": 20, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 20 \nPattern: [0-9]+ \nUpdate requires: No interruption" + } + }, + "required": [ + "Status" + ], + "markdownDescription": "You must specify at least one of the following properties: AbortIncompleteMultipartUpload, or ExpirationInDays.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AbortIncompleteMultipartUpload": { + "description": "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload.", + "type": "object", + "additionalProperties": false, + "properties": { + "DaysAfterInitiation": { + "description": "Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload.", + "type": "integer", + "minimum": 0, + "markdownDescription": "Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "markdownDescription": "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "createOnlyProperties": [ + "/properties/BucketName", + "/properties/LocationName", + "/properties/DataRedundancy" + ], + "primaryIdentifier": [ + "/properties/BucketName" + ], + "readOnlyProperties": [ + "/properties/Arn", + "/properties/AvailabilityZoneName" + ], "tagging": { "taggable": false, "tagOnCreate": false, "tagUpdatable": false, "cloudFormationSystemTags": false }, + "required": [ + "LocationName", + "DataRedundancy" + ], "handlers": { - "read": { - "permissions": [ - "s3express:ListAllMyDirectoryBuckets", - "ec2:DescribeAvailabilityZones", - "s3express:GetEncryptionConfiguration", - "s3express:ListAllMyDirectoryBuckets" - ] - }, "create": { "permissions": [ "kms:GenerateDataKey", "kms:Decrypt", "s3express:CreateBucket", "s3express:ListAllMyDirectoryBuckets", - "s3express:PutEncryptionConfiguration" + "s3express:PutEncryptionConfiguration", + "s3express:PutLifecycleConfiguration" + ] + }, + "read": { + "permissions": [ + "s3express:ListAllMyDirectoryBuckets", + "ec2:DescribeAvailabilityZones", + "s3express:GetEncryptionConfiguration", + "s3express:GetLifecycleConfiguration" ] }, "update": { "permissions": [ "kms:GenerateDataKey", "kms:Decrypt", - "s3express:PutEncryptionConfiguration" + "s3express:PutEncryptionConfiguration", + "s3express:PutLifecycleConfiguration" ] }, - "list": { + "delete": { "permissions": [ + "s3express:DeleteBucket", "s3express:ListAllMyDirectoryBuckets" ] }, - "delete": { + "list": { "permissions": [ - "s3express:DeleteBucket", "s3express:ListAllMyDirectoryBuckets" ] } }, - "typeName": "AWS::S3Express::DirectoryBucket", - "readOnlyProperties": [ - "/properties/Arn", - "/properties/AvailabilityZoneName" - ], - "description": "Resource Type definition for AWS::S3Express::DirectoryBucket.", - "createOnlyProperties": [ - "/properties/BucketName", - "/properties/LocationName", - "/properties/DataRedundancy" - ], - "additionalProperties": false, - "primaryIdentifier": [ - "/properties/BucketName" - ], - "definitions": { - "Arn": { - "description": "The Amazon Resource Name (ARN) of the specified bucket.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the specified bucket.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "properties": { - "BucketName": { - "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", - "type": "string", - "maxLength": 63, - "markdownDescription": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 63 \nPattern: ^[a-z0-9][a-z0-9//.//-]*[a-z0-9]$ \nUpdate requires: Replacement" - }, - "BucketEncryption": {}, - "DataRedundancy": { - "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket.", - "type": "string", - "enum": [ - "SingleAvailabilityZone" - ], - "markdownDescription": "Specifies the number of Availability Zone that's used for redundancy for the bucket.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: SingleAvailabilityZone \nUpdate requires: Replacement" - }, - "LocationName": { - "description": "Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'.", - "type": "string", - "markdownDescription": "Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - } - }, - "required": [ - "LocationName", - "DataRedundancy" - ], "attributes": { "AvailabilityZoneName": { + "description": "Returns the code for the Availability Zone or Local Zone where the directory bucket was created. An example for the code of an Availability Zone is 'us-east-1f'.", "examples": [ "us-east-1f" ], - "description": "Returns the code for the Availability Zone where the directory bucket was created.", "type": "string", - "markdownDescription": "Returns the code for the Availability Zone where the directory bucket was created.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Returns the code for the Availability Zone or Local Zone where the directory bucket was created. An example for the code of an Availability Zone is 'us-east-1f'.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Arn": { + "$ref": "#/definitions/Arn", + "description": "Returns the Amazon Resource Name (ARN) of the specified bucket.", "examples": [ "arn:aws:s3express:us-west-2:123456789123:bucket/DOC-EXAMPLE-BUCKET--usw2-az1--x-s3" ], - "description": "Returns the Amazon Resource Name (ARN) of the specified bucket.", - "$ref": "#/definitions/Arn", "markdownDescription": "Returns the Amazon Resource Name (ARN) of the specified bucket.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } } diff --git a/server/schema/resources/aws-s3tables-tablebucket.json b/server/schema/resources/aws-s3tables-tablebucket.json new file mode 100644 index 00000000..9abe249e --- /dev/null +++ b/server/schema/resources/aws-s3tables-tablebucket.json @@ -0,0 +1,115 @@ +{ + "typeName": "AWS::S3Tables::TableBucket", + "description": "Creates an Amazon S3 Tables table bucket in the same AWS Region where you create the AWS CloudFormation stack.", + "properties": { + "TableBucketName": { + "$ref": "#/definitions/TableBucketName" + }, + "UnreferencedFileRemoval": { + "$ref": "#/definitions/UnreferencedFileRemoval" + } + }, + "definitions": { + "TableBucketARN": { + "description": "The Amazon Resource Name (ARN) of the specified table bucket.", + "type": "string", + "examples": [ + "arn:aws:s3tables:us-west-2:123456789012:bucket/mytablebucket" + ], + "markdownDescription": "The Amazon Resource Name (ARN) of the specified table bucket.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TableBucketName": { + "description": "A name for the table bucket.", + "type": "string", + "minLength": 3, + "maxLength": 63, + "markdownDescription": "A name for the table bucket.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 3 \nMaximum Length: 63 \nUpdate requires: No interruption" + }, + "UnreferencedFileRemoval": { + "description": "Settings governing the Unreferenced File Removal maintenance action. Unreferenced file removal identifies and deletes all objects that are not referenced by any table snapshots.", + "additionalProperties": false, + "type": "object", + "properties": { + "Status": { + "description": "Indicates whether the Unreferenced File Removal maintenance action is enabled.", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "markdownDescription": "Indicates whether the Unreferenced File Removal maintenance action is enabled.\n\n---\n\nRequired: No \nType: String \nAllowed Values: Enabled | Disabled \nUpdate requires: No interruption" + }, + "UnreferencedDays": { + "description": "For any object not referenced by your table and older than the UnreferencedDays property, S3 creates a delete marker and marks the object version as noncurrent.", + "type": "integer", + "minimum": 1, + "markdownDescription": "For any object not referenced by your table and older than the UnreferencedDays property, S3 creates a delete marker and marks the object version as noncurrent.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "NoncurrentDays": { + "description": "S3 permanently deletes noncurrent objects after the number of days specified by the NoncurrentDays property.", + "type": "integer", + "minimum": 1, + "markdownDescription": "S3 permanently deletes noncurrent objects after the number of days specified by the NoncurrentDays property.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Settings governing the Unreferenced File Removal maintenance action. Unreferenced file removal identifies and deletes all objects that are not referenced by any table snapshots.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "TableBucketName" + ], + "createOnlyProperties": [ + "/properties/TableBucketName" + ], + "readOnlyProperties": [ + "/properties/TableBucketARN" + ], + "primaryIdentifier": [ + "/properties/TableBucketARN" + ], + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "handlers": { + "create": { + "permissions": [ + "s3tables:CreateTableBucket", + "s3tables:PutTableBucketMaintenanceConfiguration", + "s3tables:GetTableBucket", + "s3tables:GetTableBucketMaintenanceConfiguration" + ] + }, + "read": { + "permissions": [ + "s3tables:GetTableBucket", + "s3tables:GetTableBucketMaintenanceConfiguration" + ] + }, + "update": { + "permissions": [ + "s3tables:PutTableBucketMaintenanceConfiguration", + "s3tables:GetTableBucket", + "s3tables:GetTableBucketMaintenanceConfiguration" + ] + }, + "delete": { + "permissions": [ + "s3tables:DeleteTableBucket" + ] + }, + "list": { + "permissions": [ + "s3tables:ListTableBuckets" + ] + } + }, + "attributes": { + "TableBucketARN": { + "$ref": "#/definitions/TableBucketARN" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-s3tables-tablebucketpolicy.json b/server/schema/resources/aws-s3tables-tablebucketpolicy.json new file mode 100644 index 00000000..98bbad3a --- /dev/null +++ b/server/schema/resources/aws-s3tables-tablebucketpolicy.json @@ -0,0 +1,80 @@ +{ + "typeName": "AWS::S3Tables::TableBucketPolicy", + "description": "Applies an IAM resource policy to a table bucket.", + "properties": { + "ResourcePolicy": { + "$ref": "#/definitions/ResourcePolicy" + }, + "TableBucketARN": { + "$ref": "#/definitions/TableBucketARN" + } + }, + "definitions": { + "ResourcePolicy": { + "description": "A policy document containing permissions to add to the specified table bucket. In IAM, you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM.", + "type": [ + "object", + "string" + ], + "markdownDescription": "A policy document containing permissions to add to the specified table bucket. In IAM, you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM.\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" + }, + "TableBucketARN": { + "description": "The Amazon Resource Name (ARN) of the table bucket to which the policy applies.", + "type": "string", + "examples": [ + "arn:aws:s3tables:us-west-2:123456789012:bucket/mytablebucket" + ], + "markdownDescription": "The Amazon Resource Name (ARN) of the table bucket to which the policy applies.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "ResourcePolicy", + "TableBucketARN" + ], + "createOnlyProperties": [ + "/properties/TableBucketARN" + ], + "primaryIdentifier": [ + "/properties/TableBucketARN" + ], + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "handlers": { + "create": { + "permissions": [ + "s3tables:GetTableBucket", + "s3tables:GetTableBucketPolicy", + "s3tables:PutTableBucketPolicy" + ] + }, + "read": { + "permissions": [ + "s3tables:GetTableBucketPolicy" + ] + }, + "update": { + "permissions": [ + "s3tables:GetTableBucketPolicy", + "s3tables:PutTableBucketPolicy" + ] + }, + "delete": { + "permissions": [ + "s3tables:GetTableBucketPolicy", + "s3tables:DeleteTableBucketPolicy" + ] + }, + "list": { + "permissions": [ + "s3tables:GetTableBucketPolicy", + "s3tables:ListTableBuckets" + ] + } + }, + "attributes": {} +} \ No newline at end of file diff --git a/server/schema/resources/aws-sagemaker-cluster.json b/server/schema/resources/aws-sagemaker-cluster.json index 295e15d5..c0f7f4f2 100644 --- a/server/schema/resources/aws-sagemaker-cluster.json +++ b/server/schema/resources/aws-sagemaker-cluster.json @@ -1,49 +1,187 @@ { + "tagging": { + "permissions": [ + "sagemaker:AddTags", + "sagemaker:ListTags", + "sagemaker:DeleteTags" + ], + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": false + }, + "handlers": { + "read": { + "permissions": [ + "sagemaker:DescribeCluster", + "sagemaker:ListTags" + ] + }, + "create": { + "permissions": [ + "sagemaker:CreateCluster", + "sagemaker:DescribeCluster", + "sagemaker:AddTags", + "sagemaker:ListTags", + "eks:DescribeAccessEntry", + "eks:DescribeCluster", + "eks:CreateAccessEntry", + "eks:DeleteAccessEntry", + "eks:AssociateAccessPolicy", + "iam:CreateServiceLinkedRole", + "iam:PassRole" + ], + "timeoutInMinutes": 720 + }, + "update": { + "permissions": [ + "sagemaker:UpdateCluster", + "sagemaker:DescribeCluster", + "sagemaker:ListTags", + "sagemaker:AddTags", + "sagemaker:DeleteTags", + "eks:DescribeAccessEntry", + "eks:DescribeCluster", + "eks:CreateAccessEntry", + "eks:DeleteAccessEntry", + "iam:PassRole" + ], + "timeoutInMinutes": 720 + }, + "list": { + "permissions": [ + "sagemaker:ListClusters" + ] + }, + "delete": { + "permissions": [ + "sagemaker:DeleteCluster", + "sagemaker:DescribeCluster", + "eks:DescribeAccessEntry", + "eks:DeleteAccessEntry" + ], + "timeoutInMinutes": 720 + } + }, "typeName": "AWS::SageMaker::Cluster", + "readOnlyProperties": [ + "/properties/ClusterArn", + "/properties/CreationTime", + "/properties/ClusterStatus", + "/properties/FailureMessage", + "/properties/InstanceGroups/*/CurrentCount" + ], "description": "Resource Type definition for AWS::SageMaker::Cluster", + "additionalIdentifiers": [ + [ + "/properties/ClusterName" + ] + ], + "createOnlyProperties": [ + "/properties/ClusterName", + "/properties/VpcConfig", + "/properties/Orchestrator", + "/properties/InstanceGroups/*/OverrideVpcConfig", + "/properties/InstanceGroups/*/ExecutionRole", + "/properties/InstanceGroups/*/InstanceGroupName", + "/properties/InstanceGroups/*/InstanceType", + "/properties/InstanceGroups/*/ThreadsPerCore" + ], "additionalProperties": false, - "properties": { - "ClusterName": { + "primaryIdentifier": [ + "/properties/ClusterArn" + ], + "definitions": { + "ClusterOrchestratorEksConfig": { + "description": "Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to,", + "additionalProperties": false, + "type": "object", + "properties": { + "ClusterArn": { + "description": "The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster", + "type": "string", + "markdownDescription": "The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "ClusterArn" + ], + "markdownDescription": "Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to,\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DeepHealthCheckType": { + "description": "The type of deep health check(s) to be performed on the instances in the SageMaker HyperPod cluster instance group.", "type": "string", - "description": "The name of the HyperPod Cluster.", - "minLength": 1, - "maxLength": 63, - "markdownDescription": "The name of the HyperPod Cluster.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 63 \nPattern: ^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$ \nUpdate requires: Replacement" + "enum": [ + "InstanceStress", + "InstanceConnectivity" + ], + "markdownDescription": "The type of deep health check(s) to be performed on the instances in the SageMaker HyperPod cluster instance group.\n\n---\n\nRequired: No \nType: String \nAllowed Values: InstanceStress | InstanceConnectivity \nUpdate requires: No interruption" }, - "InstanceGroups": { - "$ref": "#/definitions/ClusterInstanceGroupsList" + "ClusterInstanceStorageConfig": { + "oneOf": [ + { + "additionalProperties": false, + "type": "object", + "properties": { + "EbsVolumeConfig": { + "$ref": "#/definitions/ClusterEbsVolumeConfig" + } + } + } + ], + "description": "Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group.", + "type": "object", + "markdownDescription": "Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "VpcConfig": { - "$ref": "#/definitions/VpcConfig" - }, - "Orchestrator": { - "$ref": "#/definitions/Orchestrator" + "description": "Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC.", + "additionalProperties": false, + "type": "object", + "properties": { + "Subnets": { + "minItems": 1, + "maxItems": 16, + "description": "The ID of the subnets in the VPC to which you want to connect your training job or model.", + "insertionOrder": false, + "type": "array", + "items": { + "type": "string", + "maxLength": 32, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 32 \nPattern: [-0-9a-zA-Z]+ \nUpdate requires: No interruption" + }, + "markdownDescription": "The ID of the subnets in the VPC to which you want to connect your training job or model.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "SecurityGroupIds": { + "minItems": 1, + "maxItems": 5, + "description": "The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field.", + "insertionOrder": false, + "type": "array", + "items": { + "type": "string", + "maxLength": 32, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 32 \nPattern: [-0-9a-zA-Z]+ \nUpdate requires: No interruption" + }, + "markdownDescription": "The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "markdownDescription": "Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "NodeRecovery": { - "description": "If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected.", + "InstanceGroupName": { + "minLength": 1, + "description": "The name of the instance group of a SageMaker HyperPod cluster.", "type": "string", - "enum": [ - "Automatic", - "None" - ], - "markdownDescription": "If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected.\n\n---\n\nRequired: No \nType: String \nAllowed Values: Automatic | None \nUpdate requires: No interruption" + "maxLength": 63, + "markdownDescription": "The name of the instance group of a SageMaker HyperPod cluster.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 63 \nPattern: ^[a-zA-Z0-9](-*[a-zA-Z0-9])*$ \nUpdate requires: No interruption" }, - "Tags": { - "description": "Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging.", - "type": "array", - "uniqueItems": true, - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "maxItems": 50, - "markdownDescription": "Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - } - }, - "definitions": { "ClusterInstanceGroupsList": { - "description": "The instance groups of the SageMaker HyperPod cluster.", "minItems": 1, + "description": "The instance groups of the SageMaker HyperPod cluster.", "insertionOrder": false, "type": "array", "items": { @@ -51,83 +189,52 @@ }, "markdownDescription": "The instance groups of the SageMaker HyperPod cluster.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" }, - "ExecutionRole": { - "type": "string", - "description": "The execution role for the instance group to assume.", - "minLength": 20, - "maxLength": 2048, - "markdownDescription": "The execution role for the instance group to assume.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$ \nUpdate requires: No interruption" - }, - "InstanceGroupName": { - "type": "string", - "description": "The name of the instance group of a SageMaker HyperPod cluster.", - "minLength": 1, - "maxLength": 63, - "markdownDescription": "The name of the instance group of a SageMaker HyperPod cluster.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 63 \nPattern: ^[a-zA-Z0-9](-*[a-zA-Z0-9])*$ \nUpdate requires: No interruption" + "Orchestrator": { + "description": "Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster.", + "additionalProperties": false, + "type": "object", + "properties": { + "Eks": { + "$ref": "#/definitions/ClusterOrchestratorEksConfig" + } + }, + "required": [ + "Eks" + ], + "markdownDescription": "Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ClusterEbsVolumeConfig": { "description": "Defines the configuration for attaching additional Amazon Elastic Block Store (EBS) volumes to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to /opt/sagemaker.", - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "VolumeSizeInGB": { - "type": "integer", "description": "The size in gigabytes (GB) of the additional EBS volume to be attached to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to /opt/sagemaker.", - "minimum": 1, "maximum": 16384, + "type": "integer", + "minimum": 1, "markdownDescription": "The size in gigabytes (GB) of the additional EBS volume to be attached to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to /opt/sagemaker.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "markdownDescription": "Defines the configuration for attaching additional Amazon Elastic Block Store (EBS) volumes to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to /opt/sagemaker.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ClusterInstanceStorageConfigs": { - "description": "The instance storage configuration for the instance group.", - "type": "array", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ClusterInstanceStorageConfig" - }, - "maxItems": 1, - "markdownDescription": "The instance storage configuration for the instance group.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "ClusterInstanceStorageConfig": { - "description": "Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group.", - "type": "object", - "oneOf": [ - { - "type": "object", - "additionalProperties": false, - "properties": { - "EbsVolumeConfig": { - "$ref": "#/definitions/ClusterEbsVolumeConfig" - } - } - } - ], - "markdownDescription": "Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "InstanceType": { - "type": "string", - "description": "The instance type of the instance group of a SageMaker HyperPod cluster.", - "markdownDescription": "The instance type of the instance group of a SageMaker HyperPod cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "ClusterLifeCycleConfig": { "description": "The lifecycle configuration for a SageMaker HyperPod cluster.", - "type": "object", "additionalProperties": false, + "type": "object", "properties": { - "OnCreate": { - "description": "The file name of the entrypoint script of lifecycle scripts under SourceS3Uri. This entrypoint script runs during cluster creation.", - "type": "string", - "minLength": 1, - "maxLength": 128, - "markdownDescription": "The file name of the entrypoint script of lifecycle scripts under SourceS3Uri. This entrypoint script runs during cluster creation.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[\\S\\s]+$ \nUpdate requires: No interruption" - }, "SourceS3Uri": { "description": "An Amazon S3 bucket path where your lifecycle scripts are stored.", "type": "string", "maxLength": 1024, "markdownDescription": "An Amazon S3 bucket path where your lifecycle scripts are stored.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 1024 \nPattern: ^(https|s3)://([^/]+)/?(.*)$ \nUpdate requires: No interruption" + }, + "OnCreate": { + "minLength": 1, + "description": "The file name of the entrypoint script of lifecycle scripts under SourceS3Uri. This entrypoint script runs during cluster creation.", + "type": "string", + "maxLength": 128, + "markdownDescription": "The file name of the entrypoint script of lifecycle scripts under SourceS3Uri. This entrypoint script runs during cluster creation.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[\\S\\s]+$ \nUpdate requires: No interruption" } }, "required": [ @@ -136,19 +243,10 @@ ], "markdownDescription": "The lifecycle configuration for a SageMaker HyperPod cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "DeepHealthCheckType": { - "type": "string", - "description": "The type of deep health check(s) to be performed on the instances in the SageMaker HyperPod cluster instance group.", - "enum": [ - "InstanceStress", - "InstanceConnectivity" - ], - "markdownDescription": "The type of deep health check(s) to be performed on the instances in the SageMaker HyperPod cluster instance group.\n\n---\n\nRequired: No \nType: String \nAllowed Values: InstanceStress | InstanceConnectivity \nUpdate requires: No interruption" - }, "OnStartDeepHealthChecks": { "description": "Nodes will undergo advanced stress test to detect and replace faulty instances, based on the type of deep health check(s) passed in.", - "type": "array", "insertionOrder": false, + "type": "array", "items": { "$ref": "#/definitions/DeepHealthCheckType" }, @@ -156,17 +254,20 @@ }, "ClusterInstanceGroup": { "description": "Details of an instance group in a SageMaker HyperPod cluster.", - "type": "object", "additionalProperties": false, + "type": "object", "properties": { - "CurrentCount": { + "OverrideVpcConfig": { + "$ref": "#/definitions/VpcConfig" + }, + "InstanceCount": { + "description": "The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster.", "type": "integer", - "description": "The number of instances that are currently in the instance group of a SageMaker HyperPod cluster.", "minimum": 0, - "markdownDescription": "The number of instances that are currently in the instance group of a SageMaker HyperPod cluster.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, - "ExecutionRole": { - "$ref": "#/definitions/ExecutionRole" + "OnStartDeepHealthChecks": { + "$ref": "#/definitions/OnStartDeepHealthChecks" }, "InstanceGroupName": { "$ref": "#/definitions/InstanceGroupName" @@ -174,27 +275,27 @@ "InstanceStorageConfigs": { "$ref": "#/definitions/ClusterInstanceStorageConfigs" }, - "InstanceType": { - "$ref": "#/definitions/InstanceType" - }, - "LifeCycleConfig": { - "$ref": "#/definitions/ClusterLifeCycleConfig" - }, - "InstanceCount": { + "CurrentCount": { + "description": "The number of instances that are currently in the instance group of a SageMaker HyperPod cluster.", "type": "integer", - "description": "The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster.", "minimum": 0, - "markdownDescription": "The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The number of instances that are currently in the instance group of a SageMaker HyperPod cluster.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "LifeCycleConfig": { + "$ref": "#/definitions/ClusterLifeCycleConfig" + }, + "InstanceType": { + "$ref": "#/definitions/InstanceType" }, "ThreadsPerCore": { - "type": "integer", "description": "The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading.", - "minimum": 1, "maximum": 2, + "type": "integer", + "minimum": 1, "markdownDescription": "The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "OnStartDeepHealthChecks": { - "$ref": "#/definitions/OnStartDeepHealthChecks" + "ExecutionRole": { + "$ref": "#/definitions/ExecutionRole" } }, "required": [ @@ -206,203 +307,116 @@ ], "markdownDescription": "Details of an instance group in a SageMaker HyperPod cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "VpcConfig": { - "type": "object", - "additionalProperties": false, - "description": "Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC.", - "properties": { - "SecurityGroupIds": { - "description": "The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field.", - "type": "array", - "insertionOrder": false, - "minItems": 1, - "maxItems": 5, - "items": { - "type": "string", - "maxLength": 32, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 32 \nPattern: [-0-9a-zA-Z]+ \nUpdate requires: No interruption" - }, - "markdownDescription": "The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "Subnets": { - "description": "The ID of the subnets in the VPC to which you want to connect your training job or model.", - "type": "array", - "insertionOrder": false, - "minItems": 1, - "maxItems": 16, - "items": { - "type": "string", - "maxLength": 32, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 32 \nPattern: [-0-9a-zA-Z]+ \nUpdate requires: No interruption" - }, - "markdownDescription": "The ID of the subnets in the VPC to which you want to connect your training job or model.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "markdownDescription": "Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ClusterOrchestratorEksConfig": { - "description": "Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to,", - "type": "object", - "additionalProperties": false, - "properties": { - "ClusterArn": { - "type": "string", - "description": "The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster", - "markdownDescription": "The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - } - }, - "required": [ - "ClusterArn" - ], - "markdownDescription": "Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to,\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Orchestrator": { - "description": "Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster.", - "type": "object", - "additionalProperties": false, - "properties": { - "Eks": { - "$ref": "#/definitions/ClusterOrchestratorEksConfig" - } + "ClusterInstanceStorageConfigs": { + "maxItems": 1, + "description": "The instance storage configuration for the instance group.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/ClusterInstanceStorageConfig" }, - "required": [ - "Eks" - ], - "markdownDescription": "Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The instance storage configuration for the instance group.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Tag": { "description": "A key-value pair to associate with a resource.", + "additionalProperties": false, "type": "object", "properties": { - "Key": { - "type": "string", - "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", - "minLength": 1, - "maxLength": 128, - "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$ \nUpdate requires: No interruption" - }, "Value": { - "type": "string", - "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", "minLength": 0, + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "type": "string", "maxLength": 256, "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$ \nUpdate requires: No interruption" + }, + "Key": { + "minLength": 1, + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "type": "string", + "maxLength": 128, + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$ \nUpdate requires: No interruption" } }, "required": [ "Key", "Value" ], - "additionalProperties": false, "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "InstanceType": { + "description": "The instance type of the instance group of a SageMaker HyperPod cluster.", + "type": "string", + "markdownDescription": "The instance type of the instance group of a SageMaker HyperPod cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ExecutionRole": { + "minLength": 20, + "description": "The execution role for the instance group to assume.", + "type": "string", + "maxLength": 2048, + "markdownDescription": "The execution role for the instance group to assume.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$ \nUpdate requires: No interruption" } }, "required": [ "InstanceGroups" ], - "primaryIdentifier": [ - "/properties/ClusterArn" - ], - "additionalIdentifiers": [ - [ - "/properties/ClusterName" - ] - ], - "readOnlyProperties": [ - "/properties/ClusterArn", - "/properties/CreationTime", - "/properties/ClusterStatus", - "/properties/FailureMessage", - "/properties/InstanceGroups/*/CurrentCount" - ], - "createOnlyProperties": [ - "/properties/ClusterName", - "/properties/VpcConfig", - "/properties/Orchestrator", - "/properties/InstanceGroups/*/ExecutionRole", - "/properties/InstanceGroups/*/InstanceGroupName", - "/properties/InstanceGroups/*/InstanceType", - "/properties/InstanceGroups/*/ThreadsPerCore" - ], - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags", - "permissions": [ - "sagemaker:AddTags", - "sagemaker:ListTags", - "sagemaker:DeleteTags" - ] - }, - "handlers": { - "create": { - "permissions": [ - "sagemaker:CreateCluster", - "sagemaker:DescribeCluster", - "sagemaker:AddTags", - "sagemaker:ListTags", - "eks:DescribeAccessEntry", - "eks:DescribeCluster", - "eks:CreateAccessEntry", - "eks:DeleteAccessEntry", - "eks:AssociateAccessPolicy", - "iam:CreateServiceLinkedRole", - "iam:PassRole" + "properties": { + "VpcConfig": { + "$ref": "#/definitions/VpcConfig" + }, + "NodeRecovery": { + "description": "If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected.", + "type": "string", + "enum": [ + "Automatic", + "None" ], - "timeoutInMinutes": 720 + "markdownDescription": "If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected.\n\n---\n\nRequired: No \nType: String \nAllowed Values: Automatic | None \nUpdate requires: No interruption" }, - "read": { - "permissions": [ - "sagemaker:DescribeCluster", - "sagemaker:ListTags" - ] + "InstanceGroups": { + "$ref": "#/definitions/ClusterInstanceGroupsList" }, - "update": { - "permissions": [ - "sagemaker:UpdateCluster", - "sagemaker:DescribeCluster", - "sagemaker:ListTags", - "sagemaker:AddTags", - "sagemaker:DeleteTags", - "eks:DescribeAccessEntry", - "eks:DescribeCluster", - "eks:CreateAccessEntry", - "eks:DeleteAccessEntry", - "iam:PassRole" - ], - "timeoutInMinutes": 720 + "ClusterName": { + "minLength": 1, + "description": "The name of the HyperPod Cluster.", + "type": "string", + "maxLength": 63, + "markdownDescription": "The name of the HyperPod Cluster.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 63 \nPattern: ^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$ \nUpdate requires: Replacement" }, - "delete": { - "permissions": [ - "sagemaker:DeleteCluster", - "sagemaker:DescribeCluster", - "eks:DescribeAccessEntry", - "eks:DeleteAccessEntry" - ], - "timeoutInMinutes": 720 + "Orchestrator": { + "$ref": "#/definitions/Orchestrator" }, - "list": { - "permissions": [ - "sagemaker:ListClusters" - ] + "Tags": { + "maxItems": 50, + "uniqueItems": true, + "description": "Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "attributes": { "ClusterArn": { - "type": "string", "description": "The Amazon Resource Name (ARN) of the HyperPod Cluster.", + "type": "string", "maxLength": 256, "markdownDescription": "The Amazon Resource Name (ARN) of the HyperPod Cluster.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: ^arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:cluster/[a-z0-9]{12}$ \nUpdate requires: No interruption" }, - "ClusterStatus": { + "CreationTime": { + "description": "The time at which the HyperPod cluster was created.", + "type": "string", + "markdownDescription": "The time at which the HyperPod cluster was created.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "FailureMessage": { + "description": "The failure message of the HyperPod Cluster.", "type": "string", + "markdownDescription": "The failure message of the HyperPod Cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ClusterStatus": { "description": "The status of the HyperPod Cluster.", + "type": "string", "enum": [ "Creating", "Deleting", @@ -413,16 +427,6 @@ "Updating" ], "markdownDescription": "The status of the HyperPod Cluster.\n\n---\n\nRequired: No \nType: String \nAllowed Values: Creating | Deleting | Failed | InService | RollingBack | SystemUpdating | Updating \nUpdate requires: No interruption" - }, - "CreationTime": { - "description": "The time at which the HyperPod cluster was created.", - "type": "string", - "markdownDescription": "The time at which the HyperPod cluster was created.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "FailureMessage": { - "type": "string", - "description": "The failure message of the HyperPod Cluster.", - "markdownDescription": "The failure message of the HyperPod Cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-sagemaker-dataqualityjobdefinition.json b/server/schema/resources/aws-sagemaker-dataqualityjobdefinition.json index a45cf0b2..38f6e0b0 100644 --- a/server/schema/resources/aws-sagemaker-dataqualityjobdefinition.json +++ b/server/schema/resources/aws-sagemaker-dataqualityjobdefinition.json @@ -629,6 +629,17 @@ "/properties/Tags/*/Key", "/properties/Tags/*/Value" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "sagemaker:AddTags", + "sagemaker:ListTags" + ] + }, "attributes": { "JobDefinitionArn": { "description": "The Amazon Resource Name (ARN) of job definition.", diff --git a/server/schema/resources/aws-sagemaker-domain.json b/server/schema/resources/aws-sagemaker-domain.json index 2461fc48..328825b1 100644 --- a/server/schema/resources/aws-sagemaker-domain.json +++ b/server/schema/resources/aws-sagemaker-domain.json @@ -86,6 +86,15 @@ "Customer" ], "markdownDescription": "The entity that creates and manages the required security groups for inter-app communication in VPCOnly mode. Required when CreateDomain.AppNetworkAccessType is VPCOnly and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided.\n\n---\n\nRequired: No \nType: String \nAllowed Values: Service | Customer \nUpdate requires: No interruption" + }, + "TagPropagation": { + "type": "string", + "description": "Indicates whether the tags added to Domain, User Profile and Space entity is propagated to all SageMaker resources.", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "Indicates whether the tags added to Domain, User Profile and Space entity is propagated to all SageMaker resources.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" } }, "definitions": { @@ -638,6 +647,9 @@ "properties": { "EFSFileSystemConfig": { "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -664,6 +676,28 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "FSxLustreFileSystemConfig": { + "type": "object", + "additionalProperties": false, + "properties": { + "FileSystemPath": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^\\/\\S*$ \nUpdate requires: No interruption" + }, + "FileSystemId": { + "type": "string", + "minLength": 11, + "maxLength": 21, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 11 \nMaximum Length: 21 \nPattern: ^(fs-[0-9a-f]{8,})$ \nUpdate requires: No interruption" + } + }, + "required": [ + "FileSystemId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "CustomImage": { "type": "object", "description": "A custom SageMaker image.", @@ -770,6 +804,15 @@ }, "DockerSettings": { "$ref": "#/definitions/DockerSettings" + }, + "ExecutionRoleIdentityConfig": { + "type": "string", + "description": "The configuration for attaching a SageMaker user profile name to the execution role as a sts:SourceIdentity key.", + "enum": [ + "USER_PROFILE_NAME", + "DISABLED" + ], + "markdownDescription": "The configuration for attaching a SageMaker user profile name to the execution role as a sts:SourceIdentity key.\n\n---\n\nRequired: No \nType: String \nAllowed Values: USER_PROFILE_NAME | DISABLED \nUpdate requires: No interruption" } }, "markdownDescription": "A collection of Domain settings.\n\n---\n\nRequired: No \nUpdate requires: Replacement" @@ -932,9 +975,14 @@ "InferenceRecommender", "Endpoints", "Projects", - "InferenceOptimization" + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DataWrangler | FeatureStore | EmrClusters | AutoMl | Experiments | Training | ModelEvaluation | Pipelines | Models | JumpStart | InferenceRecommender | Endpoints | Projects | InferenceOptimization \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DataWrangler | FeatureStore | EmrClusters | AutoMl | Experiments | Training | ModelEvaluation | Pipelines | Models | JumpStart | InferenceRecommender | Endpoints | Projects | InferenceOptimization | HyperPodClusters | Comet | DeepchecksLLMEvaluation | Fiddler | LakeraGuard \nUpdate requires: No interruption" }, "AppType": { "type": "string", diff --git a/server/schema/resources/aws-sagemaker-endpoint.json b/server/schema/resources/aws-sagemaker-endpoint.json index b55cff69..c412341d 100644 --- a/server/schema/resources/aws-sagemaker-endpoint.json +++ b/server/schema/resources/aws-sagemaker-endpoint.json @@ -3,13 +3,15 @@ "description": "Resource Type definition for AWS::SageMaker::Endpoint", "additionalProperties": false, "properties": { - "RetainAllVariantProperties": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "DeploymentConfig": { + "$ref": "#/definitions/DeploymentConfig", + "description": "Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies.", + "markdownDescription": "Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "EndpointName": { + "EndpointConfigName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "description": "The name of the endpoint configuration for the SageMaker endpoint. This is a required property.", + "markdownDescription": "The name of the endpoint configuration for the SageMaker endpoint. This is a required property.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "ExcludeRetainedVariantProperties": { "type": "array", @@ -17,18 +19,18 @@ "items": { "$ref": "#/definitions/VariantProperty" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "Specifies a list of variant properties that you want to exclude when updating an endpoint.", + "markdownDescription": "Specifies a list of variant properties that you want to exclude when updating an endpoint.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "EndpointConfigName": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "DeploymentConfig": { - "$ref": "#/definitions/DeploymentConfig" + "RetainAllVariantProperties": { + "type": "boolean", + "description": "When set to true, retains all variant properties for an endpoint when it is updated.", + "markdownDescription": "When set to true, retains all variant properties for an endpoint when it is updated.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "RetainDeploymentConfig": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "description": "When set to true, retains the deployment configuration during endpoint updates.", + "markdownDescription": "When set to true, retains the deployment configuration during endpoint updates.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "Tags": { "type": "array", @@ -36,139 +38,162 @@ "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "An array of key-value pairs to apply to this resource.", + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "definitions": { - "CapacitySize": { + "Alarm": { "type": "object", "additionalProperties": false, "properties": { - "Value": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - }, - "Type": { + "AlarmName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The name of the CloudWatch alarm.", + "markdownDescription": "The name of the CloudWatch alarm.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "Type", - "Value" + "AlarmName" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "RollingUpdatePolicy": { + "AutoRollbackConfig": { "type": "object", "additionalProperties": false, "properties": { - "MaximumExecutionTimeoutInSeconds": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "MaximumBatchSize": { - "$ref": "#/definitions/CapacitySize" - }, - "WaitIntervalInSeconds": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - }, - "RollbackMaximumBatchSize": { - "$ref": "#/definitions/CapacitySize" + "Alarms": { + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/definitions/Alarm" + }, + "description": "List of CloudWatch alarms to monitor during the deployment. If any alarm goes off, the deployment is rolled back.", + "markdownDescription": "List of CloudWatch alarms to monitor during the deployment. If any alarm goes off, the deployment is rolled back.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ - "MaximumBatchSize", - "WaitIntervalInSeconds" + "Alarms" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Alarm": { + "BlueGreenUpdatePolicy": { "type": "object", "additionalProperties": false, "properties": { - "AlarmName": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "MaximumExecutionTimeoutInSeconds": { + "type": "integer", + "description": "The maximum time allowed for the blue/green update, in seconds.", + "markdownDescription": "The maximum time allowed for the blue/green update, in seconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "TerminationWaitInSeconds": { + "type": "integer", + "description": "The wait time before terminating the old endpoint during a blue/green deployment.", + "markdownDescription": "The wait time before terminating the old endpoint during a blue/green deployment.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "TrafficRoutingConfiguration": { + "$ref": "#/definitions/TrafficRoutingConfig", + "description": "The traffic routing configuration for the blue/green deployment.", + "markdownDescription": "The traffic routing configuration for the blue/green deployment.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ - "AlarmName" + "TrafficRoutingConfiguration" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Tag": { + "CapacitySize": { "type": "object", "additionalProperties": false, "properties": { - "Value": { + "Type": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "Specifies whether the `Value` is an instance count or a capacity unit.", + "markdownDescription": "Specifies whether the `Value` is an instance count or a capacity unit.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "Key": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "Value": { + "type": "integer", + "description": "The value representing either the number of instances or the number of capacity units.", + "markdownDescription": "The value representing either the number of instances or the number of capacity units.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" } }, "required": [ - "Value", - "Key" + "Type", + "Value" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "AutoRollbackConfig": { + "DeploymentConfig": { "type": "object", "additionalProperties": false, "properties": { - "Alarms": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/Alarm" - }, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "AutoRollbackConfiguration": { + "$ref": "#/definitions/AutoRollbackConfig", + "description": "Configuration for automatic rollback if an error occurs during deployment.", + "markdownDescription": "Configuration for automatic rollback if an error occurs during deployment.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "BlueGreenUpdatePolicy": { + "$ref": "#/definitions/BlueGreenUpdatePolicy", + "description": "Configuration for blue-green update deployment policies.", + "markdownDescription": "Configuration for blue-green update deployment policies.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "RollingUpdatePolicy": { + "$ref": "#/definitions/RollingUpdatePolicy", + "description": "Configuration for rolling update deployment policies.", + "markdownDescription": "Configuration for rolling update deployment policies.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "required": [ - "Alarms" - ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "DeploymentConfig": { + "RollingUpdatePolicy": { "type": "object", "additionalProperties": false, "properties": { - "AutoRollbackConfiguration": { - "$ref": "#/definitions/AutoRollbackConfig" + "MaximumBatchSize": { + "$ref": "#/definitions/CapacitySize", + "description": "Specifies the maximum batch size for each rolling update.", + "markdownDescription": "Specifies the maximum batch size for each rolling update.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, - "RollingUpdatePolicy": { - "$ref": "#/definitions/RollingUpdatePolicy" + "MaximumExecutionTimeoutInSeconds": { + "type": "integer", + "description": "The maximum time allowed for the rolling update, in seconds.", + "markdownDescription": "The maximum time allowed for the rolling update, in seconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "BlueGreenUpdatePolicy": { - "$ref": "#/definitions/BlueGreenUpdatePolicy" + "RollbackMaximumBatchSize": { + "$ref": "#/definitions/CapacitySize", + "description": "The maximum batch size for rollback during an update failure.", + "markdownDescription": "The maximum batch size for rollback during an update failure.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "WaitIntervalInSeconds": { + "type": "integer", + "description": "The time to wait between steps during the rolling update, in seconds.", + "markdownDescription": "The time to wait between steps during the rolling update, in seconds.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" } }, + "required": [ + "MaximumBatchSize", + "WaitIntervalInSeconds" + ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "BlueGreenUpdatePolicy": { + "Tag": { "type": "object", "additionalProperties": false, "properties": { - "MaximumExecutionTimeoutInSeconds": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "TerminationWaitInSeconds": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "Key": { + "type": "string", + "description": "The key of the tag.", + "markdownDescription": "The key of the tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "TrafficRoutingConfiguration": { - "$ref": "#/definitions/TrafficRoutingConfig" + "Value": { + "type": "string", + "description": "The value of the tag.", + "markdownDescription": "The value of the tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "TrafficRoutingConfiguration" + "Value", + "Key" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -176,19 +201,25 @@ "type": "object", "additionalProperties": false, "properties": { - "Type": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "CanarySize": { + "$ref": "#/definitions/CapacitySize", + "description": "Specifies the size of the canary traffic in a canary deployment.", + "markdownDescription": "Specifies the size of the canary traffic in a canary deployment.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "LinearStepSize": { - "$ref": "#/definitions/CapacitySize" + "$ref": "#/definitions/CapacitySize", + "description": "Specifies the step size for linear traffic routing.", + "markdownDescription": "Specifies the step size for linear traffic routing.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "CanarySize": { - "$ref": "#/definitions/CapacitySize" + "Type": { + "type": "string", + "description": "Specifies the type of traffic routing (e.g., 'AllAtOnce', 'Canary', 'Linear').", + "markdownDescription": "Specifies the type of traffic routing (e.g., 'AllAtOnce', 'Canary', 'Linear').\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "WaitIntervalInSeconds": { "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "description": "Specifies the wait interval between traffic shifts, in seconds.", + "markdownDescription": "Specifies the wait interval between traffic shifts, in seconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "required": [ @@ -202,7 +233,8 @@ "properties": { "VariantPropertyType": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The type of variant property (e.g., 'DesiredInstanceCount', 'DesiredWeight', 'DataCaptureConfig').", + "markdownDescription": "The type of variant property (e.g., 'DesiredInstanceCount', 'DesiredWeight', 'DataCaptureConfig').\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -215,15 +247,73 @@ "/properties/EndpointName" ], "primaryIdentifier": [ - "/properties/Id" + "/properties/EndpointArn" ], "readOnlyProperties": [ - "/properties/Id" + "/properties/EndpointArn", + "/properties/EndpointName" + ], + "writeOnlyProperties": [ + "/properties/ExcludeRetainedVariantProperties", + "/properties/RetainAllVariantProperties", + "/properties/RetainDeploymentConfig" ], + "handlers": { + "create": { + "permissions": [ + "sagemaker:CreateEndpoint", + "sagemaker:DescribeEndpoint", + "sagemaker:AddTags" + ] + }, + "read": { + "permissions": [ + "sagemaker:DescribeEndpoint", + "sagemaker:ListTags" + ] + }, + "update": { + "permissions": [ + "sagemaker:UpdateEndpoint", + "sagemaker:DescribeEndpoint", + "sagemaker:AddTags", + "sagemaker:DeleteTags" + ] + }, + "delete": { + "permissions": [ + "sagemaker:DeleteEndpoint", + "sagemaker:DescribeEndpoint" + ] + }, + "list": { + "permissions": [ + "sagemaker:ListEndpoints" + ] + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "sagemaker:AddTags", + "sagemaker:DeleteTags", + "sagemaker:ListTags" + ] + }, "attributes": { - "Id": { + "EndpointArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the endpoint.", + "markdownDescription": "The Amazon Resource Name (ARN) of the endpoint.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "EndpointName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the SageMaker endpoint. This name must be unique within an AWS Region.", + "markdownDescription": "The name of the SageMaker endpoint. This name must be unique within an AWS Region.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-sagemaker-endpointconfig.json b/server/schema/resources/aws-sagemaker-endpointconfig.json index d92cfc9d..e9392d64 100644 --- a/server/schema/resources/aws-sagemaker-endpointconfig.json +++ b/server/schema/resources/aws-sagemaker-endpointconfig.json @@ -135,10 +135,6 @@ "RoutingConfig": { "$ref": "#/definitions/RoutingConfig" }, - "AcceleratorType": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "InitialVariantWeight": { "type": "number", "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-sagemaker-imageversion.json b/server/schema/resources/aws-sagemaker-imageversion.json index c7370c95..05129bdc 100644 --- a/server/schema/resources/aws-sagemaker-imageversion.json +++ b/server/schema/resources/aws-sagemaker-imageversion.json @@ -9,9 +9,6 @@ "BaseImage": { "$ref": "#/definitions/BaseImage" }, - "Version": { - "$ref": "#/definitions/Version" - }, "Alias": { "$ref": "#/definitions/Alias" }, @@ -164,6 +161,7 @@ "readOnlyProperties": [ "/properties/ImageVersionArn", "/properties/ImageArn", + "/properties/Version", "/properties/ContainerImage" ], "createOnlyProperties": [ @@ -231,6 +229,9 @@ }, "ContainerImage": { "$ref": "#/definitions/ContainerImage" + }, + "Version": { + "$ref": "#/definitions/Version" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-sagemaker-inferencecomponent.json b/server/schema/resources/aws-sagemaker-inferencecomponent.json index e422e9d8..b3727606 100644 --- a/server/schema/resources/aws-sagemaker-inferencecomponent.json +++ b/server/schema/resources/aws-sagemaker-inferencecomponent.json @@ -26,9 +26,7 @@ }, "required": [ "EndpointName", - "VariantName", - "Specification", - "RuntimeConfig" + "Specification" ], "additionalProperties": false, "definitions": { @@ -148,6 +146,12 @@ "maximum": 3600, "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "BaseInferenceComponentName": { + "description": "The name of the base inference component", + "type": "string", + "maxLength": 63, + "markdownDescription": "The name of the base inference component\n\n---\n\nRequired: No \nType: String \nMaximum Length: 63 \nPattern: ^[a-zA-Z0-9](-*[a-zA-Z0-9])*$ \nUpdate requires: No interruption" + }, "InferenceComponentStartupParameters": { "description": "", "type": "object", @@ -205,6 +209,9 @@ "ModelName": { "$ref": "#/definitions/ModelName" }, + "BaseInferenceComponentName": { + "$ref": "#/definitions/BaseInferenceComponentName" + }, "Container": { "$ref": "#/definitions/InferenceComponentContainerSpecification" }, @@ -215,9 +222,6 @@ "$ref": "#/definitions/InferenceComponentComputeResourceRequirements" } }, - "required": [ - "ComputeResourceRequirements" - ], "markdownDescription": "The specification for the inference component\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "InferenceComponentCopyCount": { diff --git a/server/schema/resources/aws-sagemaker-modelbiasjobdefinition.json b/server/schema/resources/aws-sagemaker-modelbiasjobdefinition.json index 9e86fe09..7a85da84 100644 --- a/server/schema/resources/aws-sagemaker-modelbiasjobdefinition.json +++ b/server/schema/resources/aws-sagemaker-modelbiasjobdefinition.json @@ -669,6 +669,17 @@ "/properties/Tags/*/Key", "/properties/Tags/*/Value" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "sagemaker:AddTags", + "sagemaker:ListTags" + ] + }, "attributes": { "JobDefinitionArn": { "description": "The Amazon Resource Name (ARN) of job definition.", diff --git a/server/schema/resources/aws-sagemaker-modelcard.json b/server/schema/resources/aws-sagemaker-modelcard.json index 6fc2d577..419477fa 100644 --- a/server/schema/resources/aws-sagemaker-modelcard.json +++ b/server/schema/resources/aws-sagemaker-modelcard.json @@ -1033,7 +1033,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "sagemaker:AddTags", + "sagemaker:ListTags", + "sagemaker:DeleteTags" + ] }, "readOnlyProperties": [ "/properties/ModelCardArn", diff --git a/server/schema/resources/aws-sagemaker-modelexplainabilityjobdefinition.json b/server/schema/resources/aws-sagemaker-modelexplainabilityjobdefinition.json index ade35618..8fcd857a 100644 --- a/server/schema/resources/aws-sagemaker-modelexplainabilityjobdefinition.json +++ b/server/schema/resources/aws-sagemaker-modelexplainabilityjobdefinition.json @@ -616,6 +616,17 @@ "/properties/Tags/*/Key", "/properties/Tags/*/Value" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "sagemaker:AddTags", + "sagemaker:ListTags" + ] + }, "attributes": { "JobDefinitionArn": { "description": "The Amazon Resource Name (ARN) of job definition.", diff --git a/server/schema/resources/aws-sagemaker-modelpackage.json b/server/schema/resources/aws-sagemaker-modelpackage.json index d52381a9..37e8286e 100644 --- a/server/schema/resources/aws-sagemaker-modelpackage.json +++ b/server/schema/resources/aws-sagemaker-modelpackage.json @@ -912,7 +912,7 @@ "description": "The Amazon Resource Name (ARN) of the model package group.", "minLength": 1, "maxLength": 2048, - "markdownDescription": "The Amazon Resource Name (ARN) of the model package group.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws(-cn|-us-gov)?:sagemaker:[a-z0-9\\-]{9,16}:[0-9]{12}:model-package/[\\S]{1,2048}$ \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the model package group.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws(-cn|-us-gov|-iso-f)?:sagemaker:[a-z0-9\\-]{9,16}:[0-9]{12}:model-package/[\\S]{1,2048}$ \nUpdate requires: No interruption" }, "ApprovalDescription": { "description": "A description provided for the model approval.", @@ -1221,7 +1221,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "sagemaker:AddTags", + "sagemaker:ListTags", + "sagemaker:DeleteTags" + ] }, "readOnlyProperties": [ "/properties/ModelPackageArn", diff --git a/server/schema/resources/aws-sagemaker-modelpackagegroup.json b/server/schema/resources/aws-sagemaker-modelpackagegroup.json index f1a8e66e..2010523b 100644 --- a/server/schema/resources/aws-sagemaker-modelpackagegroup.json +++ b/server/schema/resources/aws-sagemaker-modelpackagegroup.json @@ -78,6 +78,18 @@ "primaryIdentifier": [ "/properties/ModelPackageGroupArn" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "sagemaker:AddTags", + "sagemaker:ListTags", + "sagemaker:DeleteTags" + ] + }, "readOnlyProperties": [ "/properties/ModelPackageGroupArn", "/properties/CreationTime", diff --git a/server/schema/resources/aws-sagemaker-modelqualityjobdefinition.json b/server/schema/resources/aws-sagemaker-modelqualityjobdefinition.json index 2ff3d559..1c4ab571 100644 --- a/server/schema/resources/aws-sagemaker-modelqualityjobdefinition.json +++ b/server/schema/resources/aws-sagemaker-modelqualityjobdefinition.json @@ -699,6 +699,17 @@ "/properties/Tags/*/Key", "/properties/Tags/*/Value" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "sagemaker:AddTags", + "sagemaker:ListTags" + ] + }, "attributes": { "JobDefinitionArn": { "description": "The Amazon Resource Name (ARN) of job definition.", diff --git a/server/schema/resources/aws-sagemaker-partnerapp.json b/server/schema/resources/aws-sagemaker-partnerapp.json new file mode 100644 index 00000000..c33632a6 --- /dev/null +++ b/server/schema/resources/aws-sagemaker-partnerapp.json @@ -0,0 +1,262 @@ +{ + "typeName": "AWS::SageMaker::PartnerApp", + "description": "Resource Type definition for AWS::SageMaker::PartnerApp", + "additionalProperties": false, + "properties": { + "Name": { + "type": "string", + "description": "A name for the PartnerApp.", + "minLength": 1, + "maxLength": 256, + "markdownDescription": "A name for the PartnerApp.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^[a-zA-Z0-9]+ \nUpdate requires: Replacement" + }, + "Type": { + "type": "string", + "description": "The type of PartnerApp.", + "enum": [ + "lakera-guard", + "comet", + "deepchecks-llm-evaluation", + "fiddler" + ], + "markdownDescription": "The type of PartnerApp.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: lakera-guard | comet | deepchecks-llm-evaluation | fiddler \nUpdate requires: Replacement" + }, + "ExecutionRoleArn": { + "type": "string", + "description": "The execution role for the user.", + "minLength": 20, + "maxLength": 2048, + "markdownDescription": "The execution role for the user.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$ \nUpdate requires: Replacement" + }, + "Tier": { + "type": "string", + "description": "The tier of the PartnerApp.", + "minLength": 1, + "maxLength": 64, + "markdownDescription": "The tier of the PartnerApp.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + }, + "EnableIamSessionBasedIdentity": { + "type": "boolean", + "description": "Enables IAM Session based Identity for PartnerApp.", + "markdownDescription": "Enables IAM Session based Identity for PartnerApp.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "ApplicationConfig": { + "$ref": "#/definitions/PartnerAppConfig", + "description": "A collection of settings that specify the maintenance schedule for the PartnerApp.", + "markdownDescription": "A collection of settings that specify the maintenance schedule for the PartnerApp.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "AuthType": { + "type": "string", + "description": "The Auth type of PartnerApp.", + "enum": [ + "IAM" + ], + "markdownDescription": "The Auth type of PartnerApp.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: IAM \nUpdate requires: Replacement" + }, + "MaintenanceConfig": { + "$ref": "#/definitions/PartnerAppMaintenanceConfig", + "description": "A collection of settings that specify the maintenance schedule for the PartnerApp.", + "markdownDescription": "A collection of settings that specify the maintenance schedule for the PartnerApp.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ClientToken": { + "type": "string", + "description": "The client token for the PartnerApp.", + "minLength": 1, + "maxLength": 36, + "markdownDescription": "The client token for the PartnerApp.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 36 \nPattern: ^[a-zA-Z0-9-]+$ \nUpdate requires: No interruption" + }, + "Tags": { + "type": "array", + "description": "A list of tags to apply to the PartnerApp.", + "uniqueItems": false, + "insertionOrder": false, + "minItems": 0, + "maxItems": 50, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of tags to apply to the PartnerApp.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "definitions": { + "PartnerAppConfig": { + "type": "object", + "description": "A collection of configuration settings for the PartnerApp.", + "additionalProperties": false, + "properties": { + "AdminUsers": { + "type": "array", + "description": "A list of users with administrator privileges for the PartnerApp.", + "uniqueItems": true, + "insertionOrder": false, + "minItems": 0, + "maxItems": 5, + "items": { + "$ref": "#/definitions/PartnerAppAdminUserList" + }, + "markdownDescription": "A list of users with administrator privileges for the PartnerApp.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Arguments": { + "description": "A list of arguments to pass to the PartnerApp.", + "type": "object", + "additionalProperties": false, + "maxProperties": 5, + "patternProperties": { + "^(?!\\s*$).{1,256}$": { + "type": "string", + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nPattern: ^.{0,1024}$ \nUpdate requires: No interruption" + } + }, + "markdownDescription": "A list of arguments to pass to the PartnerApp.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "markdownDescription": "A collection of configuration settings for the PartnerApp.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PartnerAppAdminUserList": { + "type": "string", + "description": "A collection of AdminUsers for the PartnerApp", + "additionalProperties": false, + "minLength": 1, + "maxLength": 256, + "markdownDescription": "A collection of AdminUsers for the PartnerApp\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "PartnerAppMaintenanceConfig": { + "type": "object", + "description": "A collection of settings that specify the maintenance schedule for the PartnerApp.", + "additionalProperties": false, + "properties": { + "MaintenanceWindowStart": { + "type": "string", + "description": "The maintenance window start day and time for the PartnerApp.", + "maxLength": 9, + "markdownDescription": "The maintenance window start day and time for the PartnerApp.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 9 \nPattern: (Mon|Tue|Wed|Thu|Fri|Sat|Sun):([01]\\d|2[0-3]):([0-5]\\d) \nUpdate requires: No interruption" + } + }, + "required": [ + "MaintenanceWindowStart" + ], + "markdownDescription": "A collection of settings that specify the maintenance schedule for the PartnerApp.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tag": { + "type": "object", + "additionalProperties": false, + "properties": { + "Value": { + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Key": { + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "required": [ + "Name", + "Type", + "AuthType", + "ExecutionRoleArn", + "Tier" + ], + "createOnlyProperties": [ + "/properties/Name", + "/properties/Type", + "/properties/ExecutionRoleArn", + "/properties/AuthType" + ], + "readOnlyProperties": [ + "/properties/Arn", + "/properties/BaseUrl" + ], + "writeOnlyProperties": [ + "/properties/ClientToken" + ], + "deprecatedProperties": [ + "/properties/ClientToken" + ], + "primaryIdentifier": [ + "/properties/Arn" + ], + "replacementStrategy": "delete_then_create", + "handlers": { + "create": { + "permissions": [ + "sagemaker:CreatePartnerApp", + "sagemaker:DescribePartnerApp", + "sagemaker:AddTags", + "sagemaker:ListTags", + "iam:PassRole" + ], + "timeoutInMinutes": 180 + }, + "read": { + "permissions": [ + "sagemaker:DescribePartnerApp", + "sagemaker:ListTags" + ] + }, + "update": { + "permissions": [ + "sagemaker:UpdatePartnerApp", + "sagemaker:DescribePartnerApp", + "sagemaker:AddTags", + "sagemaker:ListTags", + "sagemaker:DeleteTags" + ], + "timeoutInMinutes": 180 + }, + "delete": { + "permissions": [ + "sagemaker:DeletePartnerApp", + "sagemaker:DescribePartnerApp", + "sagemaker:DeleteTags" + ], + "timeoutInMinutes": 240 + }, + "list": { + "permissions": [ + "sagemaker:ListPartnerApps", + "sagemaker:DescribePartnerApp", + "sagemaker:ListTags" + ] + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "sagemaker:AddTags", + "sagemaker:DeleteTags", + "sagemaker:ListTags" + ] + }, + "attributes": { + "Arn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the created PartnerApp.", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The Amazon Resource Name (ARN) of the created PartnerApp.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:partner-app/app-[A-Z0-9]{12}$ \nUpdate requires: No interruption" + }, + "BaseUrl": { + "type": "string", + "description": "The AppServerUrl based on app and account-info.", + "maxLength": 2048, + "markdownDescription": "The AppServerUrl based on app and account-info.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-sagemaker-project.json b/server/schema/resources/aws-sagemaker-project.json index f8d08c50..21889b25 100644 --- a/server/schema/resources/aws-sagemaker-project.json +++ b/server/schema/resources/aws-sagemaker-project.json @@ -166,6 +166,18 @@ "ProjectName", "ServiceCatalogProvisioningDetails" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "sagemaker:AddTags", + "sagemaker:ListTags", + "sagemaker:DeleteTags" + ] + }, "readOnlyProperties": [ "/properties/ProjectArn", "/properties/CreationTime", diff --git a/server/schema/resources/aws-sagemaker-space.json b/server/schema/resources/aws-sagemaker-space.json index 1b9fbbde..fa32adef 100644 --- a/server/schema/resources/aws-sagemaker-space.json +++ b/server/schema/resources/aws-sagemaker-space.json @@ -150,6 +150,9 @@ "properties": { "EFSFileSystem": { "$ref": "#/definitions/EFSFileSystem" + }, + "FSxLustreFileSystem": { + "$ref": "#/definitions/FSxLustreFileSystem" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -170,6 +173,22 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "FSxLustreFileSystem": { + "type": "object", + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string", + "minLength": 11, + "maxLength": 21, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 11 \nMaximum Length: 21 \nPattern: ^(fs-[0-9a-f]{8,})$ \nUpdate requires: No interruption" + } + }, + "required": [ + "FileSystemId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "SpaceJupyterLabAppSettings": { "type": "object", "description": "The JupyterServer app settings.", @@ -504,8 +523,7 @@ "/properties/OwnershipSettings" ], "writeOnlyProperties": [ - "/properties/SpaceSettings", - "/properties/Tags" + "/properties/SpaceSettings" ], "primaryIdentifier": [ "/properties/DomainId", @@ -520,35 +538,48 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "sagemaker:AddTags", + "sagemaker:DeleteTags", + "sagemaker:ListTags" + ] }, "handlers": { "create": { "permissions": [ "sagemaker:CreateSpace", - "sagemaker:DescribeSpace" + "sagemaker:DescribeSpace", + "sagemaker:ListTags", + "sagemaker:AddTags" ] }, "read": { "permissions": [ - "sagemaker:DescribeSpace" + "sagemaker:DescribeSpace", + "sagemaker:ListTags" ] }, "update": { "permissions": [ "sagemaker:UpdateSpace", - "sagemaker:DescribeSpace" + "sagemaker:DescribeSpace", + "sagemaker:AddTags", + "sagemaker:DeleteTags", + "sagemaker:ListTags" ] }, "delete": { "permissions": [ "sagemaker:DeleteSpace", - "sagemaker:DescribeSpace" + "sagemaker:DescribeSpace", + "sagemaker:DeleteTags" ] }, "list": { "permissions": [ - "sagemaker:ListSpaces" + "sagemaker:ListSpaces", + "sagemaker:ListTags" ] } }, diff --git a/server/schema/resources/aws-sagemaker-studiolifecycleconfig.json b/server/schema/resources/aws-sagemaker-studiolifecycleconfig.json index cf499ab7..26687440 100644 --- a/server/schema/resources/aws-sagemaker-studiolifecycleconfig.json +++ b/server/schema/resources/aws-sagemaker-studiolifecycleconfig.json @@ -16,10 +16,10 @@ }, "StudioLifecycleConfigContent": { "type": "string", - "description": "The content of your Amazon SageMaker Studio Lifecycle Configuration script.", + "description": "The content of your Amazon SageMaker Studio Lifecycle Configuration script. This content must be base64 encoded.", "minLength": 1, "maxLength": 16384, - "markdownDescription": "The content of your Amazon SageMaker Studio Lifecycle Configuration script.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 16384 \nPattern: [\\S\\s]+ \nUpdate requires: Replacement" + "markdownDescription": "The content of your Amazon SageMaker Studio Lifecycle Configuration script. This content must be base64 encoded.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 16384 \nPattern: [\\S\\s]+ \nUpdate requires: Replacement" }, "StudioLifecycleConfigName": { "type": "string", @@ -30,7 +30,7 @@ }, "Tags": { "type": "array", - "description": "Tags to be associated with the Lifecycle Configuration.", + "description": "Tags to be associated with the Lifecycle Configuration. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search API.", "uniqueItems": false, "insertionOrder": false, "items": { @@ -38,7 +38,7 @@ }, "minItems": 0, "maxItems": 50, - "markdownDescription": "Tags to be associated with the Lifecycle Configuration.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + "markdownDescription": "Tags to be associated with the Lifecycle Configuration. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search API.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" } }, "definitions": { diff --git a/server/schema/resources/aws-sagemaker-userprofile.json b/server/schema/resources/aws-sagemaker-userprofile.json index aa6349ab..3b2b975b 100644 --- a/server/schema/resources/aws-sagemaker-userprofile.json +++ b/server/schema/resources/aws-sagemaker-userprofile.json @@ -524,6 +524,9 @@ "properties": { "EFSFileSystemConfig": { "$ref": "#/definitions/EFSFileSystemConfig" + }, + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/FSxLustreFileSystemConfig" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -550,6 +553,28 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "FSxLustreFileSystemConfig": { + "type": "object", + "additionalProperties": false, + "properties": { + "FileSystemPath": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^\\/\\S*$ \nUpdate requires: No interruption" + }, + "FileSystemId": { + "type": "string", + "minLength": 11, + "maxLength": 21, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 11 \nMaximum Length: 21 \nPattern: ^(fs-[0-9a-f]{8,})$ \nUpdate requires: No interruption" + } + }, + "required": [ + "FileSystemId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "CustomImage": { "type": "object", "description": "A custom SageMaker image.", @@ -704,9 +729,14 @@ "InferenceRecommender", "Endpoints", "Projects", - "InferenceOptimization" + "InferenceOptimization", + "HyperPodClusters", + "Comet", + "DeepchecksLLMEvaluation", + "Fiddler", + "LakeraGuard" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DataWrangler | FeatureStore | EmrClusters | AutoMl | Experiments | Training | ModelEvaluation | Pipelines | Models | JumpStart | InferenceRecommender | Endpoints | Projects | InferenceOptimization \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DataWrangler | FeatureStore | EmrClusters | AutoMl | Experiments | Training | ModelEvaluation | Pipelines | Models | JumpStart | InferenceRecommender | Endpoints | Projects | InferenceOptimization | HyperPodClusters | Comet | DeepchecksLLMEvaluation | Fiddler | LakeraGuard \nUpdate requires: No interruption" }, "AppType": { "type": "string", diff --git a/server/schema/resources/aws-scheduler-schedule.json b/server/schema/resources/aws-scheduler-schedule.json index ecf17bf4..558bba54 100644 --- a/server/schema/resources/aws-scheduler-schedule.json +++ b/server/schema/resources/aws-scheduler-schedule.json @@ -98,7 +98,7 @@ "maxLength": 1600, "minLength": 1, "description": "The ARN of the SQS queue specified as the target for the dead-letter queue.", - "markdownDescription": "The ARN of the SQS queue specified as the target for the dead-letter queue.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^arn:aws(-[a-z]+)?:sqs:[a-z0-9\\-]+:\\d{12}:[a-zA-Z0-9\\-_]+$ \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the SQS queue specified as the target for the dead-letter queue.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^arn:aws[a-z-]*:sqs:[a-z0-9\\-]+:\\d{12}:[a-zA-Z0-9\\-_]+$ \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -485,7 +485,7 @@ "maxLength": 1600, "minLength": 1, "description": "The Amazon Resource Name (ARN) of the IAM role to be used for this target when the schedule is triggered.", - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to be used for this target when the schedule is triggered.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^arn:aws(-[a-z]+)?:iam::\\d{12}:role\\/[\\w+=,.@\\/-]+$ \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to be used for this target when the schedule is triggered.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^arn:aws[a-z-]*:iam::\\d{12}:role\\/[\\w+=,.@\\/-]+$ \nUpdate requires: No interruption" }, "DeadLetterConfig": { "$ref": "#/definitions/DeadLetterConfig" @@ -552,7 +552,7 @@ "maxLength": 2048, "minLength": 1, "description": "The ARN for a KMS Key that will be used to encrypt customer data.", - "markdownDescription": "The ARN for a KMS Key that will be used to encrypt customer data.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws(-[a-z]+)?:kms:[a-z0-9\\-]+:\\d{12}:(key|alias)\\/[0-9a-zA-Z-_]*$ \nUpdate requires: No interruption" + "markdownDescription": "The ARN for a KMS Key that will be used to encrypt customer data.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws[a-z-]*:kms:[a-z0-9\\-]+:\\d{12}:(key|alias)\\/[0-9a-zA-Z-_]*$ \nUpdate requires: No interruption" }, "Name": { "type": "string", @@ -646,7 +646,7 @@ "maxLength": 1224, "minLength": 1, "description": "The Amazon Resource Name (ARN) of the schedule.", - "markdownDescription": "The Amazon Resource Name (ARN) of the schedule.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1224 \nPattern: ^arn:aws(-[a-z]+)?:scheduler:[a-z0-9\\-]+:\\d{12}:schedule\\/[0-9a-zA-Z-_.]+\\/[0-9a-zA-Z-_.]+$ \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the schedule.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1224 \nPattern: ^arn:aws[a-z-]*:scheduler:[a-z0-9\\-]+:\\d{12}:schedule\\/[0-9a-zA-Z-_.]+\\/[0-9a-zA-Z-_.]+$ \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-scheduler-schedulegroup.json b/server/schema/resources/aws-scheduler-schedulegroup.json index 8af06b97..3dd643b4 100644 --- a/server/schema/resources/aws-scheduler-schedulegroup.json +++ b/server/schema/resources/aws-scheduler-schedulegroup.json @@ -124,7 +124,7 @@ "maxLength": 1224, "minLength": 1, "description": "The Amazon Resource Name (ARN) of the schedule group.", - "markdownDescription": "The Amazon Resource Name (ARN) of the schedule group.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1224 \nPattern: ^arn:aws(-[a-z]+)?:scheduler:[a-z0-9\\-]+:\\d{12}:schedule-group\\/[0-9a-zA-Z-_.]+$ \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the schedule group.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1224 \nPattern: ^arn:aws[a-z-]*:scheduler:[a-z0-9\\-]+:\\d{12}:schedule-group\\/[0-9a-zA-Z-_.]+$ \nUpdate requires: No interruption" }, "CreationDate": { "type": "string", diff --git a/server/schema/resources/aws-secretsmanager-rotationschedule.json b/server/schema/resources/aws-secretsmanager-rotationschedule.json index 70fde88c..a28bf042 100644 --- a/server/schema/resources/aws-secretsmanager-rotationschedule.json +++ b/server/schema/resources/aws-secretsmanager-rotationschedule.json @@ -1,75 +1,130 @@ { + "tagging": { + "taggable": false + }, "typeName": "AWS::SecretsManager::RotationSchedule", + "readOnlyProperties": [ + "/properties/Id" + ], "description": "Resource Type definition for AWS::SecretsManager::RotationSchedule", - "additionalProperties": false, - "properties": { - "RotationLambdaARN": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "createOnlyProperties": [ + "/properties/SecretId" + ], + "primaryIdentifier": [ + "/properties/Id" + ], + "required": [ + "SecretId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-secretsmanager", + "handlers": { + "read": { + "permissions": [ + "secretsmanager:DescribeSecret" + ] }, - "RotationRules": { - "$ref": "#/definitions/RotationRules" + "create": { + "permissions": [ + "secretsmanager:RotateSecret", + "secretsmanager:DescribeSecret", + "lambda:InvokeFunction" + ] }, - "RotateImmediatelyOnUpdate": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "update": { + "permissions": [ + "secretsmanager:RotateSecret", + "secretsmanager:DescribeSecret", + "lambda:InvokeFunction" + ] }, - "SecretId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "list": { + "permissions": [ + "secretsmanager:DescribeSecret", + "secretsmanager:ListSecrets" + ] }, - "HostedRotationLambda": { - "$ref": "#/definitions/HostedRotationLambda" + "delete": { + "permissions": [ + "secretsmanager:CancelRotateSecret", + "secretsmanager:DescribeSecret" + ] } }, + "writeOnlyProperties": [ + "/properties/RotateImmediatelyOnUpdate", + "/properties/HostedRotationLambda", + "/properties/HostedRotationLambda/ExcludeCharacters", + "/properties/HostedRotationLambda/KmsKeyArn", + "/properties/HostedRotationLambda/MasterSecretArn", + "/properties/HostedRotationLambda/MasterSecretKmsKeyArn", + "/properties/HostedRotationLambda/RotationLambdaName", + "/properties/HostedRotationLambda/RotationType", + "/properties/HostedRotationLambda/Runtime", + "/properties/HostedRotationLambda/SuperuserSecretArn", + "/properties/HostedRotationLambda/SuperuserSecretKmsKeyArn", + "/properties/HostedRotationLambda/VpcSecurityGroupIds", + "/properties/HostedRotationLambda/VpcSubnetIds" + ], + "additionalProperties": false, "definitions": { "HostedRotationLambda": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "Runtime": { + "description": "The python runtime associated with the Lambda function", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The python runtime associated with the Lambda function\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "RotationType": { + "KmsKeyArn": { + "description": "The ARN of the KMS key that Secrets Manager uses to encrypt the secret. If you don't specify this value, then Secrets Manager uses the key aws/secretsmanager. If aws/secretsmanager doesn't yet exist, then Secrets Manager creates it for you automatically the first time it encrypts the secret value.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the KMS key that Secrets Manager uses to encrypt the secret. If you don't specify this value, then Secrets Manager uses the key aws/secretsmanager. If aws/secretsmanager doesn't yet exist, then Secrets Manager creates it for you automatically the first time it encrypts the secret value.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "RotationLambdaName": { + "MasterSecretArn": { + "description": "The ARN of the secret that contains superuser credentials, if you use the alternating users rotation strategy. CloudFormation grants the execution role for the Lambda rotation function GetSecretValue permission to the secret in this property.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the secret that contains superuser credentials, if you use the alternating users rotation strategy. CloudFormation grants the execution role for the Lambda rotation function GetSecretValue permission to the secret in this property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "KmsKeyArn": { + "RotationLambdaName": { + "description": "The name of the Lambda rotation function.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name of the Lambda rotation function.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "MasterSecretArn": { + "RotationType": { + "description": "The type of rotation template to use", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The type of rotation template to use\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "VpcSecurityGroupIds": { + "ExcludeCharacters": { + "description": "A string of the characters that you don't want in the password.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "A string of the characters that you don't want in the password.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ExcludeCharacters": { + "VpcSecurityGroupIds": { + "description": "A comma-separated list of security group IDs applied to the target database.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "A comma-separated list of security group IDs applied to the target database.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "MasterSecretKmsKeyArn": { + "description": "The ARN of the KMS key that Secrets Manager used to encrypt the superuser secret, if you use the alternating users strategy and the superuser secret is encrypted with a customer managed key. You don't need to specify this property if the superuser secret is encrypted using the key aws/secretsmanager. CloudFormation grants the execution role for the Lambda rotation function Decrypt, DescribeKey, and GenerateDataKey permission to the key in this property.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the KMS key that Secrets Manager used to encrypt the superuser secret, if you use the alternating users strategy and the superuser secret is encrypted with a customer managed key. You don't need to specify this property if the superuser secret is encrypted using the key aws/secretsmanager. CloudFormation grants the execution role for the Lambda rotation function Decrypt, DescribeKey, and GenerateDataKey permission to the key in this property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "SuperuserSecretArn": { + "description": "The ARN of the secret that contains superuser credentials, if you use the alternating users rotation strategy. CloudFormation grants the execution role for the Lambda rotation function GetSecretValue permission to the secret in this property.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the secret that contains superuser credentials, if you use the alternating users rotation strategy. CloudFormation grants the execution role for the Lambda rotation function GetSecretValue permission to the secret in this property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "SuperuserSecretKmsKeyArn": { + "description": "The ARN of the KMS key that Secrets Manager used to encrypt the superuser secret, if you use the alternating users strategy and the superuser secret is encrypted with a customer managed key. You don't need to specify this property if the superuser secret is encrypted using the key aws/secretsmanager. CloudFormation grants the execution role for the Lambda rotation function Decrypt, DescribeKey, and GenerateDataKey permission to the key in this property.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the KMS key that Secrets Manager used to encrypt the superuser secret, if you use the alternating users strategy and the superuser secret is encrypted with a customer managed key. You don't need to specify this property if the superuser secret is encrypted using the key aws/secretsmanager. CloudFormation grants the execution role for the Lambda rotation function Decrypt, DescribeKey, and GenerateDataKey permission to the key in this property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "VpcSubnetIds": { + "description": "A comma separated list of VPC subnet IDs of the target database network. The Lambda rotation function is in the same subnet group.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "A comma separated list of VPC subnet IDs of the target database network. The Lambda rotation function is in the same subnet group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -78,41 +133,60 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "RotationRules": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "ScheduleExpression": { + "description": "A cron() or rate() expression that defines the schedule for rotating your secret. Secrets Manager rotation schedules use UTC time zone.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "A cron() or rate() expression that defines the schedule for rotating your secret. Secrets Manager rotation schedules use UTC time zone.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Duration": { + "description": "The length of the rotation window in hours, for example 3h for a three hour window. Secrets Manager rotates your secret at any time during this window. The window must not extend into the next rotation window or the next UTC day. The window starts according to the ScheduleExpression. If you don't specify a Duration, for a ScheduleExpression in hours, the window automatically closes after one hour. For a ScheduleExpression in days, the window automatically closes at the end of the UTC day.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The length of the rotation window in hours, for example 3h for a three hour window. Secrets Manager rotates your secret at any time during this window. The window must not extend into the next rotation window or the next UTC day. The window starts according to the ScheduleExpression. If you don't specify a Duration, for a ScheduleExpression in hours, the window automatically closes after one hour. For a ScheduleExpression in days, the window automatically closes at the end of the UTC day.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AutomaticallyAfterDays": { + "description": "The number of days between automatic scheduled rotations of the secret. You can use this value to check that your secret meets your compliance guidelines for how often secrets must be rotated.", "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The number of days between automatic scheduled rotations of the secret. You can use this value to check that your secret meets your compliance guidelines for how often secrets must be rotated.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "required": [ - "SecretId" - ], - "createOnlyProperties": [ - "/properties/SecretId" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "readOnlyProperties": [ - "/properties/Id" - ], + "properties": { + "HostedRotationLambda": { + "description": "Creates a new Lambda rotation function based on one of the Secrets Manager rotation function templates. To use a rotation function that already exists, specify RotationLambdaARN instead.", + "$ref": "#/definitions/HostedRotationLambda", + "markdownDescription": "Creates a new Lambda rotation function based on one of the Secrets Manager rotation function templates. To use a rotation function that already exists, specify RotationLambdaARN instead.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "SecretId": { + "description": "The ARN or name of the secret to rotate.", + "type": "string", + "markdownDescription": "The ARN or name of the secret to rotate.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "RotateImmediatelyOnUpdate": { + "description": "Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window.", + "type": "boolean", + "markdownDescription": "Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "RotationLambdaARN": { + "description": "The ARN of an existing Lambda rotation function. To specify a rotation function that is also defined in this template, use the Ref function.", + "type": "string", + "markdownDescription": "The ARN of an existing Lambda rotation function. To specify a rotation function that is also defined in this template, use the Ref function.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "RotationRules": { + "description": "A structure that defines the rotation configuration for this secret.", + "$ref": "#/definitions/RotationRules", + "markdownDescription": "A structure that defines the rotation configuration for this secret.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, "attributes": { "Id": { + "description": "The ARN of the secret.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the secret.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-secretsmanager-secret.json b/server/schema/resources/aws-secretsmanager-secret.json index b3a8c70d..c4aa1a6a 100644 --- a/server/schema/resources/aws-secretsmanager-secret.json +++ b/server/schema/resources/aws-secretsmanager-secret.json @@ -1,5 +1,6 @@ { "typeName": "AWS::SecretsManager::Secret", + "$comment": "If you make any changes to this schema, be sure to also modify the regional schema template that generates schemas for contract tests: secret/templates/{region.region_name}_schema.json.erb", "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", "description": "Creates a new secret. A *secret* can be a password, a set of credentials such as a user name and password, an OAuth token, or other secret information that you store in an encrypted form in Secrets Manager.\n For RDS master user credentials, see [AWS::RDS::DBCluster MasterUserSecret](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html).\n For RS admin user credentials, see [AWS::Redshift::Cluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html).\n To retrieve a secret in a CFNshort template, use a *dynamic reference*. For more information, see [Retrieve a secret in an resource](https://docs.aws.amazon.com/secretsmanager/latest/userguide/cfn-example_reference-secret.html).\n For information about creating a secret in the console, see [Create a secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html). For information about creating a secret using the CLI or SDK, see [CreateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html).\n For information about retrieving a secret in code, see [Retrieve secrets from Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets.html).", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-secretsmanager.git", diff --git a/server/schema/resources/aws-secretsmanager-secrettargetattachment.json b/server/schema/resources/aws-secretsmanager-secrettargetattachment.json index 32ba44d9..50a7ceb1 100644 --- a/server/schema/resources/aws-secretsmanager-secrettargetattachment.json +++ b/server/schema/resources/aws-secretsmanager-secrettargetattachment.json @@ -1,11 +1,12 @@ { "typeName": "AWS::SecretsManager::SecretTargetAttachment", + "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/blob/master/src/main/resources/schema/provider.definition.schema.v1.json", "description": "Resource Type definition for AWS::SecretsManager::SecretTargetAttachment", "additionalProperties": false, "properties": { "SecretId": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "TargetType": { "type": "string", @@ -21,12 +22,61 @@ "TargetId", "SecretId" ], + "tagging": { + "taggable": false + }, "primaryIdentifier": [ "/properties/Id" ], "readOnlyProperties": [ "/properties/Id" ], + "createOnlyProperties": [ + "/properties/SecretId" + ], + "handlers": { + "read": { + "permissions": [ + "secretsmanager:GetSecretValue" + ] + }, + "list": { + "permissions": [ + "secretsmanager:GetSecretValue", + "secretsmanager:ListSecrets" + ] + }, + "create": { + "permissions": [ + "secretsmanager:GetSecretValue", + "secretsmanager:PutSecretValue", + "rds:DescribeDBInstances", + "redshift:DescribeClusters", + "rds:DescribeDBClusters", + "docdb-elastic:GetCluster", + "redshift-serverless:ListWorkgroups", + "redshift-serverless:GetNamespace" + ] + }, + "delete": { + "permissions": [ + "secretsmanager:GetSecretValue", + "secretsmanager:PutSecretValue" + ] + }, + "update": { + "permissions": [ + "secretsmanager:GetSecretValue", + "secretsmanager:PutSecretValue", + "rds:DescribeDBInstances", + "redshift:DescribeClusters", + "rds:DescribeDBClusters", + "docdb-elastic:GetCluster", + "redshift-serverless:ListWorkgroups", + "redshift-serverless:GetNamespace" + ] + } + }, "attributes": { "Id": { "type": "string", diff --git a/server/schema/resources/aws-securityhub-automationrule.json b/server/schema/resources/aws-securityhub-automationrule.json index a2cf2b4d..43c3d428 100644 --- a/server/schema/resources/aws-securityhub-automationrule.json +++ b/server/schema/resources/aws-securityhub-automationrule.json @@ -327,7 +327,7 @@ "type": "object", "properties": { "Status": { - "description": "The status of the investigation into the finding. The workflow status is specific to an individual finding. It does not affect the generation of new findings. For example, setting the workflow status to ``SUPPRESSED`` or ``RESOLVED`` does not prevent a new finding for the same issue.\n The allowed values are the following.\n + ``NEW`` - The initial state of a finding, before it is reviewed.\n Security Hub also resets ``WorkFlowStatus`` from ``NOTIFIED`` or ``RESOLVED`` to ``NEW`` in the following cases:\n + The record state changes from ``ARCHIVED`` to ``ACTIVE``.\n + The compliance status changes from ``PASSED`` to either ``WARNING``, ``FAILED``, or ``NOT_AVAILABLE``.\n \n + ``NOTIFIED`` - Indicates that you notified the resource owner about the security issue. Used when the initial reviewer is not the resource owner, and needs intervention from the resource owner.\n + ``RESOLVED`` - The finding was reviewed and remediated and is now considered resolved.\n + ``SUPPRESSED`` - Indicates that you reviewed the finding and do not believe that any action is needed. The finding is no longer updated.", + "description": "The status of the investigation into the finding. The workflow status is specific to an individual finding. It does not affect the generation of new findings. For example, setting the workflow status to ``SUPPRESSED`` or ``RESOLVED`` does not prevent a new finding for the same issue.\n The allowed values are the following.\n + ``NEW`` - The initial state of a finding, before it is reviewed.\n Security Hub also resets ``WorkFlowStatus`` from ``NOTIFIED`` or ``RESOLVED`` to ``NEW`` in the following cases:\n + The record state changes from ``ARCHIVED`` to ``ACTIVE``.\n + The compliance status changes from ``PASSED`` to either ``WARNING``, ``FAILED``, or ``NOT_AVAILABLE``.\n \n + ``NOTIFIED`` - Indicates that you notified the resource owner about the security issue. Used when the initial reviewer is not the resource owner, and needs intervention from the resource owner.\n + ``RESOLVED`` - The finding was reviewed and remediated and is now considered resolved.\n + ``SUPPRESSED`` - Indicates that you reviewed the finding and don't believe that any action is needed. The finding is no longer updated.", "type": "string", "enum": [ "NEW", @@ -335,7 +335,7 @@ "RESOLVED", "SUPPRESSED" ], - "markdownDescription": "The status of the investigation into the finding. The workflow status is specific to an individual finding. It does not affect the generation of new findings. For example, setting the workflow status to ``SUPPRESSED`` or ``RESOLVED`` does not prevent a new finding for the same issue.\n The allowed values are the following.\n + ``NEW`` - The initial state of a finding, before it is reviewed.\n Security Hub also resets ``WorkFlowStatus`` from ``NOTIFIED`` or ``RESOLVED`` to ``NEW`` in the following cases:\n + The record state changes from ``ARCHIVED`` to ``ACTIVE``.\n + The compliance status changes from ``PASSED`` to either ``WARNING``, ``FAILED``, or ``NOT_AVAILABLE``.\n \n + ``NOTIFIED`` - Indicates that you notified the resource owner about the security issue. Used when the initial reviewer is not the resource owner, and needs intervention from the resource owner.\n + ``RESOLVED`` - The finding was reviewed and remediated and is now considered resolved.\n + ``SUPPRESSED`` - Indicates that you reviewed the finding and do not believe that any action is needed. The finding is no longer updated.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: NEW | NOTIFIED | RESOLVED | SUPPRESSED \nUpdate requires: No interruption" + "markdownDescription": "The status of the investigation into the finding. The workflow status is specific to an individual finding. It does not affect the generation of new findings. For example, setting the workflow status to ``SUPPRESSED`` or ``RESOLVED`` does not prevent a new finding for the same issue.\n The allowed values are the following.\n + ``NEW`` - The initial state of a finding, before it is reviewed.\n Security Hub also resets ``WorkFlowStatus`` from ``NOTIFIED`` or ``RESOLVED`` to ``NEW`` in the following cases:\n + The record state changes from ``ARCHIVED`` to ``ACTIVE``.\n + The compliance status changes from ``PASSED`` to either ``WARNING``, ``FAILED``, or ``NOT_AVAILABLE``.\n \n + ``NOTIFIED`` - Indicates that you notified the resource owner about the security issue. Used when the initial reviewer is not the resource owner, and needs intervention from the resource owner.\n + ``RESOLVED`` - The finding was reviewed and remediated and is now considered resolved.\n + ``SUPPRESSED`` - Indicates that you reviewed the finding and don't believe that any action is needed. The finding is no longer updated.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: NEW | NOTIFIED | RESOLVED | SUPPRESSED \nUpdate requires: No interruption" } }, "required": [ @@ -367,8 +367,8 @@ }, "Normalized": { "$ref": "#/definitions/int100", - "description": "The normalized severity for the finding. This attribute is to be deprecated in favor of ``Label``.\n If you provide ``Normalized`` and do not provide ``Label``, ``Label`` is set automatically as follows.\n + 0 - ``INFORMATIONAL`` \n + 1\u201339 - ``LOW`` \n + 40\u201369 - ``MEDIUM`` \n + 70\u201389 - ``HIGH`` \n + 90\u2013100 - ``CRITICAL``", - "markdownDescription": "The normalized severity for the finding. This attribute is to be deprecated in favor of ``Label``.\n If you provide ``Normalized`` and do not provide ``Label``, ``Label`` is set automatically as follows.\n + 0 - ``INFORMATIONAL`` \n + 1\u201339 - ``LOW`` \n + 40\u201369 - ``MEDIUM`` \n + 70\u201389 - ``HIGH`` \n + 90\u2013100 - ``CRITICAL``\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "description": "The normalized severity for the finding. This attribute is to be deprecated in favor of ``Label``.\n If you provide ``Normalized`` and don't provide ``Label``, ``Label`` is set automatically as follows.\n + 0 - ``INFORMATIONAL`` \n + 1\u201339 - ``LOW`` \n + 40\u201369 - ``MEDIUM`` \n + 70\u201389 - ``HIGH`` \n + 90\u2013100 - ``CRITICAL``", + "markdownDescription": "The normalized severity for the finding. This attribute is to be deprecated in favor of ``Label``.\n If you provide ``Normalized`` and don't provide ``Label``, ``Label`` is set automatically as follows.\n + 0 - ``INFORMATIONAL`` \n + 1\u201339 - ``LOW`` \n + 40\u201369 - ``MEDIUM`` \n + 70\u201389 - ``HIGH`` \n + 90\u2013100 - ``CRITICAL``\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -447,16 +447,16 @@ "markdownDescription": "Identifies the finding fields that the automation rule action updates when a finding matches the defined criteria.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AutomationRulesAction": { - "description": "One or more actions to update finding fields if a finding matches the defined criteria of the rule.", + "description": "One or more actions that ASHlong takes when a finding matches the defined criteria of a rule.", "type": "object", "properties": { "Type": { - "description": "Specifies that the rule action should update the ``Types`` finding field. The ``Types`` finding field classifies findings in the format of namespace/category/classifier. For more information, see [Types taxonomy for ASFF](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format-type-taxonomy.html) in the *User Guide*.", + "description": "Specifies the type of action that Security Hub takes when a finding matches the defined criteria of a rule.", "type": "string", "enum": [ "FINDING_FIELDS_UPDATE" ], - "markdownDescription": "Specifies that the rule action should update the ``Types`` finding field. The ``Types`` finding field classifies findings in the format of namespace/category/classifier. For more information, see [Types taxonomy for ASFF](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format-type-taxonomy.html) in the *User Guide*.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: FINDING_FIELDS_UPDATE \nUpdate requires: No interruption" + "markdownDescription": "Specifies the type of action that Security Hub takes when a finding matches the defined criteria of a rule.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: FINDING_FIELDS_UPDATE \nUpdate requires: No interruption" }, "FindingFieldsUpdate": { "$ref": "#/definitions/AutomationRulesFindingFieldsUpdate", @@ -468,7 +468,7 @@ "Type", "FindingFieldsUpdate" ], - "markdownDescription": "One or more actions to update finding fields if a finding matches the defined criteria of the rule.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "One or more actions that ASHlong takes when a finding matches the defined criteria of a rule.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AutomationRulesFindingFilters": { "description": "The criteria that determine which findings a rule applies to.", diff --git a/server/schema/resources/aws-securityhub-configurationpolicy.json b/server/schema/resources/aws-securityhub-configurationpolicy.json index c062e453..d92f7586 100644 --- a/server/schema/resources/aws-securityhub-configurationpolicy.json +++ b/server/schema/resources/aws-securityhub-configurationpolicy.json @@ -8,7 +8,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^[a-zA-Z0-9]{1,128}$": { + "^(?!aws:)[a-zA-Z+-=._:/]{1,128}$": { "type": "string", "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", "minLength": 0, diff --git a/server/schema/resources/aws-securityhub-findingaggregator.json b/server/schema/resources/aws-securityhub-findingaggregator.json index fda64f8c..8b177559 100644 --- a/server/schema/resources/aws-securityhub-findingaggregator.json +++ b/server/schema/resources/aws-securityhub-findingaggregator.json @@ -20,7 +20,7 @@ "markdownDescription": "Indicates whether to aggregate findings from all of the available Regions in the current partition. Also determines whether to automatically aggregate findings from new Regions as Security Hub supports them and you opt into them.\n The selected option also determines how to use the Regions provided in the Regions list.\n The options are as follows:\n + ``ALL_REGIONS`` - Aggregates findings from all of the Regions where Security Hub is enabled. When you choose this option, Security Hub also automatically aggregates findings from new Regions as Security Hub supports them and you opt into them. \n + ``ALL_REGIONS_EXCEPT_SPECIFIED`` - Aggregates findings from all of the Regions where Security Hub is enabled, except for the Regions listed in the ``Regions`` parameter. When you choose this option, Security Hub also automatically aggregates findings from new Regions as Security Hub supports them and you opt into them. \n + ``SPECIFIED_REGIONS`` - Aggregates findings only from the Regions listed in the ``Regions`` parameter. Security Hub does not automatically aggregate findings from new Regions. \n + ``NO_REGIONS`` - Aggregates no data because no Regions are selected as linked Regions.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ALL_REGIONS | ALL_REGIONS_EXCEPT_SPECIFIED | SPECIFIED_REGIONS \nUpdate requires: No interruption" }, "Regions": { - "description": "If ``RegionLinkingMode`` is ``ALL_REGIONS_EXCEPT_SPECIFIED``, then this is a space-separated list of Regions that do not aggregate findings to the aggregation Region.\n If ``RegionLinkingMode`` is ``SPECIFIED_REGIONS``, then this is a space-separated list of Regions that do aggregate findings to the aggregation Region. \n An ``InvalidInputException`` error results if you populate this field while ``RegionLinkingMode`` is ``NO_REGIONS``.", + "description": "If ``RegionLinkingMode`` is ``ALL_REGIONS_EXCEPT_SPECIFIED``, then this is a space-separated list of Regions that don't replicate and send findings to the home Region.\n If ``RegionLinkingMode`` is ``SPECIFIED_REGIONS``, then this is a space-separated list of Regions that do replicate and send findings to the home Region. \n An ``InvalidInputException`` error results if you populate this field while ``RegionLinkingMode`` is ``NO_REGIONS``.", "type": "array", "insertionOrder": false, "uniqueItems": true, @@ -29,7 +29,7 @@ "items": { "$ref": "#/definitions/Region" }, - "markdownDescription": "If ``RegionLinkingMode`` is ``ALL_REGIONS_EXCEPT_SPECIFIED``, then this is a space-separated list of Regions that do not aggregate findings to the aggregation Region.\n If ``RegionLinkingMode`` is ``SPECIFIED_REGIONS``, then this is a space-separated list of Regions that do aggregate findings to the aggregation Region. \n An ``InvalidInputException`` error results if you populate this field while ``RegionLinkingMode`` is ``NO_REGIONS``.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "If ``RegionLinkingMode`` is ``ALL_REGIONS_EXCEPT_SPECIFIED``, then this is a space-separated list of Regions that don't replicate and send findings to the home Region.\n If ``RegionLinkingMode`` is ``SPECIFIED_REGIONS``, then this is a space-separated list of Regions that do replicate and send findings to the home Region. \n An ``InvalidInputException`` error results if you populate this field while ``RegionLinkingMode`` is ``NO_REGIONS``.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-securitylake-datalake.json b/server/schema/resources/aws-securitylake-datalake.json index cf527ff4..41dc711c 100644 --- a/server/schema/resources/aws-securitylake-datalake.json +++ b/server/schema/resources/aws-securitylake-datalake.json @@ -96,7 +96,7 @@ "insertionOrder": false, "items": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^(af|ap|ca|eu|me|sa|us)-(central|north|(north(?:east|west))|south|south(?:east|west)|east|west)-\\d+$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^(us(-gov)?|af|ap|ca|eu|me|sa)-(central|north|(north(?:east|west))|south|south(?:east|west)|east|west)-\\d+$ \nUpdate requires: No interruption" }, "markdownDescription": "Replication enables automatic, asynchronous copying of objects across Amazon S3 buckets. Amazon S3 buckets that are configured for object replication can be owned by the same AWS account or by different accounts. You can replicate objects to a single destination bucket or to multiple destination buckets. The destination buckets can be in different AWS Regions or within the same Region as the source bucket.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, @@ -163,7 +163,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "securitylake:TagResource", + "securitylake:UntagResource", + "securitylake:ListTagsForResource" + ] }, "replacementStrategy": "delete_then_create", "handlers": { diff --git a/server/schema/resources/aws-securitylake-subscriber.json b/server/schema/resources/aws-securitylake-subscriber.json index 590096a9..a2a523ce 100644 --- a/server/schema/resources/aws-securitylake-subscriber.json +++ b/server/schema/resources/aws-securitylake-subscriber.json @@ -179,7 +179,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "securitylake:TagResource", + "securitylake:UntagResource", + "securitylake:ListTagsForResource" + ] }, "required": [ "AccessTypes", @@ -210,6 +215,7 @@ "securitylake:CreateDataLake", "securitylake:TagResource", "securitylake:GetSubscriber", + "securitylake:ListSubscribers", "securitylake:ListTagsForResource", "iam:GetRole", "iam:GetRolePolicy", diff --git a/server/schema/resources/aws-servicediscovery-service.json b/server/schema/resources/aws-servicediscovery-service.json index 6fe6fafc..c70b29ec 100644 --- a/server/schema/resources/aws-servicediscovery-service.json +++ b/server/schema/resources/aws-servicediscovery-service.json @@ -17,6 +17,10 @@ "DnsConfig": { "$ref": "#/definitions/DnsConfig" }, + "ServiceAttributes": { + "type": "object", + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "NamespaceId": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" diff --git a/server/schema/resources/aws-ses-configurationset.json b/server/schema/resources/aws-ses-configurationset.json index 0794e3e5..5abcfb0a 100644 --- a/server/schema/resources/aws-ses-configurationset.json +++ b/server/schema/resources/aws-ses-configurationset.json @@ -12,6 +12,11 @@ "type": "string", "description": "The domain to use for tracking open and click events.", "markdownDescription": "The domain to use for tracking open and click events.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "HttpsPolicy": { + "type": "string", + "description": "The https policy to use for tracking open and click events.", + "markdownDescription": "The https policy to use for tracking open and click events.\n\n---\n\nRequired: No \nType: String \nPattern: REQUIRE|REQUIRE_OPEN_ONLY|OPTIONAL \nUpdate requires: No interruption" } }, "markdownDescription": "An object that defines the open and click tracking options for emails that you send using the configuration set.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -30,6 +35,13 @@ "type": "string", "description": "The name of the dedicated IP pool to associate with the configuration set.", "markdownDescription": "The name of the dedicated IP pool to associate with the configuration set.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "MaxDeliverySeconds": { + "type": "number", + "description": "Specifies the maximum time until which SES will retry sending emails", + "minimum": 300, + "maximum": 50400, + "markdownDescription": "Specifies the maximum time until which SES will retry sending emails\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" } }, "markdownDescription": "An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set.\n\n---\n\nRequired: No \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-ses-mailmanagerruleset.json b/server/schema/resources/aws-ses-mailmanagerruleset.json index 034b00e7..8aa4b1a3 100644 --- a/server/schema/resources/aws-ses-mailmanagerruleset.json +++ b/server/schema/resources/aws-ses-mailmanagerruleset.json @@ -100,6 +100,39 @@ "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "DeliverToQBusinessAction": { + "type": "object", + "properties": { + "ActionFailurePolicy": { + "$ref": "#/definitions/ActionFailurePolicy" + }, + "ApplicationId": { + "type": "string", + "maxLength": 36, + "minLength": 36, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 36 \nMaximum Length: 36 \nPattern: ^[a-z0-9-]+$ \nUpdate requires: No interruption" + }, + "IndexId": { + "type": "string", + "maxLength": 36, + "minLength": 36, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 36 \nMaximum Length: 36 \nPattern: ^[a-z0-9-]+$ \nUpdate requires: No interruption" + }, + "RoleArn": { + "type": "string", + "maxLength": 2048, + "minLength": 20, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^[a-zA-Z0-9:_/+=,@.#-]+$ \nUpdate requires: No interruption" + } + }, + "required": [ + "ApplicationId", + "IndexId", + "RoleArn" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "DropAction": { "type": "object", "additionalProperties": false, @@ -303,6 +336,19 @@ "DeliverToMailbox" ], "additionalProperties": false + }, + { + "type": "object", + "title": "DeliverToQBusiness", + "properties": { + "DeliverToQBusiness": { + "$ref": "#/definitions/DeliverToQBusinessAction" + } + }, + "required": [ + "DeliverToQBusiness" + ], + "additionalProperties": false } ] }, diff --git a/server/schema/resources/aws-ses-receiptrule.json b/server/schema/resources/aws-ses-receiptrule.json index d627bf4f..743ad557 100644 --- a/server/schema/resources/aws-ses-receiptrule.json +++ b/server/schema/resources/aws-ses-receiptrule.json @@ -16,10 +16,32 @@ } }, "definitions": { + "ConnectAction": { + "type": "object", + "additionalProperties": false, + "properties": { + "InstanceARN": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "IAMRoleARN": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "InstanceARN", + "IAMRoleARN" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "Action": { "type": "object", "additionalProperties": false, "properties": { + "ConnectAction": { + "$ref": "#/definitions/ConnectAction" + }, "BounceAction": { "$ref": "#/definitions/BounceAction" }, diff --git a/server/schema/resources/aws-sns-topic.json b/server/schema/resources/aws-sns-topic.json index ba42d704..344b3929 100644 --- a/server/schema/resources/aws-sns-topic.json +++ b/server/schema/resources/aws-sns-topic.json @@ -12,26 +12,6 @@ "KmsMasterKeyId": { "description": "The ID of an AWS managed customer master key (CMK) for SNS or a custom CMK. For more information, see [Key terms](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms). For more examples, see ``KeyId`` in the *API Reference*.\n This property applies only to [server-side-encryption](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html).", "type": "string", - "anyOf": [ - { - "relationshipRef": { - "typeName": "AWS::KMS::Key", - "propertyPath": "/properties/Arn" - } - }, - { - "relationshipRef": { - "typeName": "AWS::KMS::Key", - "propertyPath": "/properties/KeyId" - } - }, - { - "relationshipRef": { - "typeName": "AWS::KMS::Alias", - "propertyPath": "/properties/AliasName" - } - } - ], "markdownDescription": "The ID of an AWS managed customer master key (CMK) for SNS or a custom CMK. For more information, see [Key terms](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms). For more examples, see ``KeyId`` in the *API Reference*.\n This property applies only to [server-side-encryption](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DataProtectionPolicy": { @@ -129,20 +109,6 @@ "properties": { "Endpoint": { "type": "string", - "anyOf": [ - { - "relationshipRef": { - "typeName": "AWS::Lambda::Function", - "propertyPath": "/properties/Arn" - } - }, - { - "relationshipRef": { - "typeName": "AWS::SQS::Queue", - "propertyPath": "/properties/Arn" - } - } - ], "description": "The endpoint that receives notifications from the SNS topic. The endpoint value depends on the protocol that you specify. For more information, see the ``Endpoint`` parameter of the ``Subscribe`` action in the *API Reference*.", "markdownDescription": "The endpoint that receives notifications from the SNS topic. The endpoint value depends on the protocol that you specify. For more information, see the ``Endpoint`` parameter of the ``Subscribe`` action in the *API Reference*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, diff --git a/server/schema/resources/aws-sqs-queue.json b/server/schema/resources/aws-sqs-queue.json index 1d52a565..794a1102 100644 --- a/server/schema/resources/aws-sqs-queue.json +++ b/server/schema/resources/aws-sqs-queue.json @@ -1,6 +1,6 @@ { "typeName": "AWS::SQS::Queue", - "description": "The ``AWS::SQS::Queue`` resource creates an SQS standard or FIFO queue.\n Keep the following caveats in mind:\n + If you don't specify the ``FifoQueue`` property, SQS creates a standard queue.\n You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see [Moving from a standard queue to a FIFO queue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-moving.html) in the *Developer Guide*. \n + If you don't provide a value for a property, the queue is created with the default value for the property.\n + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.\n + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues.\n \n For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/screate-queue-cloudformation.html) in the *Developer Guide*.", + "description": "The ``AWS::SQS::Queue`` resource creates an SQS standard or FIFO queue.\n Keep the following caveats in mind:\n + If you don't specify the ``FifoQueue`` property, SQS creates a standard queue.\n You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see [Moving from a standard queue to a FIFO queue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-moving.html) in the *Developer Guide*. \n + If you don't provide a value for a property, the queue is created with the default value for the property.\n + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.\n + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues.\n \n For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/create-queue-cloudformation.html) in the *Developer Guide*.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sqs.git", "definitions": { "Tag": { @@ -44,8 +44,8 @@ }, "FifoQueue": { "type": "boolean", - "description": "If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*.", - "markdownDescription": "If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + "description": "If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*.", + "markdownDescription": "If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" }, "FifoThroughputLimit": { "description": "For high throughput for FIFO queues, specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are ``perQueue`` and ``perMessageGroupId``.\n To enable high throughput for a FIFO queue, set this attribute to ``perMessageGroupId`` *and* set the ``DeduplicationScope`` attribute to ``messageGroup``. If you set these attributes to anything other than these values, normal throughput is in effect and deduplication occurs as specified. For more information, see [High throughput for FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html) and [Quotas related to messages](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) in the *Developer Guide*.", @@ -59,8 +59,8 @@ }, "KmsMasterKeyId": { "type": "string", - "description": "The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following:\n + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* \n + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* \n + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* \n + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper", - "markdownDescription": "The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following:\n + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* \n + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* \n + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* \n + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following:\n + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* \n + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* \n + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* \n + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide*", + "markdownDescription": "The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following:\n + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* \n + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* \n + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* \n + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide*\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "SqsManagedSseEnabled": { "type": "boolean", @@ -79,8 +79,8 @@ }, "QueueName": { "type": "string", - "description": "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*.\n If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", - "markdownDescription": "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*.\n If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "description": "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*.\n If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "markdownDescription": "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*.\n If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "ReceiveMessageWaitTimeSeconds": { "type": "integer", @@ -92,16 +92,16 @@ "object", "string" ], - "description": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n + ``denyAll``: No source queues can specify this queue as the dead-letter queue.\n + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue.\n \n + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``.", - "markdownDescription": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n + ``denyAll``: No source queues can specify this queue as the dead-letter queue.\n + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue.\n \n + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``.\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" + "description": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n + ``denyAll``: No source queues can specify this queue as the dead-letter queue.\n + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue.\n \n + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``.", + "markdownDescription": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n + ``denyAll``: No source queues can specify this queue as the dead-letter queue.\n + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue.\n \n + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``.\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" }, "RedrivePolicy": { "type": [ "object", "string" ], - "description": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded.\n + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue.\n \n The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.\n *JSON* \n ``{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }`` \n *YAML* \n ``deadLetterTargetArn : String`` \n ``maxReceiveCount : Integer``", - "markdownDescription": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded.\n + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue.\n \n The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.\n *JSON* \n ``{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }`` \n *YAML* \n ``deadLetterTargetArn : String`` \n ``maxReceiveCount : Integer``\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" + "description": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded.\n + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue.\n \n The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.\n *JSON* \n ``{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }`` \n *YAML* \n ``deadLetterTargetArn : String`` \n ``maxReceiveCount : Integer``", + "markdownDescription": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded.\n + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue.\n \n The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.\n *JSON* \n ``{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }`` \n *YAML* \n ``deadLetterTargetArn : String`` \n ``maxReceiveCount : Integer``\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" }, "Tags": { "type": "array", diff --git a/server/schema/resources/aws-sqs-queuepolicy.json b/server/schema/resources/aws-sqs-queuepolicy.json index 77b2c28d..7951f4f4 100644 --- a/server/schema/resources/aws-sqs-queuepolicy.json +++ b/server/schema/resources/aws-sqs-queuepolicy.json @@ -19,20 +19,6 @@ "insertionOrder": false, "items": { "type": "string", - "anyOf": [ - { - "relationshipRef": { - "typeName": "AWS::SQS::Queue", - "propertyPath": "/properties/QueueUrl" - } - }, - { - "relationshipRef": { - "typeName": "AWS::SQS::Queue", - "propertyPath": "/properties/QueueName" - } - } - ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "markdownDescription": "The URLs of the queues to which you want to add the policy. You can use the ``Ref`` function to specify an ``AWS::SQS::Queue`` resource.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-ssm-resourcepolicy.json b/server/schema/resources/aws-ssm-resourcepolicy.json index 3f3972df..4db3905d 100644 --- a/server/schema/resources/aws-ssm-resourcepolicy.json +++ b/server/schema/resources/aws-ssm-resourcepolicy.json @@ -49,11 +49,13 @@ }, "update": { "permissions": [ + "ssm:GetResourcePolicies", "ssm:PutResourcePolicy" ] }, "delete": { "permissions": [ + "ssm:GetResourcePolicies", "ssm:DeleteResourcePolicy" ] }, diff --git a/server/schema/resources/aws-ssmquicksetup-configurationmanager.json b/server/schema/resources/aws-ssmquicksetup-configurationmanager.json index b9ef833f..d364c237 100644 --- a/server/schema/resources/aws-ssmquicksetup-configurationmanager.json +++ b/server/schema/resources/aws-ssmquicksetup-configurationmanager.json @@ -129,11 +129,11 @@ "TagsMap": { "type": "object", "patternProperties": { - "^[A-Za-z0-9+=@_\\/:-]+$": { + "^[A-Za-z0-9 +=@_\\/:.-]+$": { "type": "string", "maxLength": 256, "minLength": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^[A-Za-z0-9+=@_\\/:-]+$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^[A-Za-z0-9 +=@_\\/:.-]+$ \nUpdate requires: No interruption" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-stepfunctions-statemachineversion.json b/server/schema/resources/aws-stepfunctions-statemachineversion.json index b01af9fe..3f611147 100644 --- a/server/schema/resources/aws-stepfunctions-statemachineversion.json +++ b/server/schema/resources/aws-stepfunctions-statemachineversion.json @@ -20,7 +20,7 @@ "type": "string", "minLength": 1, "maxLength": 2048, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: Replacement" } }, "required": [ @@ -35,7 +35,8 @@ ], "createOnlyProperties": [ "/properties/StateMachineArn", - "/properties/StateMachineRevisionId" + "/properties/StateMachineRevisionId", + "/properties/Description" ], "writeOnlyProperties": [ "/properties/StateMachineArn" diff --git a/server/schema/resources/aws-synthetics-canary.json b/server/schema/resources/aws-synthetics-canary.json index 2fd2da39..a403c83c 100644 --- a/server/schema/resources/aws-synthetics-canary.json +++ b/server/schema/resources/aws-synthetics-canary.json @@ -89,6 +89,15 @@ "$ref": "#/definitions/ResourceToTag" }, "markdownDescription": "List of resources which canary tags should be replicated to.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ProvisionedResourceCleanup": { + "description": "Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC.", + "type": "string", + "enum": [ + "AUTOMATIC", + "OFF" + ], + "markdownDescription": "Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AUTOMATIC | OFF \nUpdate requires: No interruption" } }, "definitions": { @@ -206,6 +215,11 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "Ipv6AllowedForDualStack": { + "description": "Allow outbound IPv6 traffic on VPC canaries that are connected to dual-stack subnets if set to true", + "type": "boolean", + "markdownDescription": "Allow outbound IPv6 traffic on VPC canaries that are connected to dual-stack subnets if set to true\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ @@ -360,6 +374,7 @@ "lambda:CreateFunction", "lambda:AddPermission", "lambda:PublishVersion", + "lambda:UpdateFunctionCode", "lambda:UpdateFunctionConfiguration", "lambda:GetFunctionConfiguration", "lambda:GetLayerVersionByArn", @@ -387,6 +402,7 @@ "s3:GetBucketLocation", "lambda:AddPermission", "lambda:PublishVersion", + "lambda:UpdateFunctionCode", "lambda:UpdateFunctionConfiguration", "lambda:GetFunctionConfiguration", "lambda:GetLayerVersionByArn", @@ -395,7 +411,10 @@ "lambda:ListTags", "lambda:TagResource", "lambda:UntagResource", - "iam:PassRole" + "iam:PassRole", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeSecurityGroups" ] }, "read": { @@ -411,7 +430,9 @@ "delete": { "permissions": [ "synthetics:DeleteCanary", - "synthetics:GetCanary" + "synthetics:GetCanary", + "lambda:DeleteFunction", + "lambda:DeleteLayerVersion" ] }, "list": { diff --git a/server/schema/resources/aws-transfer-server.json b/server/schema/resources/aws-transfer-server.json index 13f5b589..5458cdd4 100644 --- a/server/schema/resources/aws-transfer-server.json +++ b/server/schema/resources/aws-transfer-server.json @@ -1,284 +1,528 @@ { "typeName": "AWS::Transfer::Server", - "description": "Resource Type definition for AWS::Transfer::Server", - "additionalProperties": false, - "properties": { - "LoggingRole": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Protocols": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "StructuredLogDestinations": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/StructuredLogDestination" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "PreAuthenticationLoginBanner": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "PostAuthenticationLoginBanner": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "EndpointType": { + "description": "Definition of AWS::Transfer::Server Resource Type", + "definitions": { + "As2Transport": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "enum": [ + "HTTP" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: HTTP \nUpdate requires: No interruption" }, - "SecurityPolicyName": { + "DirectoryListingOptimization": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" + "description": "Indicates whether optimization to directory listing on S3 servers is used. Disabled by default for compatibility.", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "Indicates whether optimization to directory listing on S3 servers is used. Disabled by default for compatibility.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" }, "Domain": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, - "IdentityProviderType": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "enum": [ + "S3", + "EFS" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: S3 | EFS \nUpdate requires: No interruption" }, - "Tags": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/Tag" + "EndpointDetails": { + "type": "object", + "properties": { + "AddressAllocationIds": { + "type": "array", + "insertionOrder": true, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SubnetIds": { + "type": "array", + "insertionOrder": true, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "VpcEndpointId": { + "type": "string", + "maxLength": 22, + "minLength": 22, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 22 \nMaximum Length: 22 \nPattern: ^vpce-[0-9a-f]{17}$ \nUpdate requires: No interruption" + }, + "VpcId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SecurityGroupIds": { + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "maxLength": 20, + "minLength": 11, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 11 \nMaximum Length: 20 \nPattern: ^sg-[0-9a-f]{8,17}$ \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: Some interruptions" }, - "Certificate": { + "EndpointType": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "definitions": { - "StructuredLogDestination": { - "type": "object", - "additionalProperties": false, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "enum": [ + "PUBLIC", + "VPC", + "VPC_ENDPOINT" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: PUBLIC | VPC | VPC_ENDPOINT \nUpdate requires: No interruption" }, "IdentityProviderDetails": { "type": "object", - "additionalProperties": false, "properties": { - "Function": { + "Url": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "maxLength": 255, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" }, - "DirectoryId": { + "InvocationRole": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "maxLength": 2048, + "minLength": 20, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^arn:.*role/\\S+$ \nUpdate requires: No interruption" }, - "Url": { + "DirectoryId": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "maxLength": 12, + "minLength": 12, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 12 \nMaximum Length: 12 \nPattern: ^d-[0-9a-f]{10}$ \nUpdate requires: No interruption" }, - "InvocationRole": { + "Function": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "maxLength": 170, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 170 \nPattern: ^arn:[a-z-]+:lambda:.*$ \nUpdate requires: No interruption" }, "SftpAuthenticationMethods": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "$ref": "#/definitions/SftpAuthenticationMethods" } }, + "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "IdentityProviderType": { + "type": "string", + "enum": [ + "SERVICE_MANAGED", + "API_GATEWAY", + "AWS_DIRECTORY_SERVICE", + "AWS_LAMBDA" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SERVICE_MANAGED | API_GATEWAY | AWS_DIRECTORY_SERVICE | AWS_LAMBDA \nUpdate requires: No interruption" + }, + "Protocol": { + "type": "string", + "enum": [ + "SFTP", + "FTP", + "FTPS", + "AS2" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SFTP | FTP | FTPS | AS2 \nUpdate requires: No interruption" + }, "ProtocolDetails": { "type": "object", - "additionalProperties": false, "properties": { + "PassiveIp": { + "type": "string", + "maxLength": 15, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 15 \nUpdate requires: No interruption" + }, + "TlsSessionResumptionMode": { + "$ref": "#/definitions/TlsSessionResumptionMode" + }, + "SetStatOption": { + "$ref": "#/definitions/SetStatOption" + }, "As2Transports": { "type": "array", - "uniqueItems": false, + "insertionOrder": false, "items": { "$ref": "#/definitions/As2Transport" }, + "maxItems": 1, + "minItems": 1, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "PassiveIp": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "SetStatOption": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "TlsSessionResumptionMode": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, + "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "S3StorageOptions": { "type": "object", - "additionalProperties": false, "properties": { "DirectoryListingOptimization": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "$ref": "#/definitions/DirectoryListingOptimization" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "WorkflowDetails": { - "type": "object", "additionalProperties": false, - "properties": { - "OnUpload": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "OnPartialUpload": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - } - }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "WorkflowDetail": { + "SetStatOption": { + "type": "string", + "enum": [ + "DEFAULT", + "ENABLE_NO_OP" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DEFAULT | ENABLE_NO_OP \nUpdate requires: No interruption" + }, + "SftpAuthenticationMethods": { + "type": "string", + "enum": [ + "PASSWORD", + "PUBLIC_KEY", + "PUBLIC_KEY_OR_PASSWORD", + "PUBLIC_KEY_AND_PASSWORD" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: PASSWORD | PUBLIC_KEY | PUBLIC_KEY_OR_PASSWORD | PUBLIC_KEY_AND_PASSWORD \nUpdate requires: No interruption" + }, + "State": { + "type": "string", + "enum": [ + "OFFLINE", + "ONLINE", + "STARTING", + "STOPPING", + "START_FAILED", + "STOP_FAILED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: OFFLINE | ONLINE | STARTING | STOPPING | START_FAILED | STOP_FAILED \nUpdate requires: No interruption" + }, + "Tag": { "type": "object", - "additionalProperties": false, "properties": { - "WorkflowId": { + "Key": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "maxLength": 128, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" }, - "ExecutionRole": { + "Value": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "maxLength": 256, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" } }, "required": [ - "WorkflowId", - "ExecutionRole" + "Key", + "Value" ], + "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Tag": { + "TlsSessionResumptionMode": { + "type": "string", + "enum": [ + "DISABLED", + "ENABLED", + "ENFORCED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISABLED | ENABLED | ENFORCED \nUpdate requires: No interruption" + }, + "WorkflowDetail": { "type": "object", - "additionalProperties": false, "properties": { - "Value": { + "WorkflowId": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "maxLength": 19, + "minLength": 19, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 19 \nMaximum Length: 19 \nPattern: ^w-([a-z0-9]{17})$ \nUpdate requires: No interruption" }, - "Key": { + "ExecutionRole": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "maxLength": 2048, + "minLength": 20, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^arn:.*role/\\S+$ \nUpdate requires: No interruption" } }, "required": [ - "Value", - "Key" + "ExecutionRole", + "WorkflowId" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Protocol": { - "type": "object", "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "EndpointDetails": { + "WorkflowDetails": { "type": "object", - "additionalProperties": false, "properties": { - "AddressAllocationIds": { - "type": "array", - "uniqueItems": false, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "VpcId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "VpcEndpointId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "SecurityGroupIds": { + "OnUpload": { "type": "array", - "uniqueItems": false, + "insertionOrder": true, "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "$ref": "#/definitions/WorkflowDetail" }, + "maxItems": 1, + "minItems": 0, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "SubnetIds": { + "OnPartialUpload": { "type": "array", - "uniqueItems": false, + "insertionOrder": true, "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "$ref": "#/definitions/WorkflowDetail" }, + "maxItems": 1, + "minItems": 0, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "As2Transport": { - "type": "object", "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "properties": { + "Certificate": { + "type": "string", + "maxLength": 1600, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1600 \nUpdate requires: No interruption" + }, + "Domain": { + "$ref": "#/definitions/Domain" + }, + "EndpointDetails": { + "$ref": "#/definitions/EndpointDetails" + }, + "EndpointType": { + "$ref": "#/definitions/EndpointType" + }, + "IdentityProviderDetails": { + "$ref": "#/definitions/IdentityProviderDetails" + }, + "IdentityProviderType": { + "$ref": "#/definitions/IdentityProviderType" + }, + "LoggingRole": { + "type": "string", + "maxLength": 2048, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nPattern: ^(|arn:.*role/\\S+)$ \nUpdate requires: No interruption" + }, + "PostAuthenticationLoginBanner": { + "type": "string", + "maxLength": 4096, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 4096 \nPattern: ^[\\x09-\\x0D\\x20-\\x7E]*$ \nUpdate requires: No interruption" + }, + "PreAuthenticationLoginBanner": { + "type": "string", + "maxLength": 4096, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 4096 \nPattern: ^[\\x09-\\x0D\\x20-\\x7E]*$ \nUpdate requires: No interruption" + }, + "ProtocolDetails": { + "$ref": "#/definitions/ProtocolDetails" + }, + "Protocols": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Protocol" + }, + "maxItems": 4, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "S3StorageOptions": { + "$ref": "#/definitions/S3StorageOptions" + }, + "SecurityPolicyName": { + "type": "string", + "maxLength": 100, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 100 \nPattern: ^TransferSecurityPolicy-.+$ \nUpdate requires: No interruption" + }, + "StructuredLogDestinations": { + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "maxLength": 1600, + "minLength": 20, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 1600 \nPattern: ^arn:\\S+$ \nUpdate requires: No interruption" + }, + "maxItems": 1, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Tags": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "WorkflowDetails": { + "$ref": "#/definitions/WorkflowDetails" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/As2ServiceManagedEgressIpAddresses", + "/properties/ServerId", + "/properties/State" + ], + "writeOnlyProperties": [ + "/properties/IdentityProviderType" + ], "createOnlyProperties": [ - "/properties/IdentityProviderType", - "/properties/Domain" + "/properties/Domain", + "/properties/IdentityProviderType" ], "primaryIdentifier": [ - "/properties/ServerId" - ], - "readOnlyProperties": [ - "/properties/ServerId", "/properties/Arn" ], + "additionalIdentifiers": [ + [ + "/properties/ServerId" + ] + ], + "handlers": { + "create": { + "permissions": [ + "apigateway:GET", + "ds:AuthorizeApplication", + "ds:DescribeDirectories", + "ec2:AssociateAddress", + "ec2:CreateVpcEndpoint", + "ec2:DescribeAddresses", + "ec2:DescribeNetworkInterfaces", + "ec2:DescribeVpcEndpoints", + "iam:PassRole", + "logs:CreateLogDelivery", + "logs:DeleteLogDelivery", + "logs:DescribeLogGroups", + "logs:DescribeResourcePolicies", + "logs:GetLogDelivery", + "logs:ListLogDeliveries", + "logs:PutResourcePolicy", + "logs:UpdateLogDelivery", + "transfer:CreateServer", + "transfer:DescribeServer", + "transfer:StartServer", + "transfer:StopServer", + "transfer:TagResource", + "transfer:UpdateServer" + ] + }, + "read": { + "permissions": [ + "ec2:DescribeVpcEndpoints", + "transfer:DescribeServer" + ] + }, + "update": { + "permissions": [ + "apigateway:GET", + "ec2:AssociateAddress", + "ec2:CreateVpcEndpoint", + "ec2:DeleteVpcEndpoints", + "ec2:DescribeAddresses", + "ec2:DescribeNetworkInterfaces", + "ec2:DescribeVpcEndpoints", + "ec2:DisassociateAddress", + "ec2:ModifyVpcEndpoint", + "iam:PassRole", + "logs:CreateLogDelivery", + "logs:DeleteLogDelivery", + "logs:DescribeLogGroups", + "logs:DescribeResourcePolicies", + "logs:GetLogDelivery", + "logs:ListLogDeliveries", + "logs:PutResourcePolicy", + "logs:UpdateLogDelivery", + "transfer:DescribeServer", + "transfer:StartServer", + "transfer:StopServer", + "transfer:TagResource", + "transfer:UnTagResource", + "transfer:UpdateServer" + ] + }, + "delete": { + "permissions": [ + "ds:DescribeDirectories", + "ds:UnauthorizeApplication", + "ec2:DeleteVpcEndpoints", + "ec2:DescribeAddresses", + "ec2:DescribeNetworkInterfaces", + "ec2:DescribeVpcEndpoints", + "ec2:DisassociateAddress", + "logs:DeleteLogDelivery", + "logs:GetLogDelivery", + "logs:ListLogDeliveries", + "transfer:DeleteServer" + ] + }, + "list": { + "permissions": [ + "transfer:ListServers" + ] + } + }, + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "transfer:TagResource", + "transfer:UnTagResource", + "transfer:ListTagsForResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/EndpointDetails", + "/properties/EndpointDetails/AddressAllocationIds" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", "attributes": { - "ServerId": { + "Arn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "maxLength": 1600, + "minLength": 20, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 1600 \nPattern: ^arn:\\S+$ \nUpdate requires: No interruption" }, - "Arn": { + "As2ServiceManagedEgressIpAddresses": { + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$ \nUpdate requires: No interruption" + }, + "description": "The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs. These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well.", + "markdownDescription": "The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs. These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ServerId": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "maxLength": 19, + "minLength": 19, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 19 \nMaximum Length: 19 \nPattern: ^s-([0-9a-f]{17})$ \nUpdate requires: No interruption" + }, + "State": { + "$ref": "#/definitions/State" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-transfer-user.json b/server/schema/resources/aws-transfer-user.json index 61c79fc1..354e7ffa 100644 --- a/server/schema/resources/aws-transfer-user.json +++ b/server/schema/resources/aws-transfer-user.json @@ -1,135 +1,177 @@ { "typeName": "AWS::Transfer::User", - "description": "Resource Type definition for AWS::Transfer::User", - "additionalProperties": false, - "properties": { - "Policy": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Role": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "HomeDirectory": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "Definition of AWS::Transfer::User Resource Type", + "definitions": { + "HomeDirectoryMapEntry": { + "type": "object", + "properties": { + "Entry": { + "type": "string", + "maxLength": 1024, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 1024 \nPattern: ^/.*$ \nUpdate requires: No interruption" + }, + "Target": { + "type": "string", + "maxLength": 1024, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 1024 \nPattern: ^/.*$ \nUpdate requires: No interruption" + }, + "Type": { + "$ref": "#/definitions/MapType" + } + }, + "required": [ + "Entry", + "Target" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "HomeDirectoryType": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "ServerId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "enum": [ + "PATH", + "LOGICAL" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: PATH | LOGICAL \nUpdate requires: No interruption" }, - "UserName": { + "MapType": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "HomeDirectoryMappings": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/HomeDirectoryMapEntry" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "PosixProfile": { - "$ref": "#/definitions/PosixProfile" - }, - "SshPublicKeys": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/SshPublicKey" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Tags": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - } - }, - "definitions": { - "SshPublicKey": { - "type": "object", - "additionalProperties": false, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "enum": [ + "FILE", + "DIRECTORY" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: FILE | DIRECTORY \nUpdate requires: No interruption" }, "PosixProfile": { "type": "object", - "additionalProperties": false, "properties": { "Uid": { "type": "number", + "maximum": 4294967295, + "minimum": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "Gid": { + "type": "number", + "maximum": 4294967295, + "minimum": 0, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, "SecondaryGids": { "type": "array", - "uniqueItems": false, + "insertionOrder": false, "items": { "type": "number", + "maximum": 4294967295, + "minimum": 0, "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, + "maxItems": 16, + "minItems": 0, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Gid": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" } }, "required": [ - "Uid", - "Gid" + "Gid", + "Uid" ], + "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { "type": "object", - "additionalProperties": false, "properties": { - "Value": { + "Key": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "maxLength": 128, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" }, - "Key": { + "Value": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "maxLength": 256, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" } }, "required": [ - "Value", - "Key" + "Key", + "Value" ], + "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "HomeDirectory": { + "type": "string", + "maxLength": 1024, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nPattern: ^(|/.*)$ \nUpdate requires: No interruption" }, - "HomeDirectoryMapEntry": { - "type": "object", - "additionalProperties": false, - "properties": { - "Entry": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "Target": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "Type": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } + "HomeDirectoryMappings": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/HomeDirectoryMapEntry" }, - "required": [ - "Entry", - "Target" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "maxItems": 50000, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "HomeDirectoryType": { + "$ref": "#/definitions/HomeDirectoryType" + }, + "Policy": { + "type": "string", + "maxLength": 2048, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "PosixProfile": { + "$ref": "#/definitions/PosixProfile" + }, + "Role": { + "type": "string", + "maxLength": 2048, + "minLength": 20, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^arn:.*role/\\S+$ \nUpdate requires: No interruption" + }, + "ServerId": { + "type": "string", + "maxLength": 19, + "minLength": 19, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 19 \nMaximum Length: 19 \nPattern: ^s-([0-9a-f]{17})$ \nUpdate requires: Replacement" + }, + "SshPublicKeys": { + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "maxLength": 2048, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nPattern: ^\\s*(ssh|ecdsa)-[a-z0-9-]+[ \\t]+(([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{1,3})?(={0,3})?)(\\s*|[ \\t]+[\\S \\t]*\\s*)$ \nUpdate requires: No interruption" + }, + "description": "This represents the SSH User Public Keys for CloudFormation resource", + "markdownDescription": "This represents the SSH User Public Keys for CloudFormation resource\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Tags": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "UserName": { + "type": "string", + "maxLength": 100, + "minLength": 3, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 3 \nMaximum Length: 100 \nPattern: ^[\\w][\\w@.-]{2,99}$ \nUpdate requires: Replacement" } }, "required": [ @@ -137,25 +179,89 @@ "ServerId", "UserName" ], + "readOnlyProperties": [ + "/properties/Arn" + ], "createOnlyProperties": [ "/properties/ServerId", "/properties/UserName" ], "primaryIdentifier": [ - "/properties/Id" - ], - "readOnlyProperties": [ - "/properties/Id", "/properties/Arn" ], - "attributes": { - "Id": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "additionalIdentifiers": [ + [ + "/properties/ServerId", + "/properties/UserName" + ] + ], + "handlers": { + "create": { + "permissions": [ + "iam:PassRole", + "transfer:CreateUser", + "transfer:DescribeUser", + "transfer:ImportSshPublicKey", + "transfer:TagResource" + ] + }, + "read": { + "permissions": [ + "transfer:DescribeUser" + ] }, + "update": { + "permissions": [ + "iam:PassRole", + "transfer:DeleteSshPublicKey", + "transfer:DescribeUser", + "transfer:ImportSshPublicKey", + "transfer:TagResource", + "transfer:UnTagResource", + "transfer:UpdateUser" + ] + }, + "delete": { + "permissions": [ + "transfer:DeleteUser" + ] + }, + "list": { + "permissions": [ + "transfer:ListUsers" + ], + "handlerSchema": { + "properties": { + "ServerId": { + "$ref": "resource-schema.json#/properties/ServerId" + } + }, + "required": [ + "ServerId" + ] + } + } + }, + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "transfer:TagResource", + "transfer:UnTagResource", + "transfer:ListTagsForResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "additionalProperties": false, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", + "attributes": { "Arn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "maxLength": 1600, + "minLength": 20, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 1600 \nPattern: ^arn:\\S+$ \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-voiceid-domain.json b/server/schema/resources/aws-voiceid-domain.json index 1c9783b8..f8719dc5 100644 --- a/server/schema/resources/aws-voiceid-domain.json +++ b/server/schema/resources/aws-voiceid-domain.json @@ -76,11 +76,6 @@ "readOnlyProperties": [ "/properties/DomainId" ], - "writeOnlyProperties": [ - "/properties/Description", - "/properties/Name", - "/properties/ServerSideEncryptionConfiguration" - ], "primaryIdentifier": [ "/properties/DomainId" ], @@ -89,7 +84,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "#/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "voiceid:TagResource", + "voiceid:UntagResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-vpclattice-accesslogsubscription.json b/server/schema/resources/aws-vpclattice-accesslogsubscription.json index d10fedc9..617f456e 100644 --- a/server/schema/resources/aws-vpclattice-accesslogsubscription.json +++ b/server/schema/resources/aws-vpclattice-accesslogsubscription.json @@ -37,8 +37,16 @@ "ResourceIdentifier": { "type": "string", "maxLength": 2048, - "minLength": 20, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^((((sn)|(svc))-[0-9a-z]{17})|(arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:((servicenetwork/sn)|(service/svc))-[0-9a-z]{17}))$ \nUpdate requires: Replacement" + "minLength": 17, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 17 \nMaximum Length: 2048 \nPattern: ^((((sn)|(svc)|(rcfg))-[0-9a-z]{17})|(arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:((servicenetwork/sn)|(resourceconfiguration/rcfg)|(service/svc))-[0-9a-z]{17}))$ \nUpdate requires: Replacement" + }, + "ServiceNetworkLogType": { + "type": "string", + "enum": [ + "SERVICE", + "RESOURCE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SERVICE | RESOURCE \nUpdate requires: No interruption" }, "Tags": { "type": "array", @@ -75,7 +83,9 @@ "/properties/Id" ], [ - "/properties/ResourceIdentifier" + "/properties/ResourceIdentifier", + "/properties/DestinationArn", + "/properties/ServiceNetworkLogType" ] ], "handlers": { diff --git a/server/schema/resources/aws-vpclattice-resourceconfiguration.json b/server/schema/resources/aws-vpclattice-resourceconfiguration.json new file mode 100644 index 00000000..ede412de --- /dev/null +++ b/server/schema/resources/aws-vpclattice-resourceconfiguration.json @@ -0,0 +1,272 @@ +{ + "tagging": { + "permissions": [ + "vpc-lattice:UntagResource", + "vpc-lattice:TagResource", + "vpc-lattice:ListTagsForResource" + ], + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": true + }, + "typeName": "AWS::VpcLattice::ResourceConfiguration", + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn" + ], + "description": "VpcLattice ResourceConfiguration CFN resource", + "createOnlyProperties": [ + "/properties/ResourceGatewayId", + "/properties/ResourceConfigurationType", + "/properties/ProtocolType", + "/properties/ResourceConfigurationAuthType" + ], + "primaryIdentifier": [ + "/properties/Arn" + ], + "required": [], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "handlers": { + "read": { + "permissions": [ + "vpc-lattice:GetResourceConfiguration", + "vpc-lattice:ListTagsForResource" + ] + }, + "create": { + "permissions": [ + "ec2:DescribeSubnets", + "vpc-lattice:CreateResourceConfiguration", + "vpc-lattice:GetResourceConfiguration", + "vpc-lattice:TagResource", + "vpc-lattice:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "ec2:DescribeSubnets", + "vpc-lattice:TagResource", + "vpc-lattice:UntagResource", + "vpc-lattice:ListTagsForResource", + "vpc-lattice:UpdateResourceConfiguration", + "vpc-lattice:GetResourceConfiguration" + ] + }, + "list": { + "permissions": [ + "vpc-lattice:ListResourceConfigurations" + ] + }, + "delete": { + "permissions": [ + "vpc-lattice:DeleteResourceConfiguration", + "vpc-lattice:GetResourceConfiguration", + "vpc-lattice:UntagResource" + ] + } + }, + "writeOnlyProperties": [ + "/properties/ResourceConfigurationAuthType", + "/properties/ResourceConfigurationGroupId" + ], + "additionalIdentifiers": [ + [ + "/properties/Id" + ] + ], + "additionalProperties": false, + "definitions": { + "IpResource": { + "minLength": 4, + "type": "string", + "maxLength": 39, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 4 \nMaximum Length: 39 \nUpdate requires: No interruption" + }, + "PortRange": { + "minLength": 1, + "type": "string", + "maxLength": 11, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 11 \nPattern: ^((\\d{1,5}\\-\\d{1,5})|(\\d+))$ \nUpdate requires: No interruption" + }, + "DnsResource": { + "additionalProperties": false, + "type": "object", + "properties": { + "IpAddressType": { + "type": "string", + "enum": [ + "IPV4", + "IPV6", + "DUALSTACK" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: IPV4 | IPV6 | DUALSTACK \nUpdate requires: No interruption" + }, + "DomainName": { + "minLength": 3, + "type": "string", + "maxLength": 255, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 3 \nMaximum Length: 255 \nUpdate requires: No interruption" + } + }, + "required": [ + "DomainName", + "IpAddressType" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ArnResource": { + "type": "string", + "maxLength": 1224, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1224 \nPattern: ^arn.* \nUpdate requires: No interruption" + }, + "Tag": { + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "minLength": 1, + "type": "string", + "maxLength": 256, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "Key": { + "minLength": 1, + "type": "string", + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Id": { + "minLength": 22, + "type": "string", + "maxLength": 22, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 22 \nMaximum Length: 22 \nPattern: ^rcfg-[0-9a-z]{17}$ \nUpdate requires: No interruption" + } + }, + "properties": { + "AllowAssociationToSharableServiceNetwork": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "ProtocolType": { + "type": "string", + "enum": [ + "TCP" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: TCP \nUpdate requires: Replacement" + }, + "ResourceConfigurationType": { + "type": "string", + "enum": [ + "GROUP", + "CHILD", + "SINGLE", + "ARN" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: GROUP | CHILD | SINGLE | ARN \nUpdate requires: Replacement" + }, + "PortRanges": { + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/PortRange" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ResourceConfigurationDefinition": { + "oneOf": [ + { + "additionalProperties": false, + "type": "object", + "title": "IpResource", + "properties": { + "IpResource": { + "$ref": "#/definitions/IpResource" + } + }, + "required": [ + "IpResource" + ] + }, + { + "additionalProperties": false, + "type": "object", + "title": "ArnResource", + "properties": { + "ArnResource": { + "$ref": "#/definitions/ArnResource" + } + }, + "required": [ + "ArnResource" + ] + }, + { + "additionalProperties": false, + "type": "object", + "title": "DnsResource", + "properties": { + "DnsResource": { + "$ref": "#/definitions/DnsResource" + } + }, + "required": [ + "DnsResource" + ] + } + ], + "type": "object", + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ResourceGatewayId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "ResourceConfigurationAuthType": { + "type": "string", + "enum": [ + "NONE", + "AWS_IAM" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: NONE | AWS_IAM \nUpdate requires: Replacement" + }, + "ResourceConfigurationGroupId": { + "$ref": "#/definitions/Id" + }, + "Tags": { + "minItems": 0, + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Name": { + "minLength": 3, + "type": "string", + "maxLength": 40, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 3 \nMaximum Length: 40 \nPattern: ^(?!rcfg-)(?![-])(?!.*[-]$)(?!.*[-]{2})[a-z0-9-]+$ \nUpdate requires: No interruption" + } + }, + "attributes": { + "Id": { + "$ref": "#/definitions/Id" + }, + "Arn": { + "minLength": 20, + "type": "string", + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^arn:[a-z0-9f\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourceconfiguration/rcfg-[0-9a-z]{17}$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-vpclattice-resourcegateway.json b/server/schema/resources/aws-vpclattice-resourcegateway.json new file mode 100644 index 00000000..bc806315 --- /dev/null +++ b/server/schema/resources/aws-vpclattice-resourcegateway.json @@ -0,0 +1,195 @@ +{ + "tagging": { + "permissions": [ + "vpc-lattice:UntagResource", + "vpc-lattice:TagResource", + "vpc-lattice:ListTagsForResource" + ], + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": false + }, + "handlers": { + "read": { + "permissions": [ + "vpc-lattice:GetResourceGateway", + "vpc-lattice:ListTagsForResource" + ] + }, + "create": { + "permissions": [ + "vpc-lattice:CreateResourceGateway", + "vpc-lattice:GetResourceGateway", + "vpc-lattice:TagResource", + "vpc-lattice:ListTagsForResource", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeSecurityGroups" + ] + }, + "update": { + "permissions": [ + "vpc-lattice:UpdateResourceGateway", + "vpc-lattice:GetResourceGateway", + "vpc-lattice:TagResource", + "vpc-lattice:UntagResource", + "vpc-lattice:ListTagsForResource", + "ec2:DescribeVpcs", + "ec2:DescribeSubnets", + "ec2:DescribeSecurityGroups" + ] + }, + "list": { + "permissions": [ + "vpc-lattice:ListResourceGateways" + ] + }, + "delete": { + "permissions": [ + "vpc-lattice:DeleteResourceGateway", + "vpc-lattice:GetResourceGateway" + ] + } + }, + "typeName": "AWS::VpcLattice::ResourceGateway", + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn" + ], + "description": "Creates a resource gateway for a service. ", + "additionalIdentifiers": [ + [ + "/properties/Id" + ] + ], + "createOnlyProperties": [ + "/properties/VpcIdentifier", + "/properties/SubnetIds", + "/properties/IpAddressType", + "/properties/Name" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/Arn" + ], + "definitions": { + "Tag": { + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "minLength": 1, + "type": "string", + "maxLength": 256, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "Key": { + "minLength": 1, + "type": "string", + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "IpAddressType": { + "type": "string", + "enum": [ + "IPV4", + "IPV6", + "DUALSTACK" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: IPV4 | IPV6 | DUALSTACK \nUpdate requires: Replacement" + }, + "VpcIdentifier": { + "minLength": 5, + "type": "string", + "maxLength": 50, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 5 \nMaximum Length: 50 \nUpdate requires: Replacement" + }, + "SubnetIds": { + "uniqueItems": true, + "description": "The ID of one or more subnets in which to create an endpoint network interface.", + "insertionOrder": false, + "type": "array", + "items": { + "relationshipRef": { + "typeName": "AWS::EC2::Subnet", + "propertyPath": "/properties/SubnetId" + }, + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The ID of one or more subnets in which to create an endpoint network interface.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + }, + "SecurityGroupIds": { + "uniqueItems": true, + "description": "The ID of one or more security groups to associate with the endpoint network interface.", + "insertionOrder": false, + "type": "array", + "items": { + "anyOf": [ + { + "relationshipRef": { + "typeName": "AWS::EC2::SecurityGroup", + "propertyPath": "/properties/GroupId" + } + }, + { + "relationshipRef": { + "typeName": "AWS::EC2::SecurityGroup", + "propertyPath": "/properties/Id" + } + }, + { + "relationshipRef": { + "typeName": "AWS::EC2::VPC", + "propertyPath": "/properties/DefaultSecurityGroup" + } + } + ], + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The ID of one or more security groups to associate with the endpoint network interface.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Tags": { + "minItems": 0, + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Name": { + "minLength": 3, + "type": "string", + "maxLength": 40, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 3 \nMaximum Length: 40 \nPattern: ^(?!rgw-)(?![-])(?!.*[-]$)(?!.*[-]{2})[a-z0-9-]+$ \nUpdate requires: Replacement" + } + }, + "attributes": { + "Id": { + "minLength": 17, + "type": "string", + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 17 \nMaximum Length: 2048 \nPattern: ^((rgw-[0-9a-z]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourcegateway/rgw-[0-9a-z]{17}))$ \nUpdate requires: No interruption" + }, + "Arn": { + "minLength": 20, + "type": "string", + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourcegateway/rgw-[0-9a-z]{17}$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-vpclattice-servicenetwork.json b/server/schema/resources/aws-vpclattice-servicenetwork.json index b14027b8..fb030271 100644 --- a/server/schema/resources/aws-vpclattice-servicenetwork.json +++ b/server/schema/resources/aws-vpclattice-servicenetwork.json @@ -3,6 +3,20 @@ "description": "A service network is a logical boundary for a collection of services. You can associate services and VPCs with a service network.", "additionalProperties": false, "definitions": { + "SharingConfig": { + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + } + }, + "required": [ + "enabled" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "Tag": { "type": "object", "additionalProperties": false, @@ -53,6 +67,9 @@ "$ref": "#/definitions/Tag" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SharingConfig": { + "$ref": "#/definitions/SharingConfig" } }, "readOnlyProperties": [ diff --git a/server/schema/resources/aws-vpclattice-servicenetworkresourceassociation.json b/server/schema/resources/aws-vpclattice-servicenetworkresourceassociation.json new file mode 100644 index 00000000..bb88744a --- /dev/null +++ b/server/schema/resources/aws-vpclattice-servicenetworkresourceassociation.json @@ -0,0 +1,135 @@ +{ + "typeName": "AWS::VpcLattice::ServiceNetworkResourceAssociation", + "description": "VpcLattice ServiceNetworkResourceAssociation CFN resource", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": { + "Tag": { + "description": "A key-value pair to associate with a resource.", + "type": "object", + "properties": { + "Key": { + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "ResourceConfigurationId": { + "type": "string", + "minLength": 17, + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 17 \nMaximum Length: 2048 \nPattern: ^rcfg-[0-9a-z]{17}$ \nUpdate requires: Replacement" + }, + "ServiceNetworkId": { + "type": "string", + "minLength": 3, + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 3 \nMaximum Length: 2048 \nPattern: ^((sn-[0-9a-z]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:servicenetwork/sn-[0-9a-z]{17}))$ \nUpdate requires: Replacement" + }, + "Tags": { + "type": "array", + "insertionOrder": false, + "uniqueItems": true, + "minItems": 0, + "maxItems": 50, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/ResourceConfigurationId", + "/properties/ServiceNetworkId" + ], + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn" + ], + "primaryIdentifier": [ + "/properties/Arn" + ], + "additionalIdentifiers": [ + [ + "/properties/Id" + ] + ], + "handlers": { + "create": { + "permissions": [ + "vpc-lattice:CreateServiceNetworkResourceAssociation", + "vpc-lattice:GetServiceNetworkResourceAssociation", + "vpc-lattice:TagResource", + "vpc-lattice:ListTagsForResource" + ] + }, + "read": { + "permissions": [ + "vpc-lattice:GetServiceNetworkResourceAssociation", + "vpc-lattice:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "vpc-lattice:TagResource", + "vpc-lattice:UntagResource", + "vpc-lattice:GetServiceNetworkResourceAssociation", + "vpc-lattice:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "vpc-lattice:DeleteServiceNetworkResourceAssociation", + "vpc-lattice:GetServiceNetworkResourceAssociation", + "vpc-lattice:UntagResource" + ] + }, + "list": { + "permissions": [ + "vpc-lattice:ListServiceNetworkResourceAssociations" + ] + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "vpc-lattice:UntagResource", + "vpc-lattice:TagResource", + "vpc-lattice:ListTagsForResource" + ] + }, + "attributes": { + "Id": { + "type": "string", + "minLength": 22, + "maxLength": 22, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 22 \nMaximum Length: 22 \nPattern: ^snra-[0-9a-f]{17}$ \nUpdate requires: No interruption" + }, + "Arn": { + "type": "string", + "minLength": 22, + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 22 \nMaximum Length: 2048 \nPattern: ^arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:servicenetworkresourceassociation/snra-[0-9a-f]{17}$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-wafv2-ipset.json b/server/schema/resources/aws-wafv2-ipset.json index 371fa945..2cee502b 100644 --- a/server/schema/resources/aws-wafv2-ipset.json +++ b/server/schema/resources/aws-wafv2-ipset.json @@ -118,10 +118,11 @@ ], "additionalProperties": false, "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true, + "tagProperty": "/properties/Tags" }, "handlers": { "create": { @@ -147,7 +148,9 @@ "permissions": [ "wafv2:UpdateIPSet", "wafv2:GetIPSet", - "wafv2:ListTagsForResource" + "wafv2:ListTagsForResource", + "wafv2:TagResource", + "wafv2:UntagResource" ] }, "list": { diff --git a/server/schema/resources/aws-wafv2-regexpatternset.json b/server/schema/resources/aws-wafv2-regexpatternset.json index 5bb94640..a0a5fb59 100644 --- a/server/schema/resources/aws-wafv2-regexpatternset.json +++ b/server/schema/resources/aws-wafv2-regexpatternset.json @@ -79,10 +79,11 @@ ], "additionalProperties": false, "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true, + "tagProperty": "/properties/Tags" }, "handlers": { "create": { @@ -108,7 +109,9 @@ "permissions": [ "wafv2:UpdateRegexPatternSet", "wafv2:GetRegexPatternSet", - "wafv2:ListTagsForResource" + "wafv2:ListTagsForResource", + "wafv2:TagResource", + "wafv2:UntagResource" ] }, "list": { diff --git a/server/schema/resources/aws-wafv2-rulegroup.json b/server/schema/resources/aws-wafv2-rulegroup.json index 0f73b7b7..3dcbdb5e 100644 --- a/server/schema/resources/aws-wafv2-rulegroup.json +++ b/server/schema/resources/aws-wafv2-rulegroup.json @@ -510,7 +510,7 @@ }, "RateLimit": { "type": "integer", - "minimum": 100, + "minimum": 10, "maximum": 2000000000, "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, @@ -1537,10 +1537,11 @@ ], "additionalProperties": false, "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true, + "tagProperty": "/properties/Tags" }, "handlers": { "create": { @@ -1564,6 +1565,8 @@ }, "update": { "permissions": [ + "wafv2:TagResource", + "wafv2:UntagResource", "wafv2:UpdateRuleGroup", "wafv2:GetRuleGroup", "wafv2:ListTagsForResource" diff --git a/server/schema/resources/aws-wafv2-webacl.json b/server/schema/resources/aws-wafv2-webacl.json index 72546d1f..ffe0fe06 100644 --- a/server/schema/resources/aws-wafv2-webacl.json +++ b/server/schema/resources/aws-wafv2-webacl.json @@ -647,7 +647,7 @@ }, "RateLimit": { "type": "integer", - "minimum": 100, + "minimum": 10, "maximum": 2000000000, "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, @@ -2125,10 +2125,11 @@ ], "additionalProperties": false, "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true, + "tagProperty": "/properties/Tags" }, "handlers": { "create": { @@ -2154,7 +2155,9 @@ "permissions": [ "wafv2:UpdateWebACL", "wafv2:GetWebACL", - "wafv2:ListTagsForResource" + "wafv2:ListTagsForResource", + "wafv2:TagResource", + "wafv2:UntagResource" ] }, "list": { diff --git a/server/schema/resources/aws-wisdom-aiagent.json b/server/schema/resources/aws-wisdom-aiagent.json new file mode 100644 index 00000000..8e6759e3 --- /dev/null +++ b/server/schema/resources/aws-wisdom-aiagent.json @@ -0,0 +1,443 @@ +{ + "typeName": "AWS::Wisdom::AIAgent", + "description": "Definition of AWS::Wisdom::AIAgent Resource Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": { + "AIAgentAssociationConfigurationType": { + "type": "string", + "enum": [ + "KNOWLEDGE_BASE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: KNOWLEDGE_BASE \nUpdate requires: No interruption" + }, + "AIAgentConfiguration": { + "oneOf": [ + { + "type": "object", + "title": "ManualSearchAIAgentConfiguration", + "properties": { + "ManualSearchAIAgentConfiguration": { + "$ref": "#/definitions/ManualSearchAIAgentConfiguration" + } + }, + "required": [ + "ManualSearchAIAgentConfiguration" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "AnswerRecommendationAIAgentConfiguration", + "properties": { + "AnswerRecommendationAIAgentConfiguration": { + "$ref": "#/definitions/AnswerRecommendationAIAgentConfiguration" + } + }, + "required": [ + "AnswerRecommendationAIAgentConfiguration" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "SelfServiceAIAgentConfiguration", + "properties": { + "SelfServiceAIAgentConfiguration": { + "$ref": "#/definitions/SelfServiceAIAgentConfiguration" + } + }, + "required": [ + "SelfServiceAIAgentConfiguration" + ], + "additionalProperties": false + } + ] + }, + "AIAgentType": { + "type": "string", + "enum": [ + "MANUAL_SEARCH", + "ANSWER_RECOMMENDATION", + "SELF_SERVICE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: MANUAL_SEARCH | ANSWER_RECOMMENDATION | SELF_SERVICE \nUpdate requires: No interruption" + }, + "SelfServiceAIAgentConfiguration": { + "type": "object", + "properties": { + "SelfServicePreProcessingAIPromptId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "SelfServiceAnswerGenerationAIPromptId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "SelfServiceAIGuardrailId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "AssociationConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/AssociationConfiguration" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AnswerRecommendationAIAgentConfiguration": { + "type": "object", + "properties": { + "IntentLabelingGenerationAIPromptId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "QueryReformulationAIPromptId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "AnswerGenerationAIPromptId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "AnswerGenerationAIGuardrailId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "AssociationConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/AssociationConfiguration" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AssociationConfiguration": { + "type": "object", + "properties": { + "AssociationId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$ \nUpdate requires: No interruption" + }, + "AssociationType": { + "$ref": "#/definitions/AIAgentAssociationConfigurationType" + }, + "AssociationConfigurationData": { + "$ref": "#/definitions/AssociationConfigurationData" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AssociationConfigurationData": { + "oneOf": [ + { + "type": "object", + "title": "KnowledgeBaseAssociationConfigurationData", + "properties": { + "KnowledgeBaseAssociationConfigurationData": { + "$ref": "#/definitions/KnowledgeBaseAssociationConfigurationData" + } + }, + "required": [ + "KnowledgeBaseAssociationConfigurationData" + ], + "additionalProperties": false + } + ] + }, + "KnowledgeBaseAssociationConfigurationData": { + "type": "object", + "properties": { + "ContentTagFilter": { + "$ref": "#/definitions/TagFilter" + }, + "MaxResults": { + "type": "number", + "maximum": 100, + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "OverrideKnowledgeBaseSearchType": { + "$ref": "#/definitions/KnowledgeBaseSearchType" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "KnowledgeBaseSearchType": { + "type": "string", + "enum": [ + "HYBRID", + "SEMANTIC" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: HYBRID | SEMANTIC \nUpdate requires: No interruption" + }, + "ManualSearchAIAgentConfiguration": { + "type": "object", + "properties": { + "AnswerGenerationAIPromptId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "AnswerGenerationAIGuardrailId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "AssociationConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/AssociationConfiguration" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "OrCondition": { + "oneOf": [ + { + "type": "object", + "title": "AndConditions", + "properties": { + "AndConditions": { + "type": "array", + "items": { + "$ref": "#/definitions/TagCondition" + } + } + }, + "required": [ + "AndConditions" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "TagCondition", + "properties": { + "TagCondition": { + "$ref": "#/definitions/TagCondition" + } + }, + "required": [ + "TagCondition" + ], + "additionalProperties": false + } + ] + }, + "TagCondition": { + "type": "object", + "properties": { + "Key": { + "type": "string", + "maxLength": 128, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:)[a-zA-Z+-=._:/]+$ \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TagFilter": { + "oneOf": [ + { + "type": "object", + "title": "TagCondition", + "properties": { + "TagCondition": { + "$ref": "#/definitions/TagCondition" + } + }, + "required": [ + "TagCondition" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "AndConditions", + "properties": { + "AndConditions": { + "type": "array", + "items": { + "$ref": "#/definitions/TagCondition" + } + } + }, + "required": [ + "AndConditions" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "OrConditions", + "properties": { + "OrConditions": { + "type": "array", + "items": { + "$ref": "#/definitions/OrCondition" + } + } + }, + "required": [ + "OrConditions" + ], + "additionalProperties": false + } + ] + }, + "Tags": { + "type": "object", + "patternProperties": { + "^(?!aws:)[a-zA-Z+-=._:/]+$": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "AssistantId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$|^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$ \nUpdate requires: Replacement" + }, + "Configuration": { + "$ref": "#/definitions/AIAgentConfiguration" + }, + "Description": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[a-zA-Z0-9\\s_.,-]+ \nUpdate requires: No interruption" + }, + "Name": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[a-zA-Z0-9\\s_.,-]+ \nUpdate requires: Replacement" + }, + "Tags": { + "$ref": "#/definitions/Tags" + }, + "Type": { + "$ref": "#/definitions/AIAgentType" + } + }, + "required": [ + "AssistantId", + "Configuration", + "Type" + ], + "readOnlyProperties": [ + "/properties/AIAgentArn", + "/properties/AIAgentId", + "/properties/AssistantArn", + "/properties/ModifiedTimeSeconds" + ], + "createOnlyProperties": [ + "/properties/AssistantId", + "/properties/Name", + "/properties/Tags", + "/properties/Type" + ], + "primaryIdentifier": [ + "/properties/AIAgentId", + "/properties/AssistantId" + ], + "additionalIdentifiers": [ + [ + "/properties/AIAgentArn", + "/properties/AssistantArn" + ] + ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "wisdom:TagResource" + ] + }, + "handlers": { + "create": { + "permissions": [ + "wisdom:CreateAIAgent", + "wisdom:TagResource" + ] + }, + "read": { + "permissions": [ + "wisdom:GetAIAgent" + ] + }, + "update": { + "permissions": [ + "wisdom:UpdateAIAgent" + ] + }, + "delete": { + "permissions": [ + "wisdom:DeleteAIAgent" + ] + }, + "list": { + "permissions": [ + "wisdom:ListAIAgents" + ], + "handlerSchema": { + "properties": { + "AssistantId": { + "$ref": "resource-schema.json#/properties/AssistantId" + } + }, + "required": [ + "AssistantId" + ] + } + } + }, + "additionalProperties": false, + "attributes": { + "AIAgentId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$|^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "AIAgentArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$ \nUpdate requires: No interruption" + }, + "AssistantArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$ \nUpdate requires: No interruption" + }, + "ModifiedTimeSeconds": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-wisdom-aiagentversion.json b/server/schema/resources/aws-wisdom-aiagentversion.json new file mode 100644 index 00000000..e5d5f4b6 --- /dev/null +++ b/server/schema/resources/aws-wisdom-aiagentversion.json @@ -0,0 +1,114 @@ +{ + "typeName": "AWS::Wisdom::AIAgentVersion", + "description": "Definition of AWS::Wisdom::AIAgentVersion Resource Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": {}, + "properties": { + "AIAgentId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$ \nUpdate requires: Replacement" + }, + "AssistantId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$ \nUpdate requires: Replacement" + }, + "ModifiedTimeSeconds": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: Replacement" + } + }, + "additionalProperties": false, + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "required": [ + "AssistantId", + "AIAgentId" + ], + "createOnlyProperties": [ + "/properties/AssistantId", + "/properties/AIAgentId", + "/properties/ModifiedTimeSeconds" + ], + "readOnlyProperties": [ + "/properties/AIAgentVersionId", + "/properties/AIAgentArn", + "/properties/AssistantArn", + "/properties/VersionNumber" + ], + "primaryIdentifier": [ + "/properties/AssistantId", + "/properties/AIAgentId", + "/properties/VersionNumber" + ], + "additionalIdentifiers": [ + [ + "/properties/AIAgentArn", + "/properties/AssistantArn" + ] + ], + "handlers": { + "create": { + "permissions": [ + "wisdom:CreateAIAgentVersion" + ] + }, + "read": { + "permissions": [ + "wisdom:GetAIAgent", + "wisdom:GetAIAgentVersion" + ] + }, + "update": { + "permissions": [ + "wisdom:GetAIAgent", + "wisdom:GetAIAgentVersion" + ] + }, + "delete": { + "permissions": [ + "wisdom:DeleteAIAgentVersion" + ] + }, + "list": { + "permissions": [ + "wisdom:ListAIAgentVersions" + ], + "handlerSchema": { + "properties": { + "AssistantId": { + "$ref": "resource-schema.json#/properties/AssistantId" + }, + "AIAgentId": { + "$ref": "resource-schema.json#/properties/AIAgentId" + } + }, + "required": [ + "AssistantId", + "AIAgentId" + ] + } + } + }, + "attributes": { + "AIAgentArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})?$ \nUpdate requires: No interruption" + }, + "AssistantArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})?$ \nUpdate requires: No interruption" + }, + "AIAgentVersionId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "VersionNumber": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-wisdom-aiguardrail.json b/server/schema/resources/aws-wisdom-aiguardrail.json new file mode 100644 index 00000000..0a1c3cd7 --- /dev/null +++ b/server/schema/resources/aws-wisdom-aiguardrail.json @@ -0,0 +1,540 @@ +{ + "typeName": "AWS::Wisdom::AIGuardrail", + "description": "Definition of AWS::Wisdom::AIGuardrail Resource Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": { + "AIGuardrailContentPolicyConfig": { + "type": "object", + "description": "Content policy config for a guardrail.", + "properties": { + "FiltersConfig": { + "type": "array", + "items": { + "$ref": "#/definitions/GuardrailContentFilterConfig" + }, + "maxItems": 6, + "minItems": 1, + "description": "List of content filter configs in content policy.", + "markdownDescription": "List of content filter configs in content policy.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "FiltersConfig" + ], + "additionalProperties": false, + "markdownDescription": "Content policy config for a guardrail.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AIGuardrailContextualGroundingPolicyConfig": { + "type": "object", + "description": "Contextual grounding policy config for a guardrail.", + "properties": { + "FiltersConfig": { + "type": "array", + "items": { + "$ref": "#/definitions/GuardrailContextualGroundingFilterConfig" + }, + "minItems": 1, + "description": "List of contextual grounding filter configs.", + "markdownDescription": "List of contextual grounding filter configs.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "FiltersConfig" + ], + "additionalProperties": false, + "markdownDescription": "Contextual grounding policy config for a guardrail.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AIGuardrailSensitiveInformationPolicyConfig": { + "type": "object", + "description": "Sensitive information policy config for a guardrail.", + "properties": { + "PiiEntitiesConfig": { + "type": "array", + "items": { + "$ref": "#/definitions/GuardrailPiiEntityConfig" + }, + "minItems": 1, + "uniqueItems": true, + "description": "List of entities.", + "markdownDescription": "List of entities.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "RegexesConfig": { + "type": "array", + "items": { + "$ref": "#/definitions/GuardrailRegexConfig" + }, + "minItems": 1, + "description": "List of regex.", + "markdownDescription": "List of regex.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "Sensitive information policy config for a guardrail.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AIGuardrailTopicPolicyConfig": { + "type": "object", + "description": "Topic policy config for a guardrail.", + "properties": { + "TopicsConfig": { + "type": "array", + "items": { + "$ref": "#/definitions/GuardrailTopicConfig" + }, + "minItems": 1, + "description": "List of topic configs in topic policy.", + "markdownDescription": "List of topic configs in topic policy.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "TopicsConfig" + ], + "additionalProperties": false, + "markdownDescription": "Topic policy config for a guardrail.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AIGuardrailWordPolicyConfig": { + "type": "object", + "description": "Word policy config for a guardrail.", + "properties": { + "WordsConfig": { + "type": "array", + "items": { + "$ref": "#/definitions/GuardrailWordConfig" + }, + "minItems": 1, + "description": "List of custom word configs.", + "markdownDescription": "List of custom word configs.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ManagedWordListsConfig": { + "type": "array", + "items": { + "$ref": "#/definitions/GuardrailManagedWordsConfig" + }, + "description": "A config for the list of managed words.", + "markdownDescription": "A config for the list of managed words.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "Word policy config for a guardrail.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GuardrailContentFilterConfig": { + "type": "object", + "description": "Content filter config in content policy.", + "properties": { + "Type": { + "$ref": "#/definitions/GuardrailContentFilterType" + }, + "InputStrength": { + "$ref": "#/definitions/GuardrailFilterStrength" + }, + "OutputStrength": { + "$ref": "#/definitions/GuardrailFilterStrength" + } + }, + "required": [ + "InputStrength", + "OutputStrength", + "Type" + ], + "additionalProperties": false, + "markdownDescription": "Content filter config in content policy.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GuardrailContentFilterType": { + "type": "string", + "description": "Type of text to text filter in content policy", + "enum": [ + "SEXUAL", + "VIOLENCE", + "HATE", + "INSULTS", + "MISCONDUCT", + "PROMPT_ATTACK" + ], + "markdownDescription": "Type of text to text filter in content policy\n\n---\n\nRequired: No \nType: String \nAllowed Values: SEXUAL | VIOLENCE | HATE | INSULTS | MISCONDUCT | PROMPT_ATTACK \nUpdate requires: No interruption" + }, + "GuardrailContextualGroundingFilterConfig": { + "type": "object", + "description": "A config for grounding filter.", + "properties": { + "Type": { + "$ref": "#/definitions/GuardrailContextualGroundingFilterType" + }, + "Threshold": { + "type": "number", + "default": 0, + "minimum": 0, + "description": "The threshold for this filter.", + "markdownDescription": "The threshold for this filter.\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + } + }, + "required": [ + "Threshold", + "Type" + ], + "additionalProperties": false, + "markdownDescription": "A config for grounding filter.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GuardrailContextualGroundingFilterType": { + "type": "string", + "description": "Type of contextual grounding filter", + "enum": [ + "GROUNDING", + "RELEVANCE" + ], + "markdownDescription": "Type of contextual grounding filter\n\n---\n\nRequired: No \nType: String \nAllowed Values: GROUNDING | RELEVANCE \nUpdate requires: No interruption" + }, + "GuardrailFilterStrength": { + "type": "string", + "description": "Strength for filters", + "enum": [ + "NONE", + "LOW", + "MEDIUM", + "HIGH" + ], + "markdownDescription": "Strength for filters\n\n---\n\nRequired: No \nType: String \nAllowed Values: NONE | LOW | MEDIUM | HIGH \nUpdate requires: No interruption" + }, + "GuardrailManagedWordsConfig": { + "type": "object", + "description": "A managed words config.", + "properties": { + "Type": { + "$ref": "#/definitions/GuardrailManagedWordsType" + } + }, + "required": [ + "Type" + ], + "additionalProperties": false, + "markdownDescription": "A managed words config.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GuardrailManagedWordsType": { + "type": "string", + "description": "Options for managed words.", + "enum": [ + "PROFANITY" + ], + "markdownDescription": "Options for managed words.\n\n---\n\nRequired: No \nType: String \nAllowed Values: PROFANITY \nUpdate requires: No interruption" + }, + "GuardrailPiiEntityConfig": { + "type": "object", + "description": "Pii entity configuration.", + "properties": { + "Type": { + "$ref": "#/definitions/GuardrailPiiEntityType" + }, + "Action": { + "$ref": "#/definitions/GuardrailSensitiveInformationAction" + } + }, + "required": [ + "Action", + "Type" + ], + "additionalProperties": false, + "markdownDescription": "Pii entity configuration.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GuardrailPiiEntityType": { + "type": "string", + "description": "The currently supported PII entities", + "enum": [ + "ADDRESS", + "AGE", + "AWS_ACCESS_KEY", + "AWS_SECRET_KEY", + "CA_HEALTH_NUMBER", + "CA_SOCIAL_INSURANCE_NUMBER", + "CREDIT_DEBIT_CARD_CVV", + "CREDIT_DEBIT_CARD_EXPIRY", + "CREDIT_DEBIT_CARD_NUMBER", + "DRIVER_ID", + "EMAIL", + "INTERNATIONAL_BANK_ACCOUNT_NUMBER", + "IP_ADDRESS", + "LICENSE_PLATE", + "MAC_ADDRESS", + "NAME", + "PASSWORD", + "PHONE", + "PIN", + "SWIFT_CODE", + "UK_NATIONAL_HEALTH_SERVICE_NUMBER", + "UK_NATIONAL_INSURANCE_NUMBER", + "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER", + "URL", + "USERNAME", + "US_BANK_ACCOUNT_NUMBER", + "US_BANK_ROUTING_NUMBER", + "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER", + "US_PASSPORT_NUMBER", + "US_SOCIAL_SECURITY_NUMBER", + "VEHICLE_IDENTIFICATION_NUMBER" + ], + "markdownDescription": "The currently supported PII entities\n\n---\n\nRequired: No \nType: String \nAllowed Values: ADDRESS | AGE | AWS_ACCESS_KEY | AWS_SECRET_KEY | CA_HEALTH_NUMBER | CA_SOCIAL_INSURANCE_NUMBER | CREDIT_DEBIT_CARD_CVV | CREDIT_DEBIT_CARD_EXPIRY | CREDIT_DEBIT_CARD_NUMBER | DRIVER_ID | EMAIL | INTERNATIONAL_BANK_ACCOUNT_NUMBER | IP_ADDRESS | LICENSE_PLATE | MAC_ADDRESS | NAME | PASSWORD | PHONE | PIN | SWIFT_CODE | UK_NATIONAL_HEALTH_SERVICE_NUMBER | UK_NATIONAL_INSURANCE_NUMBER | UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER | URL | USERNAME | US_BANK_ACCOUNT_NUMBER | US_BANK_ROUTING_NUMBER | US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER | US_PASSPORT_NUMBER | US_SOCIAL_SECURITY_NUMBER | VEHICLE_IDENTIFICATION_NUMBER \nUpdate requires: No interruption" + }, + "GuardrailRegexConfig": { + "type": "object", + "description": "A regex configuration.", + "properties": { + "Name": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "description": "The regex name.", + "markdownDescription": "The regex name.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nUpdate requires: No interruption" + }, + "Description": { + "type": "string", + "maxLength": 1000, + "minLength": 1, + "description": "The regex description.", + "markdownDescription": "The regex description.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nUpdate requires: No interruption" + }, + "Pattern": { + "type": "string", + "minLength": 1, + "description": "The regex pattern.", + "markdownDescription": "The regex pattern.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nUpdate requires: No interruption" + }, + "Action": { + "$ref": "#/definitions/GuardrailSensitiveInformationAction" + } + }, + "required": [ + "Action", + "Name", + "Pattern" + ], + "additionalProperties": false, + "markdownDescription": "A regex configuration.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GuardrailSensitiveInformationAction": { + "type": "string", + "description": "Options for sensitive information action.", + "enum": [ + "BLOCK", + "ANONYMIZE" + ], + "markdownDescription": "Options for sensitive information action.\n\n---\n\nRequired: No \nType: String \nAllowed Values: BLOCK | ANONYMIZE \nUpdate requires: No interruption" + }, + "GuardrailTopicConfig": { + "type": "object", + "description": "Topic config in topic policy.", + "properties": { + "Name": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "description": "Name of topic in topic policy", + "markdownDescription": "Name of topic in topic policy\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nPattern: ^[0-9a-zA-Z-_ !?.]+$ \nUpdate requires: No interruption" + }, + "Definition": { + "type": "string", + "maxLength": 200, + "minLength": 1, + "description": "Definition of topic in topic policy", + "markdownDescription": "Definition of topic in topic policy\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nUpdate requires: No interruption" + }, + "Examples": { + "type": "array", + "items": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "description": "Text example in topic policy", + "markdownDescription": "Text example in topic policy\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nUpdate requires: No interruption" + }, + "minItems": 0, + "description": "List of text examples", + "markdownDescription": "List of text examples\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Type": { + "$ref": "#/definitions/GuardrailTopicType" + } + }, + "required": [ + "Definition", + "Name", + "Type" + ], + "additionalProperties": false, + "markdownDescription": "Topic config in topic policy.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GuardrailTopicType": { + "type": "string", + "description": "Type of topic in a policy", + "enum": [ + "DENY" + ], + "markdownDescription": "Type of topic in a policy\n\n---\n\nRequired: No \nType: String \nAllowed Values: DENY \nUpdate requires: No interruption" + }, + "GuardrailWordConfig": { + "type": "object", + "description": "A custom word config.", + "properties": { + "Text": { + "type": "string", + "minLength": 1, + "description": "The custom word text.", + "markdownDescription": "The custom word text.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nUpdate requires: No interruption" + } + }, + "required": [ + "Text" + ], + "additionalProperties": false, + "markdownDescription": "A custom word config.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tags": { + "type": "object", + "patternProperties": { + "^(?!aws:)[a-zA-Z+-=._:/]+$": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "AssistantId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$|^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$ \nUpdate requires: Replacement" + }, + "Name": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[a-zA-Z0-9\\s_.,-]+ \nUpdate requires: Replacement" + }, + "BlockedInputMessaging": { + "type": "string", + "maxLength": 500, + "minLength": 1, + "description": "Messaging for when violations are detected in text", + "markdownDescription": "Messaging for when violations are detected in text\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 500 \nUpdate requires: No interruption" + }, + "BlockedOutputsMessaging": { + "type": "string", + "maxLength": 500, + "minLength": 1, + "description": "Messaging for when violations are detected in text", + "markdownDescription": "Messaging for when violations are detected in text\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 500 \nUpdate requires: No interruption" + }, + "Description": { + "type": "string", + "maxLength": 200, + "minLength": 1, + "description": "Description of the guardrail or its version", + "markdownDescription": "Description of the guardrail or its version\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nUpdate requires: No interruption" + }, + "TopicPolicyConfig": { + "$ref": "#/definitions/AIGuardrailTopicPolicyConfig" + }, + "ContentPolicyConfig": { + "$ref": "#/definitions/AIGuardrailContentPolicyConfig" + }, + "WordPolicyConfig": { + "$ref": "#/definitions/AIGuardrailWordPolicyConfig" + }, + "SensitiveInformationPolicyConfig": { + "$ref": "#/definitions/AIGuardrailSensitiveInformationPolicyConfig" + }, + "ContextualGroundingPolicyConfig": { + "$ref": "#/definitions/AIGuardrailContextualGroundingPolicyConfig" + }, + "Tags": { + "$ref": "#/definitions/Tags" + } + }, + "required": [ + "AssistantId", + "BlockedInputMessaging", + "BlockedOutputsMessaging" + ], + "readOnlyProperties": [ + "/properties/AIGuardrailArn", + "/properties/AIGuardrailId", + "/properties/AssistantArn" + ], + "createOnlyProperties": [ + "/properties/AssistantId", + "/properties/Name", + "/properties/Tags" + ], + "primaryIdentifier": [ + "/properties/AIGuardrailId", + "/properties/AssistantId" + ], + "additionalIdentifiers": [ + [ + "/properties/AIGuardrailArn", + "/properties/AssistantArn" + ] + ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "wisdom:TagResource" + ] + }, + "handlers": { + "create": { + "permissions": [ + "wisdom:CreateAIGuardrail", + "wisdom:TagResource" + ] + }, + "read": { + "permissions": [ + "wisdom:GetAIGuardrail" + ] + }, + "update": { + "permissions": [ + "wisdom:UpdateAIGuardrail" + ] + }, + "delete": { + "permissions": [ + "wisdom:DeleteAIGuardrail" + ] + }, + "list": { + "permissions": [ + "wisdom:ListAIGuardrails" + ], + "handlerSchema": { + "properties": { + "AssistantId": { + "$ref": "resource-schema.json#/properties/AssistantId" + } + }, + "required": [ + "AssistantId" + ] + } + } + }, + "additionalProperties": false, + "attributes": { + "AssistantArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$ \nUpdate requires: No interruption" + }, + "AIGuardrailArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$ \nUpdate requires: No interruption" + }, + "AIGuardrailId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$|^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-wisdom-aiguardrailversion.json b/server/schema/resources/aws-wisdom-aiguardrailversion.json new file mode 100644 index 00000000..5e7a2eec --- /dev/null +++ b/server/schema/resources/aws-wisdom-aiguardrailversion.json @@ -0,0 +1,114 @@ +{ + "typeName": "AWS::Wisdom::AIGuardrailVersion", + "description": "Definition of AWS::Wisdom::AIGuardrailVersion Resource Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": {}, + "properties": { + "AIGuardrailId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$ \nUpdate requires: Replacement" + }, + "AssistantId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$ \nUpdate requires: Replacement" + }, + "ModifiedTimeSeconds": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: Replacement" + } + }, + "additionalProperties": false, + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "required": [ + "AssistantId", + "AIGuardrailId" + ], + "createOnlyProperties": [ + "/properties/AssistantId", + "/properties/AIGuardrailId", + "/properties/ModifiedTimeSeconds" + ], + "readOnlyProperties": [ + "/properties/AIGuardrailVersionId", + "/properties/AIGuardrailArn", + "/properties/AssistantArn", + "/properties/VersionNumber" + ], + "primaryIdentifier": [ + "/properties/AssistantId", + "/properties/AIGuardrailId", + "/properties/VersionNumber" + ], + "additionalIdentifiers": [ + [ + "/properties/AIGuardrailArn", + "/properties/AssistantArn" + ] + ], + "handlers": { + "create": { + "permissions": [ + "wisdom:CreateAIGuardrailVersion" + ] + }, + "read": { + "permissions": [ + "wisdom:GetAIGuardrail", + "wisdom:GetAIGuardrailVersion" + ] + }, + "update": { + "permissions": [ + "wisdom:GetAIGuardrail", + "wisdom:GetAIGuardrailVersion" + ] + }, + "delete": { + "permissions": [ + "wisdom:DeleteAIGuardrailVersion" + ] + }, + "list": { + "permissions": [ + "wisdom:ListAIGuardrailVersions" + ], + "handlerSchema": { + "properties": { + "AssistantId": { + "$ref": "resource-schema.json#/properties/AssistantId" + }, + "AIGuardrailId": { + "$ref": "resource-schema.json#/properties/AIGuardrailId" + } + }, + "required": [ + "AssistantId", + "AIGuardrailId" + ] + } + } + }, + "attributes": { + "AIGuardrailArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})?$ \nUpdate requires: No interruption" + }, + "AssistantArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})?$ \nUpdate requires: No interruption" + }, + "AIGuardrailVersionId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "VersionNumber": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-wisdom-aiprompt.json b/server/schema/resources/aws-wisdom-aiprompt.json new file mode 100644 index 00000000..3cc779df --- /dev/null +++ b/server/schema/resources/aws-wisdom-aiprompt.json @@ -0,0 +1,219 @@ +{ + "typeName": "AWS::Wisdom::AIPrompt", + "description": "Definition of AWS::Wisdom::AIPrompt Resource Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": { + "AIPromptAPIFormat": { + "type": "string", + "enum": [ + "ANTHROPIC_CLAUDE_MESSAGES", + "ANTHROPIC_CLAUDE_TEXT_COMPLETIONS" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ANTHROPIC_CLAUDE_MESSAGES | ANTHROPIC_CLAUDE_TEXT_COMPLETIONS \nUpdate requires: No interruption" + }, + "AIPromptTemplateConfiguration": { + "type": "object", + "oneOf": [ + { + "type": "object", + "title": "TextFullAIPromptEditTemplateConfiguration", + "properties": { + "TextFullAIPromptEditTemplateConfiguration": { + "$ref": "#/definitions/TextFullAIPromptEditTemplateConfiguration" + } + }, + "required": [ + "TextFullAIPromptEditTemplateConfiguration" + ], + "additionalProperties": false + } + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AIPromptTemplateType": { + "type": "string", + "enum": [ + "TEXT" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: TEXT \nUpdate requires: No interruption" + }, + "AIPromptType": { + "type": "string", + "enum": [ + "ANSWER_GENERATION", + "INTENT_LABELING_GENERATION", + "QUERY_REFORMULATION", + "SELF_SERVICE_PRE_PROCESSING", + "SELF_SERVICE_ANSWER_GENERATION" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ANSWER_GENERATION | INTENT_LABELING_GENERATION | QUERY_REFORMULATION | SELF_SERVICE_PRE_PROCESSING | SELF_SERVICE_ANSWER_GENERATION \nUpdate requires: No interruption" + }, + "Tags": { + "type": "object", + "patternProperties": { + "^(?!aws:)[a-zA-Z+-=._:/]+$": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TextFullAIPromptEditTemplateConfiguration": { + "type": "object", + "properties": { + "Text": { + "type": "string", + "maxLength": 200000, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 200000 \nUpdate requires: No interruption" + } + }, + "required": [ + "Text" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "ApiFormat": { + "$ref": "#/definitions/AIPromptAPIFormat" + }, + "AssistantId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$|^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$ \nUpdate requires: Replacement" + }, + "Description": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[a-zA-Z0-9\\s_.,-]+ \nUpdate requires: No interruption" + }, + "ModelId": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: Replacement" + }, + "Name": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[a-zA-Z0-9\\s_.,-]+ \nUpdate requires: Replacement" + }, + "Tags": { + "$ref": "#/definitions/Tags" + }, + "TemplateConfiguration": { + "$ref": "#/definitions/AIPromptTemplateConfiguration" + }, + "TemplateType": { + "$ref": "#/definitions/AIPromptTemplateType" + }, + "Type": { + "$ref": "#/definitions/AIPromptType" + } + }, + "required": [ + "ApiFormat", + "ModelId", + "TemplateConfiguration", + "TemplateType", + "Type" + ], + "readOnlyProperties": [ + "/properties/AIPromptArn", + "/properties/AIPromptId", + "/properties/AssistantArn", + "/properties/ModifiedTimeSeconds" + ], + "createOnlyProperties": [ + "/properties/ApiFormat", + "/properties/AssistantId", + "/properties/ModelId", + "/properties/Name", + "/properties/Tags", + "/properties/TemplateType", + "/properties/Type" + ], + "primaryIdentifier": [ + "/properties/AIPromptId", + "/properties/AssistantId" + ], + "additionalIdentifiers": [ + [ + "/properties/AIPromptArn", + "/properties/AssistantArn" + ] + ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "wisdom:TagResource" + ] + }, + "handlers": { + "create": { + "permissions": [ + "wisdom:CreateAIPrompt", + "wisdom:TagResource" + ] + }, + "read": { + "permissions": [ + "wisdom:GetAIPrompt" + ] + }, + "update": { + "permissions": [ + "wisdom:UpdateAIPrompt" + ] + }, + "delete": { + "permissions": [ + "wisdom:DeleteAIPrompt" + ] + }, + "list": { + "permissions": [ + "wisdom:ListAIPrompts" + ], + "handlerSchema": { + "properties": { + "AssistantId": { + "$ref": "resource-schema.json#/properties/AssistantId" + } + }, + "required": [ + "AssistantId" + ] + } + } + }, + "additionalProperties": false, + "attributes": { + "AIPromptId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$|^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "AIPromptArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$ \nUpdate requires: No interruption" + }, + "AssistantArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$ \nUpdate requires: No interruption" + }, + "ModifiedTimeSeconds": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-wisdom-aipromptversion.json b/server/schema/resources/aws-wisdom-aipromptversion.json new file mode 100644 index 00000000..0f2d1858 --- /dev/null +++ b/server/schema/resources/aws-wisdom-aipromptversion.json @@ -0,0 +1,114 @@ +{ + "typeName": "AWS::Wisdom::AIPromptVersion", + "description": "Definition of AWS::Wisdom::AIPromptVersion Resource Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": {}, + "properties": { + "AIPromptId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$ \nUpdate requires: Replacement" + }, + "AssistantId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$ \nUpdate requires: Replacement" + }, + "ModifiedTimeSeconds": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: Replacement" + } + }, + "additionalProperties": false, + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "required": [ + "AssistantId", + "AIPromptId" + ], + "createOnlyProperties": [ + "/properties/AssistantId", + "/properties/AIPromptId", + "/properties/ModifiedTimeSeconds" + ], + "readOnlyProperties": [ + "/properties/AIPromptArn", + "/properties/AIPromptVersionId", + "/properties/AssistantArn", + "/properties/VersionNumber" + ], + "primaryIdentifier": [ + "/properties/AssistantId", + "/properties/AIPromptId", + "/properties/VersionNumber" + ], + "additionalIdentifiers": [ + [ + "/properties/AIPromptArn", + "/properties/AssistantArn" + ] + ], + "handlers": { + "create": { + "permissions": [ + "wisdom:CreateAIPromptVersion" + ] + }, + "read": { + "permissions": [ + "wisdom:GetAIPrompt", + "wisdom:GetAIPromptVersion" + ] + }, + "update": { + "permissions": [ + "wisdom:GetAIPrompt", + "wisdom:GetAIPromptVersion" + ] + }, + "delete": { + "permissions": [ + "wisdom:DeleteAIPromptVersion" + ] + }, + "list": { + "permissions": [ + "wisdom:ListAIPromptVersions" + ], + "handlerSchema": { + "properties": { + "AssistantId": { + "$ref": "resource-schema.json#/properties/AssistantId" + }, + "AIPromptId": { + "$ref": "resource-schema.json#/properties/AIPromptId" + } + }, + "required": [ + "AssistantId", + "AIPromptId" + ] + } + } + }, + "attributes": { + "AIPromptArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})?$ \nUpdate requires: No interruption" + }, + "AssistantArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})?$ \nUpdate requires: No interruption" + }, + "AIPromptVersionId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "VersionNumber": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-wisdom-knowledgebase.json b/server/schema/resources/aws-wisdom-knowledgebase.json index 3f133264..b12d78b2 100644 --- a/server/schema/resources/aws-wisdom-knowledgebase.json +++ b/server/schema/resources/aws-wisdom-knowledgebase.json @@ -36,9 +36,10 @@ "enum": [ "EXTERNAL", "CUSTOM", - "MESSAGE_TEMPLATES" + "MESSAGE_TEMPLATES", + "MANAGED" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: EXTERNAL | CUSTOM | MESSAGE_TEMPLATES \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: EXTERNAL | CUSTOM | MESSAGE_TEMPLATES | MANAGED \nUpdate requires: No interruption" }, "RenderingConfiguration": { "type": "object", @@ -66,23 +67,311 @@ "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "SourceConfiguration": { + "SeedUrl": { "type": "object", + "additionalProperties": false, "properties": { - "AppIntegrations": { - "$ref": "#/definitions/AppIntegrationsConfiguration" + "Url": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^https?://[A-Za-z0-9][^\\s]*$ \nUpdate requires: No interruption" } }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "UrlFilterPattern": { + "type": "string", + "maxLength": 1000, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nUpdate requires: No interruption" + }, + "UrlFilterList": { + "type": "array", + "items": { + "$ref": "#/definitions/UrlFilterPattern" + }, + "maxItems": 25, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "WebCrawlerConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "UrlConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "SeedUrls": { + "type": "array", + "items": { + "$ref": "#/definitions/SeedUrl" + }, + "maxItems": 100, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nUpdate requires: No interruption" + }, + "CrawlerLimits": { + "type": "object", + "additionalProperties": false, + "properties": { + "RateLimit": { + "type": "number", + "minimum": 1, + "maximum": 3000, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "InclusionFilters": { + "$ref": "#/definitions/UrlFilterList" + }, + "ExclusionFilters": { + "$ref": "#/definitions/UrlFilterList" + }, + "Scope": { + "type": "string", + "enum": [ + "HOST_ONLY", + "SUBDOMAINS" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: HOST_ONLY | SUBDOMAINS \nUpdate requires: No interruption" + } + }, + "required": [ + "UrlConfiguration" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ManagedSourceConfiguration": { "oneOf": [ { + "type": "object", + "properties": { + "WebCrawlerConfiguration": { + "$ref": "#/definitions/WebCrawlerConfiguration" + } + }, "required": [ - "AppIntegrations" - ] + "WebCrawlerConfiguration" + ], + "additionalProperties": false + } + ] + }, + "FixedSizeChunkingConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "MaxTokens": { + "type": "number", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "OverlapPercentage": { + "type": "number", + "minimum": 1, + "maximum": 99, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + } + }, + "required": [ + "MaxTokens", + "OverlapPercentage" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "HierarchicalChunkingLevelConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "MaxTokens": { + "type": "number", + "minimum": 1, + "maximum": 8192, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + } + }, + "required": [ + "MaxTokens" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "HierarchicalChunkingConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "LevelConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/HierarchicalChunkingLevelConfiguration" + }, + "maxItems": 2, + "minItems": 2, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "OverlapTokens": { + "type": "number", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" } + }, + "required": [ + "LevelConfigurations", + "OverlapTokens" ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SemanticChunkingConfiguration": { + "type": "object", "additionalProperties": false, + "properties": { + "MaxTokens": { + "type": "number", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "BufferSize": { + "type": "number", + "minimum": 0, + "maximum": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "BreakpointPercentileThreshold": { + "type": "number", + "minimum": 50, + "maximum": 99, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + } + }, + "required": [ + "MaxTokens", + "BufferSize", + "BreakpointPercentileThreshold" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "BedrockFoundationModelConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "ModelArn": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model\\/anthropic.claude-3-haiku-20240307-v1:0$ \nUpdate requires: No interruption" + }, + "ParsingPrompt": { + "type": "object", + "additionalProperties": false, + "properties": { + "ParsingPromptText": { + "type": "string", + "maxLength": 10000, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 10000 \nUpdate requires: No interruption" + } + }, + "required": [ + "ParsingPromptText" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "required": [ + "ModelArn" + ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "VectorIngestionConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "ChunkingConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "ChunkingStrategy": { + "type": "string", + "enum": [ + "FIXED_SIZE", + "NONE", + "HIERARCHICAL", + "SEMANTIC" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: FIXED_SIZE | NONE | HIERARCHICAL | SEMANTIC \nUpdate requires: No interruption" + }, + "FixedSizeChunkingConfiguration": { + "$ref": "#/definitions/FixedSizeChunkingConfiguration" + }, + "HierarchicalChunkingConfiguration": { + "$ref": "#/definitions/HierarchicalChunkingConfiguration" + }, + "SemanticChunkingConfiguration": { + "$ref": "#/definitions/SemanticChunkingConfiguration" + } + }, + "required": [ + "ChunkingStrategy" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ParsingConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "ParsingStrategy": { + "type": "string", + "enum": [ + "BEDROCK_FOUNDATION_MODEL" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: BEDROCK_FOUNDATION_MODEL \nUpdate requires: No interruption" + }, + "BedrockFoundationModelConfiguration": { + "$ref": "#/definitions/BedrockFoundationModelConfiguration" + } + }, + "required": [ + "ParsingStrategy" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SourceConfiguration": { + "oneOf": [ + { + "type": "object", + "title": "AppIntegrationsConfiguration", + "properties": { + "AppIntegrations": { + "$ref": "#/definitions/AppIntegrationsConfiguration" + } + }, + "required": [ + "AppIntegrations" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "ManagedSourceConfiguration", + "properties": { + "ManagedSourceConfiguration": { + "$ref": "#/definitions/ManagedSourceConfiguration" + } + }, + "required": [ + "ManagedSourceConfiguration" + ], + "additionalProperties": false + } + ] + }, "Tag": { "additionalProperties": false, "properties": { @@ -132,6 +421,9 @@ "SourceConfiguration": { "$ref": "#/definitions/SourceConfiguration" }, + "VectorIngestionConfiguration": { + "$ref": "#/definitions/VectorIngestionConfiguration" + }, "Tags": { "insertionOrder": false, "uniqueItems": true, @@ -167,7 +459,16 @@ ] ], "additionalProperties": false, - "taggable": false, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "wisdom:TagResource" + ] + }, "replacementStrategy": "delete_then_create", "handlers": { "create": { diff --git a/server/schema/resources/aws-wisdom-messagetemplate.json b/server/schema/resources/aws-wisdom-messagetemplate.json new file mode 100644 index 00000000..499700b0 --- /dev/null +++ b/server/schema/resources/aws-wisdom-messagetemplate.json @@ -0,0 +1,871 @@ +{ + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-wisdom", + "typeName": "AWS::Wisdom::MessageTemplate", + "description": "Definition of AWS::Wisdom::MessageTemplate Resource Type", + "definitions": { + "ChannelSubtype": { + "description": "The channel subtype this message template applies to.", + "type": "string", + "enum": [ + "EMAIL", + "SMS" + ], + "markdownDescription": "The channel subtype this message template applies to.\n\n---\n\nRequired: No \nType: String \nAllowed Values: EMAIL | SMS \nUpdate requires: No interruption" + }, + "Content": { + "description": "The content of the message template.", + "type": "object", + "properties": { + "EmailMessageTemplateContent": { + "$ref": "#/definitions/EmailMessageTemplateContent" + }, + "SmsMessageTemplateContent": { + "$ref": "#/definitions/SmsMessageTemplateContent" + } + }, + "oneOf": [ + { + "required": [ + "EmailMessageTemplateContent" + ] + }, + { + "required": [ + "SmsMessageTemplateContent" + ] + } + ], + "additionalProperties": false, + "markdownDescription": "The content of the message template.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EmailMessageTemplateContent": { + "description": "The content of message template that applies to email channel subtype.", + "type": "object", + "properties": { + "Subject": { + "description": "The subject line, or title, to use in email messages.", + "type": "string", + "minLength": 1, + "markdownDescription": "The subject line, or title, to use in email messages.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nUpdate requires: No interruption" + }, + "Body": { + "$ref": "#/definitions/EmailMessageTemplateContentBody" + }, + "Headers": { + "description": "The email headers to include in email messages.", + "type": "array", + "items": { + "$ref": "#/definitions/EmailMessageTemplateHeader" + }, + "uniqueItems": true, + "insertionOrder": true, + "minItems": 0, + "maxItems": 15, + "markdownDescription": "The email headers to include in email messages.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Subject", + "Body", + "Headers" + ], + "additionalProperties": false, + "markdownDescription": "The content of message template that applies to email channel subtype.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EmailMessageTemplateContentBody": { + "description": "The body to use in email messages.", + "type": "object", + "properties": { + "PlainText": { + "description": "The message body, in plain text format, to use in email messages that are based on the message template. We recommend using plain text format for email clients that don't render HTML content and clients that are connected to high-latency networks, such as mobile devices.", + "$ref": "#/definitions/MessageTemplateBodyContentProvider", + "markdownDescription": "The message body, in plain text format, to use in email messages that are based on the message template. We recommend using plain text format for email clients that don't render HTML content and clients that are connected to high-latency networks, such as mobile devices.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Html": { + "description": "The message body, in HTML format, to use in email messages that are based on the message template. We recommend using HTML format for email clients that render HTML content. You can include links, formatted text, and more in an HTML message.", + "$ref": "#/definitions/MessageTemplateBodyContentProvider", + "markdownDescription": "The message body, in HTML format, to use in email messages that are based on the message template. We recommend using HTML format for email clients that render HTML content. You can include links, formatted text, and more in an HTML message.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "The body to use in email messages.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EmailMessageTemplateHeader": { + "description": "The email header to include in email messages.", + "type": "object", + "properties": { + "Name": { + "description": "The name of the email header.", + "type": "string", + "minLength": 1, + "maxLength": 126, + "markdownDescription": "The name of the email header.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 126 \nPattern: ^[!-9;-@A-~]+$ \nUpdate requires: No interruption" + }, + "Value": { + "description": "The value of the email header.", + "type": "string", + "minLength": 1, + "maxLength": 870, + "markdownDescription": "The value of the email header.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 870 \nPattern: [ -~]* \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "The email header to include in email messages.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SmsMessageTemplateContent": { + "description": "The content of message template that applies to SMS channel subtype.", + "type": "object", + "properties": { + "Body": { + "$ref": "#/definitions/SmsMessageTemplateContentBody" + } + }, + "required": [ + "Body" + ], + "additionalProperties": false, + "markdownDescription": "The content of message template that applies to SMS channel subtype.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SmsMessageTemplateContentBody": { + "description": "The body to use in SMS messages.", + "type": "object", + "properties": { + "PlainText": { + "$ref": "#/definitions/MessageTemplateBodyContentProvider" + } + }, + "additionalProperties": false, + "markdownDescription": "The body to use in SMS messages.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MessageTemplateBodyContentProvider": { + "description": "The container of message template body.", + "type": "object", + "properties": { + "Content": { + "type": "string", + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "The container of message template body.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MessageTemplateAttributes": { + "description": "An object that specifies the default values to use for variables in the message template. This object contains different categories of key-value pairs. Each key defines a variable or placeholder in the message template. The corresponding value defines the default value for that variable.", + "type": "object", + "properties": { + "SystemAttributes": { + "$ref": "#/definitions/SystemAttributes" + }, + "AgentAttributes": { + "$ref": "#/definitions/AgentAttributes" + }, + "CustomerProfileAttributes": { + "$ref": "#/definitions/CustomerProfileAttributes" + }, + "CustomAttributes": { + "$ref": "#/definitions/CustomAttributes" + } + }, + "additionalProperties": false, + "markdownDescription": "An object that specifies the default values to use for variables in the message template. This object contains different categories of key-value pairs. Each key defines a variable or placeholder in the message template. The corresponding value defines the default value for that variable.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SystemAttributes": { + "description": "The system attributes that are used with the message template.", + "type": "object", + "properties": { + "Name": { + "description": "The name of the task.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The name of the task.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "CustomerEndpoint": { + "description": "The CustomerEndpoint attribute.", + "$ref": "#/definitions/SystemEndpointAttributes", + "markdownDescription": "The CustomerEndpoint attribute.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "SystemEndpoint": { + "description": "The SystemEndpoint attribute.", + "$ref": "#/definitions/SystemEndpointAttributes", + "markdownDescription": "The SystemEndpoint attribute.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "The system attributes that are used with the message template.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SystemEndpointAttributes": { + "description": "The system endpoint attributes that are used with the message template.", + "type": "object", + "properties": { + "Address": { + "description": "The customer's phone number if used with customerEndpoint, or the number the customer dialed to call your contact center if used with systemEndpoint.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The customer's phone number if used with customerEndpoint, or the number the customer dialed to call your contact center if used with systemEndpoint.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "The system endpoint attributes that are used with the message template.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AgentAttributes": { + "description": "The agent attributes that are used with the message template.", + "type": "object", + "properties": { + "FirstName": { + "description": "The agent\u2019s first name as entered in their Amazon Connect user account.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The agent\u2019s first name as entered in their Amazon Connect user account.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "LastName": { + "description": "The agent\u2019s last name as entered in their Amazon Connect user account.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The agent\u2019s last name as entered in their Amazon Connect user account.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "The agent attributes that are used with the message template.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CustomerProfileAttributes": { + "description": "The customer profile attributes that are used with the message template.", + "type": "object", + "properties": { + "ProfileId": { + "description": "The unique identifier of a customer profile.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The unique identifier of a customer profile.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "ProfileARN": { + "description": "The ARN of a customer profile.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The ARN of a customer profile.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "FirstName": { + "description": "The customer's first name.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The customer's first name.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "MiddleName": { + "description": "The customer's middle name.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The customer's middle name.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "LastName": { + "description": "The customer's last name.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The customer's last name.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "AccountNumber": { + "description": "A unique account number that you have given to the customer.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "A unique account number that you have given to the customer.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "EmailAddress": { + "description": "The customer's email address, which has not been specified as a personal or business address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The customer's email address, which has not been specified as a personal or business address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "PhoneNumber": { + "description": "The customer's phone number, which has not been specified as a mobile, home, or business number.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The customer's phone number, which has not been specified as a mobile, home, or business number.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "AdditionalInformation": { + "description": "Any additional information relevant to the customer's profile.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "Any additional information relevant to the customer's profile.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "PartyType": { + "description": "The customer's party type.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The customer's party type.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "BusinessName": { + "description": "The name of the customer's business.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The name of the customer's business.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "BirthDate": { + "description": "The customer's birth date.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The customer's birth date.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "Gender": { + "description": "The customer's gender.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The customer's gender.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "MobilePhoneNumber": { + "description": "The customer's mobile phone number.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The customer's mobile phone number.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "HomePhoneNumber": { + "description": "The customer's home phone number.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The customer's home phone number.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "BusinessPhoneNumber": { + "description": "The customer's business phone number.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The customer's business phone number.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "BusinessEmailAddress": { + "description": "The customer's business email address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The customer's business email address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "Address1": { + "description": "The first line of a customer address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The first line of a customer address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "Address2": { + "description": "The second line of a customer address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The second line of a customer address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "Address3": { + "description": "The third line of a customer address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The third line of a customer address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "Address4": { + "description": "The fourth line of a customer address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The fourth line of a customer address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "City": { + "description": "The city in which a customer lives.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The city in which a customer lives.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "County": { + "description": "The county in which a customer lives.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The county in which a customer lives.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "Country": { + "description": "The country in which a customer lives.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The country in which a customer lives.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "PostalCode": { + "description": "The postal code of a customer address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The postal code of a customer address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "Province": { + "description": "The province in which a customer lives.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The province in which a customer lives.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "State": { + "description": "The state in which a customer lives.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The state in which a customer lives.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "ShippingAddress1": { + "description": "The first line of a customer\u2019s shipping address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The first line of a customer\u2019s shipping address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "ShippingAddress2": { + "description": "The second line of a customer\u2019s shipping address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The second line of a customer\u2019s shipping address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "ShippingAddress3": { + "description": "The third line of a customer\u2019s shipping address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The third line of a customer\u2019s shipping address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "ShippingAddress4": { + "description": "The fourth line of a customer\u2019s shipping address", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The fourth line of a customer\u2019s shipping address\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "ShippingCity": { + "description": "The city of a customer\u2019s shipping address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The city of a customer\u2019s shipping address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "ShippingCounty": { + "description": "The county of a customer\u2019s shipping address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The county of a customer\u2019s shipping address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "ShippingCountry": { + "description": "The country of a customer\u2019s shipping address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The country of a customer\u2019s shipping address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "ShippingPostalCode": { + "description": "The postal code of a customer\u2019s shipping address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The postal code of a customer\u2019s shipping address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "ShippingProvince": { + "description": "The province of a customer\u2019s shipping address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The province of a customer\u2019s shipping address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "ShippingState": { + "description": "The state of a customer\u2019s shipping address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The state of a customer\u2019s shipping address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "MailingAddress1": { + "description": "The first line of a customer\u2019s mailing address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The first line of a customer\u2019s mailing address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "MailingAddress2": { + "description": "The second line of a customer\u2019s mailing address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The second line of a customer\u2019s mailing address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "MailingAddress3": { + "description": "The third line of a customer\u2019s mailing address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The third line of a customer\u2019s mailing address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "MailingAddress4": { + "description": "The fourth line of a customer\u2019s mailing address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The fourth line of a customer\u2019s mailing address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "MailingCity": { + "description": "The city of a customer\u2019s mailing address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The city of a customer\u2019s mailing address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "MailingCounty": { + "description": "The county of a customer\u2019s mailing address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The county of a customer\u2019s mailing address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "MailingCountry": { + "description": "The country of a customer\u2019s mailing address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The country of a customer\u2019s mailing address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "MailingPostalCode": { + "description": "The postal code of a customer\u2019s mailing address", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The postal code of a customer\u2019s mailing address\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "MailingProvince": { + "description": "The province of a customer\u2019s mailing address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The province of a customer\u2019s mailing address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "MailingState": { + "description": "The state of a customer\u2019s mailing address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The state of a customer\u2019s mailing address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "BillingAddress1": { + "description": "The first line of a customer\u2019s billing address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The first line of a customer\u2019s billing address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "BillingAddress2": { + "description": "The second line of a customer\u2019s billing address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The second line of a customer\u2019s billing address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "BillingAddress3": { + "description": "The third line of a customer\u2019s billing address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The third line of a customer\u2019s billing address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "BillingAddress4": { + "description": "The fourth line of a customer\u2019s billing address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The fourth line of a customer\u2019s billing address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "BillingCity": { + "description": "The city of a customer\u2019s billing address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The city of a customer\u2019s billing address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "BillingCounty": { + "description": "The county of a customer\u2019s billing address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The county of a customer\u2019s billing address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "BillingCountry": { + "description": "The country of a customer\u2019s billing address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The country of a customer\u2019s billing address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "BillingPostalCode": { + "description": "The postal code of a customer\u2019s billing address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The postal code of a customer\u2019s billing address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "BillingProvince": { + "description": "The province of a customer\u2019s billing address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The province of a customer\u2019s billing address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "BillingState": { + "description": "The state of a customer\u2019s billing address.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "The state of a customer\u2019s billing address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + }, + "Custom": { + "$ref": "#/definitions/CustomAttributes" + } + }, + "additionalProperties": false, + "markdownDescription": "The customer profile attributes that are used with the message template.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CustomAttributes": { + "description": "The custom attributes that are used with the message template.", + "type": "object", + "patternProperties": { + "^[a-zA-Z0-9\\s._:/=+@-]*$": { + "description": "Value of a custom attribute.", + "type": "string", + "minLength": 1, + "maxLength": 32767, + "markdownDescription": "Value of a custom attribute.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32767 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "The custom attributes that are used with the message template.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GroupingConfiguration": { + "description": "The configuration information of the user groups that the message template is accessible to.", + "type": "object", + "properties": { + "Criteria": { + "description": "The criteria used for grouping Amazon Q in Connect users.", + "type": "string", + "minLength": 1, + "maxLength": 100, + "markdownDescription": "The criteria used for grouping Amazon Q in Connect users.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nUpdate requires: No interruption" + }, + "Values": { + "description": "The list of values that define different groups of Amazon Q in Connect users.", + "type": "array", + "items": { + "$ref": "#/definitions/GroupingValue" + }, + "insertionOrder": true, + "uniqueItems": true, + "markdownDescription": "The list of values that define different groups of Amazon Q in Connect users.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Criteria", + "Values" + ], + "additionalProperties": false, + "markdownDescription": "The configuration information of the user groups that the message template is accessible to.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GroupingValue": { + "description": "The value that define the group of Amazon Q in Connect users.", + "type": "string", + "minLength": 1, + "maxLength": 2048, + "markdownDescription": "The value that define the group of Amazon Q in Connect users.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "Tag": { + "description": "A key-value pair to associate with a resource.", + "type": "object", + "properties": { + "Key": { + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -", + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:)[a-zA-Z+-=._:/]+$ \nUpdate requires: No interruption" + }, + "Value": { + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -", + "type": "string", + "minLength": 1, + "maxLength": 256, + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "KnowledgeBaseArn": { + "description": "The Amazon Resource Name (ARN) of the knowledge base to which the message template belongs.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the knowledge base to which the message template belongs.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})?$ \nUpdate requires: Replacement" + }, + "Name": { + "description": "The name of the message template.", + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "The name of the message template.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[a-zA-Z0-9\\\\s_.,-]+ \nUpdate requires: No interruption" + }, + "ChannelSubtype": { + "$ref": "#/definitions/ChannelSubtype" + }, + "Content": { + "$ref": "#/definitions/Content" + }, + "Description": { + "description": "The description of the message template.", + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "The description of the message template.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[a-zA-Z0-9\\\\s_.,-]+ \nUpdate requires: No interruption" + }, + "Language": { + "description": "The language code value for the language in which the message template is written. The supported language codes include de_DE, en_US, es_ES, fr_FR, id_ID, it_IT, ja_JP, ko_KR, pt_BR, zh_CN, zh_TW", + "type": "string", + "minLength": 2, + "maxLength": 5, + "markdownDescription": "The language code value for the language in which the message template is written. The supported language codes include de_DE, en_US, es_ES, fr_FR, id_ID, it_IT, ja_JP, ko_KR, pt_BR, zh_CN, zh_TW\n\n---\n\nRequired: No \nType: String \nMinimum Length: 2 \nMaximum Length: 5 \nUpdate requires: No interruption" + }, + "GroupingConfiguration": { + "$ref": "#/definitions/GroupingConfiguration" + }, + "DefaultAttributes": { + "$ref": "#/definitions/MessageTemplateAttributes" + }, + "Tags": { + "description": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "insertionOrder": false, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "KnowledgeBaseArn", + "ChannelSubtype", + "Name", + "Content" + ], + "readOnlyProperties": [ + "/properties/MessageTemplateId", + "/properties/MessageTemplateArn", + "/properties/MessageTemplateContentSha256" + ], + "createOnlyProperties": [ + "/properties/KnowledgeBaseArn", + "/properties/ChannelSubtype" + ], + "primaryIdentifier": [ + "/properties/MessageTemplateArn" + ], + "additionalProperties": false, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "wisdom:TagResource", + "wisdom:UntagResource" + ] + }, + "replacementStrategy": "create_then_delete", + "handlers": { + "create": { + "permissions": [ + "wisdom:CreateMessageTemplate", + "wisdom:GetMessageTemplate", + "wisdom:TagResource", + "connect:SearchRoutingProfiles", + "connect:DescribeRoutingProfile" + ] + }, + "update": { + "permissions": [ + "wisdom:UpdateMessageTemplate", + "wisdom:UpdateMessageTemplateMetadata", + "wisdom:GetMessageTemplate", + "wisdom:TagResource", + "wisdom:UntagResource", + "connect:SearchRoutingProfiles", + "connect:DescribeRoutingProfile" + ] + }, + "delete": { + "permissions": [ + "wisdom:DeleteMessageTemplate", + "wisdom:UntagResource" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "KnowledgeBaseArn": { + "$ref": "resource-schema.json#/properties/KnowledgeBaseArn" + } + }, + "required": [ + "KnowledgeBaseArn" + ] + }, + "permissions": [ + "wisdom:ListMessageTemplates" + ] + }, + "read": { + "permissions": [ + "wisdom:GetMessageTemplate" + ] + } + }, + "attributes": { + "MessageTemplateId": { + "description": "The unique identifier of the message template.", + "type": "string", + "markdownDescription": "The unique identifier of the message template.\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$ \nUpdate requires: No interruption" + }, + "MessageTemplateArn": { + "description": "The Amazon Resource Name (ARN) of the message template.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the message template.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})?$ \nUpdate requires: No interruption" + }, + "MessageTemplateContentSha256": { + "description": "The content SHA256 of the message template.", + "type": "string", + "minLength": 1, + "maxLength": 64, + "markdownDescription": "The content SHA256 of the message template.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-wisdom-messagetemplateversion.json b/server/schema/resources/aws-wisdom-messagetemplateversion.json new file mode 100644 index 00000000..2c6a6ae7 --- /dev/null +++ b/server/schema/resources/aws-wisdom-messagetemplateversion.json @@ -0,0 +1,89 @@ +{ + "typeName": "AWS::Wisdom::MessageTemplateVersion", + "description": "A version for the specified customer-managed message template within the specified knowledge base.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "properties": { + "MessageTemplateArn": { + "description": "The unqualified Amazon Resource Name (ARN) of the message template.", + "type": "string", + "markdownDescription": "The unqualified Amazon Resource Name (ARN) of the message template.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})?$ \nUpdate requires: Replacement" + }, + "MessageTemplateContentSha256": { + "description": "The content SHA256 of the message template.", + "type": "string", + "minLength": 1, + "maxLength": 64, + "markdownDescription": "The content SHA256 of the message template.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: Some interruptions" + } + }, + "additionalProperties": false, + "tagging": { + "taggable": false + }, + "required": [ + "MessageTemplateArn" + ], + "readOnlyProperties": [ + "/properties/MessageTemplateVersionNumber", + "/properties/MessageTemplateVersionArn" + ], + "createOnlyProperties": [ + "/properties/MessageTemplateArn" + ], + "conditionalCreateOnlyProperties": [ + "/properties/MessageTemplateContentSha256" + ], + "primaryIdentifier": [ + "/properties/MessageTemplateVersionArn" + ], + "handlers": { + "create": { + "permissions": [ + "wisdom:CreateMessageTemplateVersion", + "wisdom:ListMessageTemplateVersions" + ] + }, + "delete": { + "permissions": [ + "wisdom:DeleteMessageTemplate" + ] + }, + "update": { + "permissions": [ + "wisdom:CreateMessageTemplateVersion" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "MessageTemplateArn": { + "$ref": "resource-schema.json#/properties/MessageTemplateArn" + } + }, + "required": [ + "MessageTemplateArn" + ] + }, + "permissions": [ + "wisdom:ListMessageTemplateVersions" + ] + }, + "read": { + "permissions": [ + "wisdom:GetMessageTemplate" + ] + } + }, + "attributes": { + "MessageTemplateVersionArn": { + "description": "The unqualified Amazon Resource Name (ARN) of the message template version.", + "type": "string", + "markdownDescription": "The unqualified Amazon Resource Name (ARN) of the message template version.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}):[0-9]+?$ \nUpdate requires: No interruption" + }, + "MessageTemplateVersionNumber": { + "description": "Current version number of the message template.", + "type": "number", + "markdownDescription": "Current version number of the message template.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-workspaces-workspacespool.json b/server/schema/resources/aws-workspaces-workspacespool.json index 20e1b0dc..cf40f005 100644 --- a/server/schema/resources/aws-workspaces-workspacespool.json +++ b/server/schema/resources/aws-workspaces-workspacespool.json @@ -154,10 +154,8 @@ "/properties/PoolArn", "/properties/CreatedAt" ], - "writeOnlyProperties": [ - "/properties/Tags" - ], "deprecatedProperties": [ + "/properties/Tags", "/properties/Tags/TagKey", "/properties/Tags/TagValue" ], @@ -165,8 +163,7 @@ "create": { "permissions": [ "workspaces:CreateWorkspacesPool", - "workspaces:DescribeWorkspacesPools", - "workspaces:CreateTags" + "workspaces:DescribeWorkspacesPools" ] }, "read": { diff --git a/server/schema/resources/aws-workspacesthinclient-environment.json b/server/schema/resources/aws-workspacesthinclient-environment.json index 7847d770..a227926f 100644 --- a/server/schema/resources/aws-workspacesthinclient-environment.json +++ b/server/schema/resources/aws-workspacesthinclient-environment.json @@ -199,7 +199,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "thinclient:UntagResource", + "thinclient:ListTagsForResource", + "thinclient:TagResource" + ] }, "additionalProperties": false, "required": [ @@ -271,7 +276,7 @@ }, "list": { "permissions": [ - "thinclient:ListEnvironment", + "thinclient:ListEnvironments", "thinclient:ListTagsForResource", "kms:Decrypt" ] diff --git a/server/schema/resources/aws-workspacesweb-dataprotectionsettings.json b/server/schema/resources/aws-workspacesweb-dataprotectionsettings.json new file mode 100644 index 00000000..830c2637 --- /dev/null +++ b/server/schema/resources/aws-workspacesweb-dataprotectionsettings.json @@ -0,0 +1,336 @@ +{ + "typeName": "AWS::WorkSpacesWeb::DataProtectionSettings", + "description": "Definition of AWS::WorkSpacesWeb::DataProtectionSettings Resource Type", + "definitions": { + "CustomPattern": { + "type": "object", + "properties": { + "PatternName": { + "type": "string", + "maxLength": 20, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 20 \nPattern: ^[_\\-\\d\\w]+$ \nUpdate requires: No interruption" + }, + "PatternRegex": { + "type": "string", + "maxLength": 300, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 300 \nPattern: ^\\/((?:[^\\n])+)\\/([gimsuyvd]{0,8})$ \nUpdate requires: No interruption" + }, + "PatternDescription": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^[ _\\-\\d\\w]+$ \nUpdate requires: No interruption" + }, + "KeywordRegex": { + "type": "string", + "maxLength": 300, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 300 \nPattern: ^\\/((?:[^\\n])+)\\/([gimsuyvd]{0,8})$ \nUpdate requires: No interruption" + } + }, + "required": [ + "PatternName", + "PatternRegex" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EncryptionContextMap": { + "type": "object", + "patternProperties": { + "^[\\s\\S]*$": { + "type": "string", + "maxLength": 131072, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 131072 \nPattern: ^[\\s\\S]*$ \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "InlineRedactionConfiguration": { + "type": "object", + "properties": { + "InlineRedactionPatterns": { + "type": "array", + "items": { + "$ref": "#/definitions/InlineRedactionPattern" + }, + "maxItems": 150, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "GlobalEnforcedUrls": { + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^((([a-zA-Z][a-zA-Z0-9+.-]*):\\/\\/(\\*|[\\w%._\\-\\+~#=@]+)?(\\/[^@\\s]*)?(?:\\?([^*\\s]+(?:\\*?)))?)|(\\*|[\\w%._\\-\\+~#=@]+\\.[\\w%._\\-\\+~#=@]+)(?::(\\d{1,5}))?(\\/[^@\\s]*)?(?:\\?([^*\\s]+(?:\\*?)))?|(([a-zA-Z][a-zA-Z0-9+.-]*):(\\/\\/)?\\*))$ \nUpdate requires: No interruption" + }, + "maxItems": 100, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "GlobalExemptUrls": { + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^((([a-zA-Z][a-zA-Z0-9+.-]*):\\/\\/(\\*|[\\w%._\\-\\+~#=@]+)?(\\/[^@\\s]*)?(?:\\?([^*\\s]+(?:\\*?)))?)|(\\*|[\\w%._\\-\\+~#=@]+\\.[\\w%._\\-\\+~#=@]+)(?::(\\d{1,5}))?(\\/[^@\\s]*)?(?:\\?([^*\\s]+(?:\\*?)))?|(([a-zA-Z][a-zA-Z0-9+.-]*):(\\/\\/)?\\*))$ \nUpdate requires: No interruption" + }, + "maxItems": 100, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "GlobalConfidenceLevel": { + "type": "number", + "maximum": 3, + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "required": [ + "InlineRedactionPatterns" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "InlineRedactionPattern": { + "type": "object", + "properties": { + "BuiltInPatternId": { + "type": "string", + "maxLength": 50, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nPattern: ^[_\\-\\d\\w]+$ \nUpdate requires: No interruption" + }, + "CustomPattern": { + "$ref": "#/definitions/CustomPattern" + }, + "RedactionPlaceHolder": { + "$ref": "#/definitions/RedactionPlaceHolder" + }, + "EnforcedUrls": { + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^((([a-zA-Z][a-zA-Z0-9+.-]*):\\/\\/(\\*|[\\w%._\\-\\+~#=@]+)?(\\/[^@\\s]*)?(?:\\?([^*\\s]+(?:\\*?)))?)|(\\*|[\\w%._\\-\\+~#=@]+\\.[\\w%._\\-\\+~#=@]+)(?::(\\d{1,5}))?(\\/[^@\\s]*)?(?:\\?([^*\\s]+(?:\\*?)))?|(([a-zA-Z][a-zA-Z0-9+.-]*):(\\/\\/)?\\*))$ \nUpdate requires: No interruption" + }, + "maxItems": 20, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ExemptUrls": { + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^((([a-zA-Z][a-zA-Z0-9+.-]*):\\/\\/(\\*|[\\w%._\\-\\+~#=@]+)?(\\/[^@\\s]*)?(?:\\?([^*\\s]+(?:\\*?)))?)|(\\*|[\\w%._\\-\\+~#=@]+\\.[\\w%._\\-\\+~#=@]+)(?::(\\d{1,5}))?(\\/[^@\\s]*)?(?:\\?([^*\\s]+(?:\\*?)))?|(([a-zA-Z][a-zA-Z0-9+.-]*):(\\/\\/)?\\*))$ \nUpdate requires: No interruption" + }, + "maxItems": 20, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ConfidenceLevel": { + "type": "number", + "maximum": 3, + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "required": [ + "RedactionPlaceHolder" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RedactionPlaceHolder": { + "type": "object", + "properties": { + "RedactionPlaceHolderType": { + "$ref": "#/definitions/RedactionPlaceHolderType" + }, + "RedactionPlaceHolderText": { + "type": "string", + "maxLength": 20, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 20 \nPattern: ^[*_\\-\\d\\w]+$ \nUpdate requires: No interruption" + } + }, + "required": [ + "RedactionPlaceHolderType" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RedactionPlaceHolderType": { + "type": "string", + "enum": [ + "CustomText" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CustomText \nUpdate requires: No interruption" + }, + "Tag": { + "type": "object", + "properties": { + "Key": { + "type": "string", + "maxLength": 128, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$ \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "AdditionalEncryptionContext": { + "$ref": "#/definitions/EncryptionContextMap" + }, + "CustomerManagedKey": { + "type": "string", + "maxLength": 2048, + "minLength": 20, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$ \nUpdate requires: Replacement" + }, + "Description": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^[ _\\-\\d\\w]+$ \nUpdate requires: No interruption" + }, + "DisplayName": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[ _\\-\\d\\w]+$ \nUpdate requires: No interruption" + }, + "InlineRedactionConfiguration": { + "$ref": "#/definitions/InlineRedactionConfiguration" + }, + "Tags": { + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "readOnlyProperties": [ + "/properties/AssociatedPortalArns", + "/properties/CreationDate", + "/properties/DataProtectionSettingsArn" + ], + "createOnlyProperties": [ + "/properties/AdditionalEncryptionContext", + "/properties/CustomerManagedKey" + ], + "primaryIdentifier": [ + "/properties/DataProtectionSettingsArn" + ], + "handlers": { + "create": { + "permissions": [ + "workspaces-web:CreateDataProtectionSettings", + "workspaces-web:GetDataProtectionSettings", + "workspaces-web:ListDataProtectionSettings", + "workspaces-web:ListTagsForResource", + "workspaces-web:TagResource", + "kms:DescribeKey", + "kms:GenerateDataKey", + "kms:Decrypt", + "kms:GenerateDataKeyWithoutPlaintext", + "kms:ReEncryptTo", + "kms:ReEncryptFrom" + ] + }, + "read": { + "permissions": [ + "workspaces-web:GetDataProtectionSettings", + "workspaces-web:ListDataProtectionSettings", + "workspaces-web:ListTagsForResource", + "kms:DescribeKey", + "kms:GenerateDataKey", + "kms:Decrypt" + ] + }, + "update": { + "permissions": [ + "workspaces-web:UpdateDataProtectionSettings", + "workspaces-web:GetDataProtectionSettings", + "workspaces-web:ListDataProtectionSettings", + "workspaces-web:TagResource", + "workspaces-web:UntagResource", + "workspaces-web:ListTagsForResource", + "kms:DescribeKey", + "kms:GenerateDataKey", + "kms:Decrypt" + ] + }, + "delete": { + "permissions": [ + "workspaces-web:GetDataProtectionSettings", + "workspaces-web:ListDataProtectionSettings", + "workspaces-web:DeleteDataProtectionSettings", + "kms:DescribeKey", + "kms:GenerateDataKey", + "kms:Decrypt" + ] + }, + "list": { + "permissions": [ + "workspaces-web:ListDataProtectionSettings", + "kms:Decrypt", + "kms:DescribeKey" + ] + } + }, + "tagging": { + "cloudFormationSystemTags": false, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true, + "permissions": [ + "workspaces-web:UntagResource", + "workspaces-web:ListTagsForResource", + "workspaces-web:TagResource" + ] + }, + "additionalProperties": false, + "attributes": { + "AssociatedPortalArns": { + "type": "array", + "items": { + "type": "string", + "maxLength": 2048, + "minLength": 20, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$ \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "CreationDate": { + "type": "string", + "format": "date-time", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "DataProtectionSettingsArn": { + "type": "string", + "maxLength": 2048, + "minLength": 20, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-workspacesweb-portal.json b/server/schema/resources/aws-workspacesweb-portal.json index afff0e61..da4b4441 100644 --- a/server/schema/resources/aws-workspacesweb-portal.json +++ b/server/schema/resources/aws-workspacesweb-portal.json @@ -98,6 +98,12 @@ "minLength": 20, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$ \nUpdate requires: Replacement" }, + "DataProtectionSettingsArn": { + "type": "string", + "maxLength": 2048, + "minLength": 20, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$ \nUpdate requires: No interruption" + }, "DisplayName": { "type": "string", "maxLength": 64, @@ -175,15 +181,15 @@ "create": { "permissions": [ "workspaces-web:CreatePortal", - "workspaces-web:GetPortal", - "workspaces-web:GetPortalServiceProviderMetadata", + "workspaces-web:GetPortal*", "workspaces-web:AssociateBrowserSettings", "workspaces-web:AssociateIpAccessSettings", "workspaces-web:AssociateNetworkSettings", "workspaces-web:AssociateTrustStore", "workspaces-web:AssociateUserAccessLoggingSettings", "workspaces-web:AssociateUserSettings", - "workspaces-web:ListTagsForResource", + "workspaces-web:AssociateDataProtectionSettings", + "workspaces-web:List*", "workspaces-web:TagResource", "kms:DescribeKey", "kms:GenerateDataKey", @@ -198,24 +204,22 @@ "ec2:ModifyNetworkInterfaceAttribute", "kinesis:PutRecord", "kinesis:PutRecords", - "kinesis:DescribeStreamSummary", + "kinesis:Describe*", "sso:CreateManagedApplicationInstance", - "sso:DescribeRegisteredRegions" + "sso:Describe*" ] }, "read": { "permissions": [ - "workspaces-web:GetPortal", - "workspaces-web:GetPortalServiceProviderMetadata", - "workspaces-web:ListTagsForResource", + "workspaces-web:GetPortal*", + "workspaces-web:List*", "kms:Decrypt", "kms:DescribeKey" ] }, "update": { "permissions": [ - "workspaces-web:GetPortal", - "workspaces-web:GetPortalServiceProviderMetadata", + "workspaces-web:GetPortal*", "workspaces-web:UpdatePortal", "workspaces-web:AssociateBrowserSettings", "workspaces-web:AssociateIpAccessSettings", @@ -223,13 +227,15 @@ "workspaces-web:AssociateTrustStore", "workspaces-web:AssociateUserAccessLoggingSettings", "workspaces-web:AssociateUserSettings", + "workspaces-web:AssociateDataProtectionSettings", "workspaces-web:DisassociateBrowserSettings", "workspaces-web:DisassociateIpAccessSettings", "workspaces-web:DisassociateNetworkSettings", "workspaces-web:DisassociateTrustStore", "workspaces-web:DisassociateUserAccessLoggingSettings", "workspaces-web:DisassociateUserSettings", - "workspaces-web:ListTagsForResource", + "workspaces-web:DisassociateDataProtectionSettings", + "workspaces-web:List*", "workspaces-web:TagResource", "workspaces-web:UntagResource", "kms:CreateGrant", @@ -244,17 +250,17 @@ "ec2:ModifyNetworkInterfaceAttribute", "kinesis:PutRecord", "kinesis:PutRecords", - "kinesis:DescribeStreamSummary", + "kinesis:Describe*", "sso:CreateManagedApplicationInstance", "sso:DeleteManagedApplicationInstance", - "sso:DescribeRegisteredRegions", + "sso:Describe*", "sso:GetApplicationInstance", - "sso:ListApplicationInstances" + "sso:List*" ] }, "delete": { "permissions": [ - "workspaces-web:GetPortal", + "workspaces-web:GetPortal*", "workspaces-web:DeletePortal", "workspaces-web:DisassociateBrowserSettings", "workspaces-web:DisassociateIpAccessSettings", @@ -262,6 +268,7 @@ "workspaces-web:DisassociateTrustStore", "workspaces-web:DisassociateUserAccessLoggingSettings", "workspaces-web:DisassociateUserSettings", + "workspaces-web:DisassociateDataProtectionSettings", "kms:Decrypt", "kms:DescribeKey", "sso:DeleteManagedApplicationInstance" @@ -269,7 +276,7 @@ }, "list": { "permissions": [ - "workspaces-web:ListPortals", + "workspaces-web:List*", "kms:Decrypt", "kms:DescribeKey" ] @@ -283,7 +290,7 @@ "taggable": true, "permissions": [ "workspaces-web:UntagResource", - "workspaces-web:ListTagsForResource", + "workspaces-web:List*", "workspaces-web:TagResource" ] },